You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

178 lines
4.3 KiB

version: '3.8'
services:
prometheus:
image: prom/prometheus
container_name: prometheus
restart: unless-stopped
ports:
- "9090:9090"
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
- ./prometheus/alert.rules.yml:/etc/prometheus/alert.rules.yml
networks:
- monitoring
- gk.internal
grafana:
image: grafana/grafana
container_name: grafana
restart: unless-stopped
ports:
- "3000:3000"
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=1qaz2wsxA@
- GF_SERVER_ROOT_URL=https://monitor.sundayenglish.com
volumes:
- grafana-data:/var/lib/grafana
networks:
- monitoring
- gk.internal
node-exporter:
image: prom/node-exporter
container_name: node-exporter
restart: unless-stopped
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
- gk.internal
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
networks:
- monitoring
- gk.internal
alertmanager:
image: prom/alertmanager
container_name: alertmanager
restart: unless-stopped
ports:
- "9093:9093"
volumes:
- ./alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml
networks:
- monitoring
- gk.internal
loki:
image: grafana/loki:main
container_name: loki
restart: unless-stopped
user: "1000:1000"
ports:
- "3100:3100"
command: -config.file=/etc/loki/local-config.yaml -target=all
volumes:
- ./loki/loki-config.yaml:/etc/loki/local-config.yaml
- ./loki-data:/loki
networks:
- monitoring
- gk.internal
promtail:
image: grafana/promtail:2.9.4
container_name: promtail
restart: unless-stopped
volumes:
- /var/log:/var/log
- /etc/machine-id:/etc/machine-id:ro
- /var/lib/docker/containers:/var/lib/docker/containers:ro
- ./promtail/promtail.yaml:/etc/promtail/promtail.yaml
networks:
- monitoring
- gk.internal
tempo:
image: grafana/tempo:2.4.1
container_name: tempo
restart: unless-stopped
command: ["-config.file=/etc/tempo/tempo.yaml"]
volumes:
- ./tempo/tempo.yaml:/etc/tempo/tempo.yaml
- ./tempo/overrides.yaml:/etc/tempo/overrides.yaml
- ./tempo-data:/var/tempo
ports:
- "3200:3200"
- "4317:4317"
- "4318:4318"
networks:
- monitoring
- gk.internal
otel-collector:
image: otel/opentelemetry-collector-contrib:latest
container_name: otel-collector
restart: unless-stopped
command: [ "--config=/etc/otel-collector.yaml" ]
volumes:
- ./otel-collector/otel-collector.yaml:/etc/otel-collector.yaml
networks:
- monitoring
- gk.internal
hotrod:
image: jaegertracing/example-hotrod:latest
container_name: hotrod
restart: unless-stopped
depends_on:
- otel-collector
environment:
- OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318
- OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
ports:
- "18081:8080"
networks:
- monitoring
- gk.internal
nginx-exporter:
image: nginx/nginx-prometheus-exporter:latest
container_name: nginx-exporter
restart: unless-stopped
command:
- "-nginx.scrape-uri=http://nginx:80/stub_status"
ports:
- "9113:9113"
networks:
- monitoring
- gk.internal
haproxy-exporter:
image: prom/haproxy-exporter:v0.13.0
container_name: haproxy-exporter
restart: unless-stopped
ports:
- "9101:9101"
command:
- --haproxy.scrape-uri=http://admin:admin123@45.119.213.171:8404/stats;csv
networks:
- monitoring
- gk.internal
volumes:
grafana-data:
networks:
monitoring:
driver: bridge
gk.internal:
external: true