receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 # Scrape the Prometheus /metrics endpoints exposed by api and workers. prometheus: config: scrape_configs: - job_name: contract-check static_configs: - targets: - api:9100 - worker-extract:9101 - worker-analyze:9102 - worker-prescreen:9104 - worker-billing:9105 - worker-notify:9103 processors: batch: timeout: 1s send_batch_size: 1024 exporters: # Forward logs and traces to the OpenObserve OTLP/HTTP endpoint. otlphttp/openobserve: endpoint: http://openobserve:5080/api/default headers: Authorization: Basic ${env:OPENOBSERVE_AUTH_TOKEN} tls: insecure: true # OpenObserve metrics are ingested via Prometheus remote-write. prometheusremotewrite/openobserve: endpoint: http://openobserve:5080/api/default/prometheus/api/v1/write headers: Authorization: Basic ${env:OPENOBSERVE_AUTH_TOKEN} tls: insecure: true # Echo pipeline data to the collector's own logs (useful for debugging). debug: verbosity: detailed service: pipelines: traces: receivers: [otlp] processors: [batch] exporters: [otlphttp/openobserve] metrics: receivers: [otlp, prometheus] processors: [batch] exporters: [prometheusremotewrite/openobserve] logs: receivers: [otlp] processors: [batch] exporters: [otlphttp/openobserve] # Collector's own telemetry (optional, useful for debugging). telemetry: logs: level: info metrics: level: detailed