Единый observability-стек: Prometheus + Loki + Grafana + Caddy auth-гейт
Отдельный от db+vaultwarden compose-файл (разный жизненный цикл, свой deploy-workflow) — единственное место сбора для backend, лендинга и каждой прокси-ноды, которые физически живут на других серверах. Prometheus скрейпит наружу (сам ходит в /metrics на тех хостах — там нужно только открыть порт метрик для IP этого VPS). Loki, наоборот, принимает пуши логов ИЗВНЕ — порт 3100 публикуется наружу и обязательно фильтруется firewall'ом по IP тех хостов. Grafana не торчит в интернет напрямую (127.0.0.1-only) — единственный вход через Caddy с forward_auth, гейтящим по cookie-сессии netrunner-backend (GET /api/v1/admin/observability/check, Owner/Moderator). 3 provisioned дашборда (backend/landing/прокси-ноды). Список scrape-таргетов для прокси-нод (observability/targets/nodes.json) генерится и заливается автоматически из netrunner-proxy при каждом деплое нод — вручную ничего не поддерживается. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -41,3 +41,12 @@ SMTP_PASSWORD=CHANGE_ME_GMAIL_APP_PASSWORD
|
||||
# BACKUP_RETENTION_DAYS=14
|
||||
# RCLONE_REMOTE=b2:netrunner-backups
|
||||
# RCLONE_CONFIG_CONTENT содержимое rclone.conf одной переменной, см. rclone.conf.example
|
||||
|
||||
# --- Наблюдаемость (docker-compose.observability.yml — Prometheus/Loki/
|
||||
# Grafana, отдельный стек от Postgres/Vaultwarden выше) ---
|
||||
GRAFANA_PASSWORD=CHANGE_ME_GRAFANA_PASSWORD
|
||||
# ВАЖНО: порт Loki (3100) публикуется наружу — сюда пушат логи тонкие
|
||||
# promtail с backend/landing/каждой прокси-ноды. Firewall на этом VPS
|
||||
# ОБЯЗАН ограничивать 3100 только IP этих хостов (см. шапку
|
||||
# docker-compose.observability.yml) — сам Loki не защита от постороннего
|
||||
# пуша логов.
|
||||
|
||||
Reference in New Issue
Block a user