Files
infra/stacks/monitoring/README.md

1.7 KiB
Raw Blame History

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) как код.

Запуск

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).