version: '3.9' services: prometheus: image: prom/prometheus:latest container_name: prometheus hostname: prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' ports: - 9090:9090 stdin_open: true tty: true restart: always environment: TZ: "Europe/Moscow" volumes: - ./prometheus/:/etc/prometheus/ - prom_data:/prometheus networks: default: ipv4_address: 172.28.0.101 grafana: image: grafana/grafana container_name: grafana ports: - 3000:3000 stdin_open: true tty: true restart: always environment: - GF_SECURITY_ADMIN_USER=admin - GF_SECURITY_ADMIN_PASSWORD=grafana volumes: - ./grafana:/etc/grafana/provisioning/datasources links: - prometheus networks: default: ipv4_address: 172.28.0.102 node_exporter: image: prom/node-exporter container_name: exporter hostname: exporter 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)($$|/) pid: host environment: TZ: "Europe/Moscow" restart: always volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro ports: - "9100:9100" networks: default: ipv4_address: 172.28.0.103 alertmanager: image: prom/alertmanager:latest container_name: alertmanager hostname: alertmanager ports: - 9093:9093 volumes: - ./alertmanager/:/etc/alertmanager/ - alertmanager-data:/data restart: always command: - '--config.file=/etc/alertmanager/alertmanager.yml' - '--storage.path=/alertmanager' networks: default: ipv4_address: 172.28.0.104 networks: default: ipam: driver: default config: - subnet: 172.28.0.0/16 volumes: prom_data: alertmanager-data: