# Мониторинг кластера — Статус Обновлено: 2026-09-13 (добавлен дашборд VESTI) ## Текущее состояние Стек мониторинга на bigbox (/opt/monitoring): Prometheus 2.53 + Grafana 11.1 + Loki + promtail. Собирает: Garage-кластер (vps01/bigbox/vps02 :3903), системы всех 4 нод (node-exporter :9100 по WireGuard), tproxy (vps03, loopback-туннель), **VESTI (компоненты/доступность)**. Дашборды: **4 per-node** (Node vps01/vps02/vps03/bigbox) + Garage Cluster + Vinograd WAN + tproxy-панели + **VESTI**. vps03 подключён к WG (10.8.0.3), порты наружу не светятся. Все 4 node-таргета up. Всё в git (gitverse + gitea mirror). ## VESTI (добавлено 2026-09-13) - Метрики: textfile-коллектор node-exporter на bigbox, скрипт `/opt/vesti/scripts/vesti-metrics.sh` (запуск: `/etc/cron.d/vesti-metrics`, каждую минуту, root). Пишет `/var/lib/node_exporter/textfile_collector/vesti.prom`. - Метрики `vesti_*` (label `component="vesti"`), собираются job'ом `node` (10.8.0.2:9100): `vesti_web_up`, `vesti_publisher_health`, `vesti_publisher_bot`, `vesti_publisher_proxy`, `vesti_publisher_channels`, `vesti_telegram_tunnel`, `vesti_publisher_docker`, `vesti_web_systemd`, `vesti_db_ok`, `vesti_db_posts_total`, `vesti_db_new_total`, `vesti_db_published_total`, `vesti_db_last_run_ts`. - node-exporter на bigbox: `ARGS="--web.listen-address=10.8.0.2:9100 --collector.textfile.directory=/var/lib/node_exporter/textfile_collector"` (в /etc/default/prometheus-node-exporter). - Дашборд: `grafana/dashboards/vesti/vesti.json` (uid `vesti`, папка **vesti**), 18 панелей: stat-панели доступности (web/publisher/Docker/tunnel/DB/systemd) + детали publisher (bot/proxy/channels) + БД (posts/new/published + время с последнего рan) + история доступности. - Провайдер `vesti-dashboards` добавлен в `grafana/provisioning/dashboards/dashboards.yml` (path: /var/lib/grafana/dashboards/vesti). - Запуск коллектора: cron.d `/etc/cron.d/vesti-metrics` (root, каждую минуту). Также прописаны юниты `/etc/systemd/system/vesti-metrics.{service,timer}` — таймер заведён и активен (systemctl is-enabled: enabled, is-active: active); при перезагрузке можно переключиться на таймер, отключив cron.d. ## Сделано (за сессию 2026-09-08) - vps03 подключён к WireGuard: 10.8.0.3/24, hub vps01 (5.129.217.146:51820), пиры добавлены на vps01/bigbox/vps02 (AllowedIPs пира vps01 расширен до `10.8.0.1/32, 10.8.0.3/32` для возвратного трафика — грабль зафиксирован) - node-exporter установлен на vps03 (apt), слушает 10.8.0.3:9100 (наружу 77.67.89.154:9100 закрыт) - prometheus.yml: job `node` → 4 таргета (10.8.0.1/2/3/4:9100), все up - Дашборды: **отдельный на каждую ноду** (uid node-), в каждом: availability + disk free + memory + load + **Net RX/TX (bytes/s)** + **Net utilization (%)** (физические интерфейсы, контейнерные исключены) - README.md/EXPERIENCE.md обновлены (грабли: node_network_* метрики, speed=-125000 на виртуалках) - **Дашборды разложены по подпапкам**: `grafana/dashboards/nodes/` (node-*) и `grafana/dashboards/vinogorod/` (vinograd-wan) — в git и на диске; provisioning `dashboards.yml` получил 3 провайдера (Garage / nodes / vinogorod); в UI Grafana дашборды лежат в папках **Garage / nodes / vinogorod** (проверено по БД, коммит 4b0539d) ## В работе / Следующие шаги - [ ] Разные admin_token / metrics_token в Garage (совпадают) - [ ] Поменять пароль Grafana с дефолтного (пользователь estorozhenko, пароль сменён вручную) - [ ] Уведомления алертов (Telegram/почта) - [ ] Проверить визуально дашборды Node в Grafana (после 1-2ч данных) ## Как запустить / проверить ```bash cd /opt/monitoring && docker compose ps # стек curl -s "http://127.0.0.1:9090/api/v1/targets?state=any" | python3 -m json.tool # node ×4 up # Grafana: http://bigbox:3001 (или https://grafana.nixg.ru) → дашборды Node vps01/02/03/bigbox ``` ## Ключевые артефакты - /opt/monitoring/docker-compose.yml, prometheus.yml, alerts.yml - /opt/monitoring/grafana/dashboards/garage-cluster.json (папка Garage) - /opt/monitoring/grafana/dashboards/nodes/node-.json (4 шт, папка nodes) - /opt/monitoring/grafana/dashboards/vinogorod/vinograd-wan.json (папка vinogorod) - /opt/monitoring/grafana/provisioning/datasources/datasources.yml, dashboards/dashboards.yml - README.md, EXPERIENCE.md, PLAN.md (в этом каталоге), STATUS.md/TODO.md/WALKTHROUGH.md ## Открытые вопросы - Нужен ли утилизация для vps01/vps02 с реальной скоростью линка (сейчас хардкод 1Гбит/с) - Оставлять ли tproxy-tunnel.service (SSH-туннель) — vps03 уже в WG, туннель не нужен