JG-mirror/Grafana-Monitoring/docker-compose.yaml

110 lines
3.7 KiB
YAML
Raw Normal View History

2023-09-20 21:34:29 +00:00
version: "3"
services:
loki:
container_name: loki
image: grafana/loki:main
networks:
- grafana-monitoring
volumes:
- /home/ubuntu/docker/grafana-monitoring/loki:/etc/loki
ports:
- "3100:3100"
restart: unless-stopped
command: -config.file=/etc/loki/loki-config.yml
promtail:
container_name: promtail
image: grafana/promtail:main
networks:
- grafana-monitoring
volumes:
- /var/log:/var/log
- /home/ubuntu/docker/grafana-monitoring/promtail:/etc/promtail
ports:
- "1514:1514" # this is only needed if you are going to send syslogs
restart: unless-stopped
command: -config.file=/etc/promtail/promtail-config.yml
grafana:
container_name: grafana
image: grafana/grafana-oss:main-ubuntu
user: "0"
networks:
- grafana-monitoring
- proxy
volumes:
- /home/ubuntu/docker/grafana-monitoring/grafana:/var/lib/grafana
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.grafana.entrypoints=http"
- "traefik.http.routers.grafana.rule=Host(`grafana.jimsgarage.co.uk`)"
- "traefik.http.routers.grafana.middlewares=default-whitelist@file"
- "traefik.http.middlewares.grafana-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.grafana.middlewares=grafana-https-redirect"
- "traefik.http.routers.grafana-secure.entrypoints=https"
- "traefik.http.routers.grafana-secure.rule=Host(`grafana.jimsgarage.co.uk`)"
- "traefik.http.routers.grafana-secure.tls=true"
- "traefik.http.routers.grafana-secure.service=grafana"
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
- "traefik.docker.network=proxy"
influxdb:
container_name: influxdb
image: influxdb:latest
restart: unless-stopped
ports:
- 8086:8086
- 8089:8089/udp
networks:
- grafana-monitoring
volumes:
- /home/ubuntu/docker/grafana-monitoring/influxdb:/var/lib/influxdb2
telegraf:
container_name: telegraf
restart: unless-stopped
user: telegraf:995 #you need to find the GID of Docker if not added to Sudo group
networks:
- grafana-monitoring
volumes:
- '/home/ubuntu/docker/grafana-monitoring/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro'
- '/:/hostfs:ro' # to monitor docker-vm
- '/var/run/docker.sock:/var/run/docker.sock' # to monitor docker containers
- '/home/ubuntu/docker/grafana-monitoring/telegraf/mibs:/usr/share/snmp/mibs' # mibs files [e.g., sophos]
environment:
- HOST_ETC=/hostfs/etc
- HOST_PROC=/hostfs/proc
- HOST_SYS=/hostfs/sys
- HOST_VAR=/hostfs/var
- HOST_RUN=/hostfs/run
- HOST_MOUNT_PREFIX=/hostfs
image: telegraf:latest
graphite:
image: graphiteapp/graphite-statsd
container_name: graphite
restart: unless-stopped
ports:
- 8050:80 # nginx
- 2003-2004 # carbon receiver - plaintext & pickle
- 2023-2024 # carbon aggregator - plaintext & pickle
- 8125:8125/udp # statsd
- 8126:8126 # statsd admin
volumes:
- /home/ubuntu/docker/grafana-monitoring/graphite/configs:/opt/graphite/conf
- /home/ubuntu/docker/grafana-monitoring/graphite/data:/opt/graphite/storage
- /home/ubuntu/docker/grafana-monitoring/graphite/statsd_config:/opt/statsd/config
networks:
- grafana-monitoring
prometheus:
image: prom/prometheus
container_name: prometheus
restart: unless-stopped
ports:
- 9090:9090
volumes:
- /home/ubuntu/docker/grafana-monitoring/prometheus/config/prometheus.yml:/etc/prometheus/prometheus.yml
networks:
- grafana-monitoring
networks:
grafana-monitoring:
proxy:
external: true