Этап 6: починка NO DATA в Grafana (3 причины)+relabel instance→hostname; исправлены имена garage-метрик в панелях и алертах; опыт в EXPERIENCE.md

This commit is contained in:
kpa39l
2026-09-03 08:39:53 +00:00
parent 7437864b50
commit 66ff07c52a
8 changed files with 927 additions and 189 deletions
+26 -9
View File
@@ -112,20 +112,37 @@ curl -X POST -H "Authorization: token GITEA_TOK" \
|--------------------|--------------------------------|----------|
| GarageNodeDown | `up{job="garage"} == 0` (2м) | critical |
| GarageNoQuorum | `<2` нод up (2м) | critical |
| GarageResyncErrors | `garage_block_resync_error_count > 0` (10м) | warning |
| GarageNodeUnstable | RPC health down (5м) | warning |
| GarageResyncErrors | `block_resync_errored_blocks > 0` (10м) | warning |
| GarageNodeUnstable | `cluster_layout_node_connected == 0` (5м) | warning |
| TProxyDown | `up{job="tproxy"} == 0` (2м) | critical |
| TProxyBackendErrors| `increase(tproxy_backend_dial_failures_total[5m]) > 0` (10м) | warning |
## tproxy-server (vps03) — метрики WEB Proxy (этап 6, в работе)
Примечание: метрики Garage из admin API (:3903) НЕ имеют префикса `garage_` —
это `api_s3_request_counter`, `block_resync_*`, `cluster_*`. Префикс `garage_`
только у `garage_build_info`, `garage_local_disk_*`, `garage_replication_factor`.
## tproxy-server (vps03) — метрики WEB Proxy (этап 6, РЕШЕНО ✅)
tproxy-server (Telegram Desktop WEB Proxy) развёрнут на **vps03** (77.67.89.154),
admin-эндпоинты на loopback :8081: `/healthz`, `/readyz`, `/metrics`
(Prometheus-формат, 13 счётчиков `tproxy_*`). vps03 НЕ в WG-сети, поэтому
для scrape с bigbox нужно:
(Prometheus-формат, 13 счётчиков `tproxy_*`). vps03 НЕ в WG-сети, а :8081
слушает ТОЛЬКО loopback — поэтому вместо открытия порта наружу сделан
**SSH-туннель bigbox → vps03**:
1. nft-правило на vps03: разрешить TCP 8081 с publIP bigbox **178.176.197.2**
(`nft add rule inet filter input ip saddr 178.176.197.2 tcp dport 8081 accept`)
2. job `tproxy` в prometheus.yml: `targets: ['77.67.89.154:8081']`
3. `docker compose restart prometheus`, проверить `up{job="tproxy"}`
```
systemd: tproxy-tunnel.service (bigbox)
ssh -i /home/estorozhenko/.ssh/hostkeyVPS \
-L 127.0.0.1:18081:127.0.0.1:8081 -N root@77.67.89.154
```
- Локальный порт **18081** (не 8081 — тот на bigbox занят ICQ-веб-чатом!)
- Prometheus скрейпит `127.0.0.1:18081` (job `tproxy`, host=vps03), но через
relabel_configs в prometheus.yml лейбл `instance` заменён на **`vps03:8081`**,
чтобы в Grafana легенды показывали hostname, а не IP туннеля.
Аналогично relabel сделан для garage (`10.8.0.x:3903` → `vps01|bigbox|vps02:3903`)
и node (`10.8.0.x:9100` → hostname).
- Дашборд: 3 панели tproxy (sessions/streams, traffic /sec, backend errors)
- Алерты: TProxyDown (critical), TProxyBackendErrors (warning)
Подробности — в PLAN.md (этап 6) и EXPERIENCE.md.