server: http_listen_port: 9080 grpc_listen_port: 0 positions: filename: /tmp/positions.yaml clients: - url: http://loki:3100/loki/api/v1/push scrape_configs: # 采集你的 AI API JSON 日志文件 - job_name: ai-api-json static_configs: - targets: - localhost labels: job: ai-api __path__: /var/log/ai-api/*.json # 指向挂载的日志目录 pipeline_stages: - json: expressions: token: token endpoint: endpoint user_id: user_id response_code: response_code latency_ms: latency_ms model: model - labels: token: endpoint: user_id: response_code: model: # 可选:过滤错误日志(只保留 response_code >= 400) # - drop: # expression: "response_code < 400" # 可选:添加时间戳(如果日志没有 timestamp 字段) # - timestamp: # source: timestamp # format: RFC3339 # 可选:如果你用 Docker 容器输出日志,也可以采集容器日志 # - job_name: docker-containers # docker_sd_configs: # - host: unix:///var/run/docker.sock # refresh_interval: 5s # relabel_configs: # - source_labels: [__meta_docker_container_name] # regex: /(.+) # target_label: container_name # - source_labels: [__meta_docker_container_label_com_docker_compose_service] # target_label: service # pipeline_stages: # - json: # expressions: # level: level # msg: msg # - labels: # level: # service: