diff --git a/prometheus/compose.yaml b/prometheus/compose.yaml new file mode 100644 index 0000000..7cef908 --- /dev/null +++ b/prometheus/compose.yaml @@ -0,0 +1,110 @@ +networks: + frontend: + backend: + +services: + prometheus: + image: prom/prometheus + volumes: + - /mnt/appdata/prometheus/config/:/etc/prometheus/ + - /mnt/appdata/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 +# - pushgateway:pushgateway + depends_on: + - cadvisor +# - pushgateway + networks: + - backend + restart: always +# deploy: +# placement: +# constraints: +# - node.hostname == ${HOSTNAME} + + node-exporter: + image: quay.io/prometheus/node-exporter:latest + volumes: + - /proc:/host/proc:ro + - /sys:/host/sys:ro + - /:/rootfs:ro + - /:/host:ro,rslave + command: + - '--path.rootfs=/host' + - '--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: + - backend + restart: always + deploy: + mode: global + + alertmanager: + image: prom/alertmanager + ports: + - 9093:9093 + volumes: + - /mnt/appdata/prometheus/alertmanager/:/etc/alertmanager/ + networks: + - backend + 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: + - backend + restart: always + deploy: + mode: global + + grafana: + image: grafana/grafana + user: "472" + depends_on: + - prometheus + ports: + - 3000:3000 + volumes: + - grafana_data:/var/lib/grafana + - ./grafana/provisioning/:/etc/grafana/provisioning/ + env_file: + - ./grafana/config.monitoring + networks: + - backend + - frontend + restart: always + +# pushgateway: +# image: prom/pushgateway +# restart: always +# expose: +# - 9091 +# ports: +# - "9091:9091" +# networks: +# - backend \ No newline at end of file