Files
monitoring/STATUS.md
T

72 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Мониторинг кластера — Статус
Обновлено: 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).
- ⚠️ Известное: systemd1 на bigbox снова завис (systemctl висит) — таймер vesti-metrics.timer
не заведён, вместо него cron.d (работает). При следующем ребуте systemd1 оживёт;
тогда можно перевести на systemd-timer (unit-файлы уже написаны: /etc/systemd/system/vesti-metrics.{service,timer}).
## Сделано (за сессию 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-<host>), в каждом:
availability + disk free + memory + load + **Net <iface> RX/TX (bytes/s)** +
**Net <iface> 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-<host>.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, туннель не нужен