mirror of
https://gitverse.ru/kpa39l/monitoring.git
synced 2026-09-29 09:55:09 +00:00
Добавил этап 6: сбор метрик tproxy-server (vps03) — задачи, эндпоинты, prometheus job
This commit is contained in:
@@ -53,6 +53,66 @@
|
|||||||
- [ ] Дашборд: статус нод, занятость диска, блоки, репликация
|
- [ ] Дашборд: статус нод, занятость диска, блоки, репликация
|
||||||
- [ ] Уведомления алертов (например, в Telegram/почту)
|
- [ ] Уведомления алертов (например, в Telegram/почту)
|
||||||
|
|
||||||
|
## Этап 6. Метрики tproxy-server (vps03) — TODO 🔄
|
||||||
|
|
||||||
|
WEB Proxy для Telegram Desktop развёрнут на vps03 (77.67.89.154, Debian 13):
|
||||||
|
Caddy → tproxy-server:8080 → MTProxy:2398. Admin-эндпоинты:
|
||||||
|
|
||||||
|
- `http://127.0.0.1:8081/readyz` → 200 `ready` / 503 `backend unavailable`
|
||||||
|
(TCP-проба ко всем backend-профилям, у нас 127.0.0.1:2398)
|
||||||
|
- `http://127.0.0.1:8081/healthz` → всегда `ok` (процесс жив)
|
||||||
|
- `http://127.0.0.1:8081/metrics` → Prometheus-формат (текст, version 0.0.4)
|
||||||
|
|
||||||
|
Метрики tproxy (счётчики из `internal/server/server.go` serveMetrics):
|
||||||
|
|
||||||
|
| Метрика | Смысл |
|
||||||
|
|---|---|
|
||||||
|
| tproxy_sessions_live / streams_live | активные сессии/потоки |
|
||||||
|
| tproxy_backend_dials_in_flight | исходящие к MTProxy в полёте |
|
||||||
|
| tproxy_pending_bytes / _items | очередь ожидающих данных |
|
||||||
|
| tproxy_sessions_created_total / closed_total | создано/закрыто (суммарно) |
|
||||||
|
| tproxy_streams_opened_total / rejected_total | открыто/отклонено потоков |
|
||||||
|
| tproxy_backend_dial_failures_total | **ошибки коннекта к MTProxy** (рост = проблема) |
|
||||||
|
| tproxy_bytes_up_total / down_total | трафик вверх/вниз (всего) |
|
||||||
|
| tproxy_limit_hits_total | срабатывания лимитов |
|
||||||
|
|
||||||
|
Задача:
|
||||||
|
|
||||||
|
- [ ] Обеспечить доступ Prometheus (bigbox) к `:8081` на vps03.
|
||||||
|
vps03 НЕ в WG-сети (10.8.0.0/24 = vps01/bigbox/vps02).
|
||||||
|
Варианты:
|
||||||
|
a) открыть 8081 на vps03 для IP bigbox в nft (правило в
|
||||||
|
`/etc/tproxy-server/firewall.nft` или отдельный файл) — самый простой;
|
||||||
|
b) добавить vps03 в WG (если хочется закрытый контур);
|
||||||
|
c) node-exporter + textfile-коллектор — не наш случай (метрики уже в HTTP).
|
||||||
|
Рекомендация: (a).
|
||||||
|
- [ ] Добавить job в `/opt/monitoring/prometheus.yml`:
|
||||||
|
```yaml
|
||||||
|
- job_name: 'tproxy'
|
||||||
|
static_configs:
|
||||||
|
- targets: ['77.67.89.154:8081']
|
||||||
|
labels:
|
||||||
|
host: vps03
|
||||||
|
service: tproxy
|
||||||
|
```
|
||||||
|
Prometheus в этом стеке — `network_mode: host`, внешние IP видит (см.
|
||||||
|
EXPERIENCE.md п.7).
|
||||||
|
- [ ] Перезапустить prometheus (`docker compose restart prometheus`),
|
||||||
|
проверить `up{job="tproxy"}` на :9090.
|
||||||
|
- [ ] (Опционально) blackbox-job для внешнего HTTPS-чека vps03.nixg.ru:
|
||||||
|
`probe_success` — контролирует Caddy+сайт снаружи.
|
||||||
|
- [ ] Дашборд в Grafana: сессии, трафик (bytes_up/down rate), ошибки бэкенда.
|
||||||
|
- [ ] Алерт: `tproxy_backend_dial_failures_total` растёт, или `/readyz` 503
|
||||||
|
(можно ч/з blackbox по HTTP :8081, если открыт).
|
||||||
|
|
||||||
|
Заметки:
|
||||||
|
- `/metrics` и admin-эндпоинты слушают ТОЛЬКО loopback (127.0.0.1:8081). При
|
||||||
|
открытии наружу — резать по источнику (IP bigbox) в nft, не публиковать всем.
|
||||||
|
- readyz сделает TCP-пробу К КАЖДОМУ профилю — если добавить второй профиль
|
||||||
|
с мёртвым бэкендом, readyz станет 503 (это фича).
|
||||||
|
- Секреты WEB Proxy (profiles.json) к мониторингу отношения не имеют — в
|
||||||
|
метрики не попадают.
|
||||||
|
|
||||||
## Риски / заметки
|
## Риски / заметки
|
||||||
|
|
||||||
- Перезапуск нод кластера безопасен, но делать по очереди.
|
- Перезапуск нод кластера безопасен, но делать по очереди.
|
||||||
|
|||||||
Reference in New Issue
Block a user