Add OpenTelemetry tracing and log export via OTLP

Shared telemetry init module in compliance-core (behind `telemetry` feature)
sets up OTLP/gRPC export for traces and logs when OTEL_EXPORTER_OTLP_ENDPOINT
is set. Falls back to console-only output when unset.

Both agent and dashboard now use the shared init. Docker Compose includes
an OTel Collector service with a config template for SigNoz, Grafana
Tempo/Loki, Jaeger, etc.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Sharang Parnerkar
2026-03-08 00:21:06 +01:00
committed by Sharang Parnerkar
parent 0cb06d3d6d
commit c61497420a
10 changed files with 452 additions and 17 deletions

View File

@@ -0,0 +1,52 @@
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
processors:
batch:
timeout: 5s
send_batch_size: 1024
exporters:
# Log to stdout for debugging
debug:
verbosity: basic
# Configure your backend below. Examples:
#
# SigNoz:
# otlp/signoz:
# endpoint: "signoz-otel-collector:4317"
# tls:
# insecure: true
#
# Grafana Tempo (traces):
# otlp/tempo:
# endpoint: "tempo:4317"
# tls:
# insecure: true
#
# Grafana Loki (logs):
# loki:
# endpoint: "http://loki:3100/loki/api/v1/push"
#
# Jaeger:
# otlp/jaeger:
# endpoint: "jaeger:4317"
# tls:
# insecure: true
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [debug]
logs:
receivers: [otlp]
processors: [batch]
exporters: [debug]