fischerX/infra/monitoring/docker-compose.yml

128 lines
3.0 KiB
YAML

version: '3.8'
services:
prometheus:
image: prom/prometheus:v2.48.0
container_name: fischerx-prometheus
restart: unless-stopped
ports:
- "9090:9090"
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
- ./prometheus/rules:/etc/prometheus/rules
- prometheus-data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.enable-lifecycle'
networks:
- monitoring
depends_on:
- alertmanager
alertmanager:
image: prom/alertmanager:v0.26.0
container_name: fischerx-alertmanager
restart: unless-stopped
ports:
- "9093:9093"
volumes:
- ./alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml
- alertmanager-data:/data
command:
- '--config.file=/etc/alertmanager/alertmanager.yml'
- '--storage.path=/data'
networks:
- monitoring
grafana:
image: grafana/grafana:10.2.0
container_name: fischerx-grafana
restart: unless-stopped
ports:
- "3001:3000"
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=fischerx123
- GF_USERS_ALLOW_SIGN_UP=false
- GF_INSTALL_PLUGINS=grafana-piechart-panel,grafana-worldmap-panel
volumes:
- ./grafana/provisioning:/etc/grafana/provisioning
- ./grafana/dashboards:/var/lib/grafana/dashboards
- grafana-data:/var/lib/grafana
networks:
- monitoring
depends_on:
- prometheus
- loki
loki:
image: grafana/loki:2.9.0
container_name: fischerx-loki
restart: unless-stopped
ports:
- "3100:3100"
volumes:
- ./loki/loki-config.yml:/etc/loki/local-config.yaml
- loki-data:/loki
command: -config.file=/etc/loki/local-config.yaml
networks:
- monitoring
promtail:
image: grafana/promtail:2.9.0
container_name: fischerx-promtail
restart: unless-stopped
volumes:
- ./promtail/promtail-config.yml:/etc/promtail/config.yml
- /var/log:/var/log:ro
- /var/lib/docker/containers:/var/lib/docker/containers:ro
command: -config.file=/etc/promtail/config.yml
networks:
- monitoring
depends_on:
- loki
jaeger:
image: jaegertracing/all-in-one:1.51
container_name: fischerx-jaeger
restart: unless-stopped
ports:
- "16686:16686"
- "4317:4317"
- "4318:4318"
environment:
- COLLECTOR_OTLP_ENABLED=true
volumes:
- jaeger-data:/tmp
networks:
- monitoring
node-exporter:
image: prom/node-exporter:v1.7.0
container_name: fischerx-node-exporter
restart: unless-stopped
ports:
- "9100:9100"
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
- '--path.rootfs=/rootfs'
networks:
- monitoring
volumes:
prometheus-data:
alertmanager-data:
grafana-data:
loki-data:
jaeger-data:
networks:
monitoring:
driver: bridge