personal-lifecycle-tracker / observability / otel-collector-config.yaml
otel-collector-config.yaml
Raw
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318
        cors:
          allowed_origins:
            - "http://localhost:3000"
            - "http://localhost:3001"
            - "http://localhost:3003"
            - "http://localhost:3004"
            - "http://localhost:8000"
            - "http://localhost:8003"
            - "http://localhost:8088"
            - "http://127.0.0.1:3000"
            - "http://127.0.0.1:3003"
            - "http://127.0.0.1:3004"
            - "http://127.0.0.1:8003"
            - "http://127.0.0.1:8088"
          allowed_headers: ["*"]

processors:
  memory_limiter:
    check_interval: 1s
    limit_percentage: 75
    spike_limit_percentage: 20
  batch:
    timeout: 1s
    send_batch_size: 256

exporters:
  otlp/tempo:
    endpoint: "tempo:4317"
    tls:
      insecure: true
  prometheus:
    endpoint: "0.0.0.0:8889"
    namespace: "app"
    resource_to_telemetry_conversion:
      enabled: true
  loki:
    endpoint: "http://loki:3100/loki/api/v1/push"
  debug:
    verbosity: detailed

service:
  telemetry:
    logs:
      level: "info"
    metrics:
      address: "0.0.0.0:8888" # Scraped internally by Prometheus via observability-net
  pipelines:
    traces:
      receivers: [otlp]
      processors: [memory_limiter, batch]
      exporters: [otlp/tempo, debug]
    metrics:
      receivers: [otlp]
      processors: [memory_limiter, batch]
      exporters: [prometheus, debug]
    logs:
      receivers: [otlp]
      processors: [memory_limiter, batch]
      exporters: [loki, debug]