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.

166 lines
4.0 KiB

version: '2.2'
networks:
monitor-net:
driver: bridge
volumes:
prometheus_data: {}
grafana_data: {}
db_data: {}
services:
prometheus:
image: prom/prometheus:v2.22.1
container_name: prometheus
volumes:
- ./prometheus:/etc/prometheus
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/etc/prometheus/console_libraries'
- '--web.console.templates=/etc/prometheus/consoles'
- '--storage.tsdb.retention.time=14d'
- '--web.enable-lifecycle'
restart: unless-stopped
# expose:
# - 9090
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
alertmanager:
image: prom/alertmanager:v0.21.0
container_name: alertmanager
volumes:
- ./alertmanager:/etc/alertmanager
command:
- '--config.file=/etc/alertmanager/config.yml'
- '--storage.path=/alertmanager'
restart: unless-stopped
# expose:
# - 9093
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
grafana:
image: grafana/grafana:7.3.1
container_name: grafana
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/provisioning:/etc/grafana/provisioning
environment:
- GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin}
- GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin}
- GF_USERS_ALLOW_SIGN_UP=false
- GF_RENDERING_SERVER_URL=http://grafana-image-renderer:8081/render
- GF_RENDERING_CALLBACK_URL=http://grafana:3000/
- GF_LOG_FILTERS='rendering:debug'
restart: unless-stopped
expose:
- 3001
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
# alertmanager_notifier:
# image: ixdotai/alertmanager-notifier:latest
# container_name: alertmanager-notifier
# ports:
# - "8899:8899"
# environment:
# - TELEGRAM_TOKEN="1476293190:AAHIHOyZ7Zyf2V-jrEgWELy0XlWHz_7mk48"
# - TELEGRAM_CHAT_ID="-1001462755835"
# - EXCLUDE_LABELS="yes"
# restart: unless-stopped
# networks:
# - monitor-net
# labels:
# org.label-schema.group: "monitoring"
grafana-image-renderer:
image: grafana/grafana-image-renderer:latest
container_name: grafana-image-renderer
expose:
- 8081
environment:
- ENABLE_METRICS=true
- HTTP_HOST=grafana-image-renderer
- LOG_LEVEL=debug
restart: unless-stopped
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
db:
image: mysql:8
container_name: db
# cpus: 4.0
cap_add:
- SYS_NICE
volumes:
- db_data:/var/lib/mysql
- ./shared:/shared
restart: always
environment:
MYSQL_ROOT_PASSWORD: verysecret
MYSQL_DATABASE: digimode_stats
MYSQL_USER: stationmonitor
MYSQL_PASSWORD: secret
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
mysqld-exporter:
image: prom/mysqld-exporter
container_name: mysqld-exporter
restart: always
environment:
- DATA_SOURCE_NAME=root:verysecret@(db:3306)/digimode_stats
expose:
- 9104
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
wsjtx_exporter:
image: localhost:5000/wsjtx-exporter:latest
container_name: wsjtx-exporter
expose:
- 2112
environment:
- PROMETHEUS=true
- MYSQL=true
- TRACE=true
restart: unless-stopped
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
pskreporter_exporter:
image: localhost:5000/pskreporter-exporter:latest
container_name: pskreporter-exporter
expose:
- 2112
environment:
- PROMETHEUS=true
- MYSQL=true
- TRACE=true
- STATION=DL3SD
restart: unless-stopped
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"