Files
infra/stacks/monitoring
gilfanovrandClaude Opus 5.5 d1269162e7 rpi: бэкап OneDrive на HDD + SMART/бэкап-метрики через pushgateway на fr1
- servers/rpi.md: новая домашняя Raspberry Pi 4 (Trixie, cloud-init), HDD 4 ТБ,
  грабли с питанием двух HDD от USB
- stacks/rpi-backup: rclone sync с вечным архивом версий, еженедельная сверка
  хэшей, smartd, пуш SMART и статуса бэкапов
- fr1: pushgateway (127.0.0.1:9091), приём по SSH через forced command
  ~/bin/pushgw-ingest, алерты группы rpi

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 13:28:20 +03:00
..

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