Мониторинг¶
HTTP-эндпоинт статистики¶
Требует флаг --http-stats. Доступен только из приватных сетей (loopback, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16).
Расширение сетевого доступа¶
Для доступа из overlay/VPN-сетей (Tailscale, WireGuard, Netbird) используйте --stats-allow-net:
Флаг можно указывать несколько раз для нескольких диапазонов. Поддерживается CIDR-нотация IPv4 и IPv6.
Метрики Prometheus¶
Возвращает метрики в формате Prometheus exposition на том же порту статистики. Включает посекретные метрики при настроенных метках.
Доступные метрики: количество подключений, подключения по секретам, счётчики отклонений и отклонения по IP ACL.
Зонды задержки DC¶
При включении teleproxy периодически выполняет TCP-рукопожатие со всеми 5 дата-центрами Telegram и публикует результаты в виде гистограммы Prometheus:
Публикуемые метрики:
| Метрика | Тип | Описание |
|---|---|---|
teleproxy_dc_latency_seconds |
histogram | RTT TCP-рукопожатия по DC (метки: dc="1"..dc="5") |
teleproxy_dc_probe_failures_total |
counter | Неудачные попытки зондирования по DC |
teleproxy_dc_latency_last_seconds |
gauge | Последняя измеренная задержка по DC |
Текстовый эндпоинт /stats содержит соответствующие поля: dc_probe_interval, dcN_probe_latency_last, dcN_probe_latency_avg, dcN_probe_count, dcN_probe_failures.
По умолчанию отключено. Задайте dc_probe_interval в TOML-конфиге или используйте переменную окружения DC_PROBE_INTERVAL в Docker.
Дашборд Grafana¶
Импортируйте готовый дашборд в Grafana:
- Скачайте
dashboards/teleproxy.jsonиз репозитория - В Grafana: Dashboards → Import → Upload JSON file
- Выберите источник данных Prometheus
Дашборд охватывает подключения, посекретную нагрузку, частоту отклонений, связность с DC и утилизацию ресурсов.
Проверка здоровья¶
Docker-контейнеры включают встроенный мониторинг здоровья через эндпоинт статистики. Проверка: