Skip to content

Instantly share code, notes, and snippets.

@arathunku
Created March 17, 2024 08:01
Show Gist options
  • Save arathunku/1e3fedb11534138950fbf3f61c600062 to your computer and use it in GitHub Desktop.
Save arathunku/1e3fedb11534138950fbf3f61c600062 to your computer and use it in GitHub Desktop.
version: "2"
services:
# Jaeger
jaeger-all-in-one:
image: jaegertracing/all-in-one:1.55.0
restart: always
ports:
- "16686:16686"
- "14268"
- "14250"
otel-collector:
image: otel/opentelemetry-collector:0.96.0
restart: always
command: ["--config=/etc/otel-collector-config.yaml"]
environment:
HONEYCOMB_TEAM: "${HONEYCOMB_TEAM}"
volumes:
- ./otel-config.dev.yaml:/etc/otel-collector-config.yaml
ports:
- "1888:1888" # pprof extension
- "8888:8888" # Prometheus metrics exposed by the collector
- "8889:8889" # Prometheus exporter metrics
- "13133:13133" # health_check extension
- "4317:4317" # OTLP gRPC receiver
- "55679:55679" # zpages extension
depends_on:
- jaeger-all-in-one
prometheus:
image: prom/prometheus:v2.50.1
restart: always
volumes:
- ./prometheus.dev.yaml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
receivers:
otlp:
protocols:
grpc:
exporters:
prometheus:
endpoint: "0.0.0.0:8889"
# VERY HELPFUL LOG!
debug:
verbosity: detailed
otlp:
endpoint: jaeger-all-in-one:4317
tls:
insecure: true
otlp/honeycomb:
endpoint: "api.honeycomb.io:443" # US instance
headers:
"x-honeycomb-team": "${HONEYCOMB_TEAM}"
processors:
filter/ottl:
error_mode: ignore
traces:
span:
- 'IsMatch(attributes["http.target"], "/(assets|fonts|live|phoenix)/.*") == true'
- 'name == "Websocket"'
- 'name == "steady_volume.repo.query:schema_migrations"'
batch:
memory_limiter:
check_interval: 5s
limit_mib: 200
spike_limit_mib: 150
extensions:
health_check:
pprof:
endpoint: :1888
zpages:
endpoint: :55679
memory_ballast:
size_mib: 512
service:
extensions: [pprof, zpages, health_check, memory_ballast]
pipelines:
traces:
receivers: [otlp]
processors: [memory_limiter, filter/ottl, batch]
exporters: [debug, otlp]
# exporters: [debug, otlp, otlp/honeycomb]
metrics:
receivers: [otlp]
processors: [memory_limiter, filter/ottl, batch]
exporters: [debug, prometheus]
scrape_configs:
- job_name: "otel-collector"
scrape_interval: 10s
static_configs:
- targets: ["otel-collector:8889"]
- targets: ["otel-collector:8888"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment