version: '3.1' volumes: prometheus_data: {} grafana_data: {} prometheus_config_data: {} alertmanager_config_data: {} networks: front-tier: back-tier: services: prometheus: image: prom/prometheus:v2.0.0 volumes: - prometheus_config_data:/etc/prometheus/ - prometheus_data:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--web.console.libraries=/usr/share/prometheus/console_libraries' - '--web.console.templates=/usr/share/prometheus/consoles' ports: - 9090:9090 links: - cadvisor:cadvisor - alertmanager:alertmanager depends_on: - cadvisor networks: - back-tier restart: always deploy: placement: constraints: - node.hostname == ${HOSTNAME} node-exporter: image: prom/node-exporter volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: - '--path.procfs=/host/proc' - '--path.sysfs=/host/sys' - --collector.filesystem.ignored-mount-points - "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)" ports: - 9100:9100 networks: - back-tier restart: always deploy: mode: global alertmanager: image: prom/alertmanager ports: - 9093:9093 volumes: - alertmanager_config_data:/etc/alertmanager/ networks: - back-tier restart: always command: - "--config.file=/etc/alertmanager/config.yml" - '--storage.path=/alertmanager' deploy: placement: constraints: - node.hostname == ${HOSTNAME} cadvisor: image: gcr.io/cadvisor/cadvisor volumes: - /:/rootfs:ro - /var/run:/var/run:rw - /sys:/sys:ro - /var/lib/docker/:/var/lib/docker:ro ports: - 8080:8080 networks: - back-tier restart: always deploy: mode: global source: image: containerize/git environment: - REPO_LOCAL=/data/git/repos/prometheus - REPO_BRANCH=version-2 - REPO_REMOTE=https://github.com/vegasbrianc/prometheus.git tty: true volumes: - prometheus_config_data:/data/git/repos/prometheus/prometheus - alertmanager_config_data:/data/git/repos/prometheus/alertmanager grafana: image: grafana/grafana depends_on: - prometheus ports: - 3000:3000 volumes: - grafana_data:/var/lib/grafana - ./grafana/provisioning/:/etc/grafana/provisioning/ environment: - GF_SECURITY_ADMIN_PASSWORD=foobar - GF_USERS_ALLOW_SIGN_UP=false networks: - back-tier - front-tier