环境基于了官方的docker-compose demo
version: "3"
services:
tempo:
image: grafana/tempo:latest
command:
- "-storage.trace.backend=local" # tell tempo where to permanently put traces
- "-storage.trace.local.path=/tmp/tempo/traces"
- "-storage.trace.wal.path=/tmp/tempo/wal" # tell tempo where to store the wal
- "-auth.enabled=false" # disables the requirement for the X-Scope-OrgID header
- "-server.http-listen-port=3100"
volumes:
- ./example-data/tempo:/tmp/tempo
ports:
- "14268" # jaeger ingest
logging:
driver: loki
options:
loki-url: ‘http://localhost:3100/api/prom/push‘
?
tempo-query:
image: grafana/tempo-query:latest
command: ["--grpc-storage-plugin.configuration-file=/etc/tempo-query.yaml"]
volumes:
- ./etc/tempo-query.yaml:/etc/tempo-query.yaml
ports:
- "16686:16686" # jaeger-ui
logging:
driver: loki
options:
loki-url: ‘http://localhost:3100/api/prom/push‘
minio:
image: minio/minio
environment:
- MINIO_ACCESS_KEY=tempo
- MINIO_SECRET_KEY=supersecret
command: minio server /data
ports:
- "9000:9000"
prometheus:
image: prom/prometheus:latest
volumes:
- ./etc/prometheus.yaml:/etc/prometheus.yaml
entrypoint:
- /bin/prometheus
- --config.file=/etc/prometheus.yaml
ports:
- "9090:9090"
logging:
driver: loki
options:
loki-url: ‘http://localhost:3100/api/prom/push‘
synthetic-load-generator:
image: omnition/synthetic-load-generator:1.0.25
volumes:
- ./etc/load-generator.json:/etc/load-generator.json
environment:
- TOPOLOGY_FILE=/etc/load-generator.json
- JAEGER_COLLECTOR_URL=http://tempo:14268
grafana:
image: grafana/grafana:7.3.6
volumes:
- ./example-data/datasources:/etc/grafana/provisioning/datasources
- ./example-data/dashboards-provisioning:/etc/grafana/provisioning/dashboard
ports:
- "3000:3000"
logging:
driver: loki
options:
loki-url: ‘http://localhost:3100/api/prom/push‘
loki:
image: grafana/loki:2.1.0
command: -config.file=/etc/loki/local-config.yaml
ports:
- "3100:3100"
environment:
- JAEGER_AGENT_HOST=tempo
- JAEGER_ENDPOINT=http://tempo:14268/api/traces # send traces to Tempo
- JAEGER_SAMPLER_TYPE=const
- JAEGER_SAMPLER_PARAM=1
logging:
driver: loki
options:
loki-url: ‘http://localhost:3100/api/prom/push‘
docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions
docker-compose up -
注意需要输入一个traceid,可以同loki 查找
grafana 的tempo 是一个很不错的工具,至少目前来看比使用jaeger的技术原生方案至少会简化好多,当然tempo 也是在巨人的肩
膀上成长的,grafana 的agent 也是一个很不错的工具,集成了log,metrics,trace,好处是保证了各种元数据的一致
https://github.com/rongfengliang/grafana-tempo-learning
https://github.com/grafana/tempo/tree/master/example/docker-compose
原文:https://www.cnblogs.com/rongfengliang/p/14242689.html