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.
docker-grafana/docker-compose.yml

156 lines
3.6 KiB

3 years ago
version: '3'
services:
grafana:
#image: grafana/grafana:master
build:
context: grafana/.
container_name: grafana
expose:
- 3000
volumes:
- ./volumes/grafana:/srv/grafana
environment:
- TZ=Europe/Berlin
env_file:
- grafana.env
labels:
org.label-schema.group: "monitoring"
networks:
- default
- monitor-net
prometheus:
image: prom/prometheus:latest
container_name: prometheus
expose:
- 9090
volumes:
- ./volumes/prometheus:/srv/prometheus
env_file:
- prometheus.env
command: [
"--config.file=/srv/prometheus/config/prometheus.yml",
"--log.level=debug",
#"--storage.tsdb.path=/srv/prometheus/data",
"--storage.tsdb.retention=1h",
"--web.console.libraries=/srv/prometheus/console_libraries",
"--web.console.templates=/srv/prometheus/consoles",
"--web.enable-admin-api",
"--web.enable-lifecycle"
]
labels:
org.label-schema.group: "monitoring"
networks:
- default
- monitor-net
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker:/var/lib/docker:ro
- /dev/disk/:/dev/disk:ro
- /cgroup:/cgroup:ro #doesn't work on MacOS only for Linux
restart: unless-stopped
command: ["-logtostderr", "-docker_only", "-v=4"]
networks:
- monitor-net
expose:
- 8080
labels:
org.label-schema.group: "monitoring"
nodeexporter:
image: prom/node-exporter:latest
container_name: nodeexporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.rootfs=/rootfs'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
restart: unless-stopped
expose:
- 9100
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
pushgateway:
image: prom/pushgateway:v1.4.1
container_name: pushgateway
restart: unless-stopped
expose:
- 9091
networks:
- default
- monitor-net
labels:
org.label-schema.group: "monitoring"
influxdb:
image: influxdb:1.8
#build:
# context: influxdb/.
container_name: influxdb
restart: unless-stopped
volumes:
- ./volumes/influxdb/data:/var/lib/influxdb2
- ./volumes/influxdb/config:/etc/influxdb2
- ./influxdb/types.2.db:/usr/share/collectd/types.db
# - ./volumes/influxdb:/srv/influxdb2
# - ./influxdb/root/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
# - ./volumes/influxdb/scripts:/docker-entrypoint-initdb.d
expose:
- 8086
ports:
- 25826:25826/udp
networks:
- default
- monitor-net
labels:
org.label-schema.group: "monitoring"
env_file:
- influxdb.env
collectd-fritzbox:
build:
context: collectd/.
container_name: collectd-fritzbox
env_file:
- collectd.env
labels:
org.label-schema.group: "monitoring"
graphite:
image: graphiteapp/graphite-statsd:latest
container_name: graphite
expose:
- 80
- 2003
- 8125
volumes:
- ./volumes/graphite/storage:/opt/graphite/storage
environment:
- COLLECTD=0
- GRAPHITE_DEBUG=1
- REDIS_TAGDB=1
- BRUBECK=1
- VIRTUAL_HOST=graphite.server.lan
- VIRTUAL_PORT=80
networks:
default:
external:
name: ${NETWORK:-webservices}
monitor-net:
internal: true