extensions: health_check: endpoint: 0.0.0.0:13133 file_storage: directory: /var/lib/otelcol/queue receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 prometheus: config: scrape_configs: - job_name: otel-collector scrape_interval: 30s static_configs: - targets: ["127.0.0.1:8888"] labels: service_name: otel-collector - job_name: redis-safety scrape_interval: 30s static_configs: - targets: ["redis-exporter:9121"] labels: service_name: redis - job_name: nginx scrape_interval: 30s static_configs: - targets: ["nginx-exporter:9113"] labels: service_name: nginx hostmetrics: root_path: /hostfs collection_interval: 30s scrapers: cpu: disk: filesystem: exclude_mount_points: mount_points: - /hostfs/(dev|proc|sys|run)($|/) match_type: regexp load: memory: network: paging: processes: processors: memory_limiter: check_interval: 1s limit_mib: 384 spike_limit_mib: 96 resource/vm2: attributes: - {key: service.namespace, value: han-chat, action: upsert} - {key: deployment.environment, value: "${env:APP_ENV}", action: upsert} - {key: service.version, value: "${env:RELEASE_VERSION}", action: upsert} attributes/redact: actions: - {key: http.request.header.authorization, action: delete} - {key: http.request.header.cookie, action: delete} - {key: url.query, action: delete} - {key: url.full, action: delete} - {key: http.target, action: delete} - {key: http.request.body, action: delete} - {key: http.response.body, action: delete} - {key: db.statement, action: delete} - {key: db.query.text, action: delete} - {key: enduser.id, action: delete} - {key: user.phone, action: delete} - {key: user.email, action: delete} - {key: messaging.message.body, action: delete} - {key: aws.s3.key, action: delete} - {key: s3.object.key, action: delete} filter/noise: error_mode: ignore traces: span: - 'attributes["http.route"] == "/health/live"' - 'attributes["http.route"] == "/nginx-health/live"' logs: log_record: - 'severity_number < SEVERITY_NUMBER_INFO' tail_sampling: decision_wait: 10s num_traces: 10000 expected_new_traces_per_sec: 50 policies: - name: errors type: status_code status_code: status_codes: [ERROR] - name: slow type: latency latency: threshold_ms: 1000 - name: baseline type: probabilistic probabilistic: sampling_percentage: 10 batch: timeout: 5s send_batch_size: 1024 send_batch_max_size: 2048 exporters: otlp/remote: endpoint: "${env:OTEL_REMOTE_ENDPOINT}" tls: insecure: "${env:OTEL_REMOTE_TLS_INSECURE}" sending_queue: enabled: true storage: file_storage queue_size: 10000 retry_on_failure: enabled: true initial_interval: 5s max_interval: 30s max_elapsed_time: 0s service: extensions: [health_check, file_storage] pipelines: traces: receivers: [otlp] processors: [memory_limiter, resource/vm2, attributes/redact, filter/noise, tail_sampling, batch] exporters: [otlp/remote] metrics: receivers: [otlp, prometheus, hostmetrics] processors: [memory_limiter, resource/vm2, attributes/redact, batch] exporters: [otlp/remote] logs: receivers: [otlp] processors: [memory_limiter, resource/vm2, attributes/redact, filter/noise, batch] exporters: [otlp/remote] telemetry: metrics: address: 0.0.0.0:8888