add tempo (tracing) to the stack

This commit is contained in:
Oliver 2024-08-15 15:39:11 -06:00
parent 285b437bde
commit 6241b70632
4 changed files with 32 additions and 9 deletions

2
.gitignore vendored
View File

@ -10,3 +10,5 @@
/qBittorrent/config/ /qBittorrent/config/
/qBittorrent/qbit-config/ /qBittorrent/qbit-config/
/Caddy/tempo-storage
/Caddy/grafana-storage

View File

@ -6,7 +6,7 @@
metrics metrics
} }
servers :80 { servers :3000 {
name grafana name grafana
metrics metrics
} }

View File

@ -4,26 +4,34 @@ services:
image: caddy:latest image: caddy:latest
restart: unless-stopped restart: unless-stopped
ports: ports:
- '80:80' - 80:80
- '443:443' - 443:443
- '443:443/udp' - '443:443/udp'
volumes: volumes:
- './Caddyfile:/etc/caddy/Caddyfile' - ./Caddyfile:/etc/caddy/Caddyfile
# log collector # log collector
prometheus: prometheus:
image: prom/prometheus:latest image: prom/prometheus:latest
volumes: volumes:
- './prometheus.yaml:/etc/prometheus/prometheus.yml' - ./prometheus.yaml:/etc/prometheus/prometheus.yml
depends_on: depends_on:
- caddy - caddy
# trace collector
tempo:
image: grafana/tempo:latest
command: [ "-config.file=/opt/tempo.yaml" ]
volumes:
- ./tempo.yaml:/opt/tempo.yaml
- ./tempo-storage/:/var/tempo
# log viewer # log viewer
grafana: grafana:
image: grafana/grafana:latest image: grafana/grafana:latest
volumes: volumes:
- './grafana.yaml:/etc/grafana/provisioning/datasources/datasources.yaml' - ./grafana.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
- './grafana-storage/:/var/lib/grafana' - ./grafana-storage/:/var/lib/grafana
environment: environment:
- GF_AUTH_ANONYMOUS_ENABLED=true - GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
@ -31,6 +39,5 @@ services:
- GF_FEATURE_TOGGLES_ENABLE=traceqlEditor - GF_FEATURE_TOGGLES_ENABLE=traceqlEditor
depends_on: depends_on:
- prometheus - prometheus
- tempo
volumes:
grafana-storage: {}

View File

@ -13,3 +13,17 @@ datasources:
editable: false editable: false
jsonData: jsonData:
httpMethod: GET httpMethod: GET
- name: Tempo
type: tempo
uid: tempo
access: proxy
orgId: 1
url: http://tempo:3200
basicAuth: false
isDefault: false
version: 1
editable: false
jsonData:
httpMethod: GET
serviceMap:
datasourceUid: 'prometheus'