Set up the OTel collector to gather and export metrics from containers
This commit is contained in:
@@ -32,3 +32,17 @@ aliases:
|
||||
console: app exec -i --reuse "bin/rails console"
|
||||
ssh: app exec -i --reuse /bin/bash
|
||||
switch: accessory exec beamer --reuse "beamer switch --primary=<%= ENV["PRIMARY"] %>"
|
||||
|
||||
accessories:
|
||||
otel_collector:
|
||||
image: otel/opentelemetry-collector-contrib:0.126.0
|
||||
port: 9394
|
||||
files:
|
||||
- config/otel_collector.yml:/etc/otelcol-contrib/config.yaml
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
options:
|
||||
user: 0
|
||||
roles:
|
||||
- web
|
||||
- jobs
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
receivers:
|
||||
prometheus:
|
||||
config:
|
||||
scrape_configs:
|
||||
- job_name: "kamal-containers"
|
||||
scrape_interval: 5s
|
||||
docker_sd_configs:
|
||||
- host: unix:///var/run/docker.sock
|
||||
refresh_interval: 10s
|
||||
relabel_configs:
|
||||
# Limit scraping to labeled containers with port 9394 exposed
|
||||
- source_labels: [__address__]
|
||||
regex: .*:9394
|
||||
action: keep
|
||||
- source_labels: [__meta_docker_container_name]
|
||||
regex: (/fizzy-(web|jobs)-.*|/kamal-proxy)
|
||||
action: keep
|
||||
|
||||
# Pull service and role from Kamal Docker labels
|
||||
- source_labels: [__meta_docker_container_label_service]
|
||||
target_label: service
|
||||
- source_labels: [__meta_docker_container_label_role]
|
||||
target_label: role
|
||||
|
||||
- source_labels: [__meta_docker_container_name]
|
||||
regex: ^/kamal-proxy$
|
||||
target_label: service
|
||||
replacement: kamal-proxy
|
||||
- source_labels: [__meta_docker_container_name]
|
||||
regex: ^/kamal-proxy$
|
||||
target_label: role
|
||||
replacement: proxy
|
||||
|
||||
exporters:
|
||||
prometheus:
|
||||
endpoint: 0.0.0.0:9394
|
||||
|
||||
service:
|
||||
telemetry:
|
||||
logs:
|
||||
level: "warn"
|
||||
pipelines:
|
||||
metrics:
|
||||
receivers: [prometheus]
|
||||
exporters: [prometheus]
|
||||
Reference in New Issue
Block a user