# 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 (uid `prometheus`) + дашборды (Node Exporter Full, cAdvisor) как код. ## Запуск ```bash cd ~/monitoring echo "GF_ADMIN_PASSWORD=<пароль>" > .env # один раз docker compose up -d ``` ## Добавить новый сервер На новом сервере поднять `node-exporter` (:9100) и `cadvisor` (:8080), доступные с fr1 (по приватному туннелю). Затем на fr1 добавить таргеты и перечитать конфиг (без рестарта): ```bash # ~/monitoring/prometheus/targets/node/.yml - targets: [':9100'] labels: { instance: } # ~/monitoring/prometheus/targets/cadvisor/.yml - targets: [':8080'] labels: { instance: } curl -s -X POST http://127.0.0.1:9090/-/reload ``` В дашбордах сервер появится в выпадающем списке `instance`. ## Дашборды Провижатся автоматически (папка **Infra**): Node Exporter Full (1860), cAdvisor (19792). Datasource — Prometheus (uid `prometheus`).