Единый мониторинг: бизнес-метрики + вынос Prometheus/Loki/Grafana на VPS с данными

Prometheus/Loki/Grafana больше не живут внутри backend-стека — единый
стек теперь на VPS с данными (netrunner-data), т.к. ему нужно видеть
ещё лендинг и все прокси-ноды, не только бэкенд. Отсюда только тонкий
promtail, пушащий логи по сети (LOKI_PUSH_URL).

Новые бизнес-метрики поверх уже существующих generic HTTP-метрик:
payments_total{provider,status}, nodes_online/nodes_total,
support_tickets_total{status}, referral_signups_total,
partner_commission_total{currency} — тем же макросом metrics::counter!/
gauge!, что уже был в api.rs/error.rs.

Новый гейт-эндпоинт GET /api/v1/admin/observability/check (только
Owner/Moderator) — для Caddy forward_auth перед Grafana (см.
netrunner-data/observability/Caddyfile), встройка в админку через
GRAFANA_PUBLIC_URL в GET /api/v1/config.

templates/init_node.sh — добавляет --metrics-port 9093 в провижининг
новых прокси-нод.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-09 23:20:44 +07:00
parent 4f6bba6885
commit 91e214dad2
12 changed files with 109 additions and 115 deletions
+5 -1
View File
@@ -1,3 +1,7 @@
# Тонкий promtail — шлёт логи ЭТОГО хоста (app/migrate/redis) в центральный
# Loki на VPS с данными (см. netrunner-data/docker-compose.observability.yml).
# LOKI_PUSH_URL — публичный адрес того VPS, порт 3100, обязательно
# зафайрволенный там на IP этого хоста (см. шапку docker-compose.observability.yml).
server:
http_listen_port: 9080
grpc_listen_port: 0
@@ -6,7 +10,7 @@ positions:
filename: /tmp/positions.yaml
clients:
- url: http://loki:3100/loki/api/v1/push
- url: ${LOKI_PUSH_URL}/loki/api/v1/push
scrape_configs:
- job_name: docker_service_logs