78 lines
1.8 KiB
YAML
78 lines
1.8 KiB
YAML
version: '3.7'
|
|
|
|
networks:
|
|
front-tier:
|
|
back-tier:
|
|
|
|
volumes:
|
|
prometheus_data: {}
|
|
grafana_data: {}
|
|
|
|
services:
|
|
|
|
zertoexporter:
|
|
image: recklessop/ea-exporter:latest
|
|
command: python python-node-exporter.py
|
|
ports:
|
|
- "9999:9999"
|
|
volumes:
|
|
- ./zvmexporter/:/usr/src/logs/
|
|
environment:
|
|
- VERIFY_SSL=False
|
|
- ZVM_HOST=192.168.50.60
|
|
- ZVM_PORT=443
|
|
- SCRAPE_SPEED=30 #how often should the exporter scrape the Zerto API
|
|
- CLIENT_ID=api-script
|
|
- CLIENT_SECRET=js51tDM8oappYUGRJBhF7bcsedNoHA5j
|
|
- LOGGING_LEVEL=INFO
|
|
networks:
|
|
- back-tier
|
|
restart: always
|
|
|
|
prometheus:
|
|
image: prom/prometheus:v2.40.6
|
|
volumes:
|
|
- ./prometheus/:/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
|
|
networks:
|
|
- back-tier
|
|
restart: always
|
|
depends_on:
|
|
- zertoexporter
|
|
|
|
grafana:
|
|
image: grafana/grafana
|
|
user: "472"
|
|
depends_on:
|
|
- prometheus
|
|
ports:
|
|
- 3000:3000
|
|
volumes:
|
|
- grafana_data:/var/lib/grafana
|
|
- ./grafana/provisioning/:/etc/grafana/provisioning/
|
|
environment:
|
|
- GF_SECURITY_ADMIN_PASSWORD=zertodata
|
|
- GF_USERS_ALLOW_SIGN_UP=false
|
|
- data-source-url=http://prometheus:9090
|
|
- name=Prometheus
|
|
- type=prometheus
|
|
- update-interval=10
|
|
networks:
|
|
- back-tier
|
|
- front-tier
|
|
restart: always
|
|
|
|
watchtower:
|
|
image: containrrr/watchtower
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
environment:
|
|
- WATCHTOWER_POLL_INTERVAL=3600 # 1 hour
|
|
restart: always |