Monitoring stack (fr1)
Prometheus + Grafana + node-exporter + cAdvisor. Живёт на fr1 в ~/monitoring, доступ — https://mon.ruzzy.dev.
Структура
docker-compose.yml— стек. Grafana пароль через${GF_ADMIN_PASSWORD}(.env, не в git).prometheus/prometheus.yml— scrape-конфиг, таргеты через file_sd.prometheus/targets/node/*.yml,prometheus/targets/cadvisor/*.yml— таргеты (по файлу на сервер).grafana/provisioning/— datasource (uidprometheus) + дашборды (Node Exporter Full, cAdvisor) как код.
Запуск
cd ~/monitoring
echo "GF_ADMIN_PASSWORD=<пароль>" > .env # один раз
docker compose up -d
Добавить новый сервер
На новом сервере поднять node-exporter (:9100) и cadvisor (:8080), доступные с fr1 (по приватному туннелю).
Затем на fr1 добавить таргеты и перечитать конфиг (без рестарта):
# ~/monitoring/prometheus/targets/node/<name>.yml
- targets: ['<IP-в-туннеле>:9100']
labels: { instance: <name> }
# ~/monitoring/prometheus/targets/cadvisor/<name>.yml
- targets: ['<IP-в-туннеле>:8080']
labels: { instance: <name> }
curl -s -X POST http://127.0.0.1:9090/-/reload
В дашбордах сервер появится в выпадающем списке instance.
Дашборды
Провижатся автоматически (папка Infra): Node Exporter Full (1860), cAdvisor (19792). Datasource — Prometheus (uid prometheus).