Production Infrastructure Telemetry

Observability & ChatOps

Сквозной мониторинг двухузловой инфраструктуры: экспорт метрик, централизация логов в Loki и автоматизация реагирования через Telegram-бота.

App Node (AMS) Checking...
Ops Node (Loki) Isolated
VPN Network 10.100.0.0/24
ChatOps Mode Restricted

# Архитектурная топология

Разделение рабочих нагрузок и мониторинга для исключения каскадных отказов. Метрики и логи передаются внутри зашифрованного VPN-туннеля.

🖥 App Node (v855107 / Амстердам) 10.100.0.1
  • • Nginx Web: Astro Landing + /api/crash
  • • nginx-prometheus-exporter: Scrape /stub_status (:9113)
  • • node-exporter: CPU, RAM, Disk I/O (:9100)
  • • Promtail: Сбор access-логов в JSON
  • • Tinyproxy: Шлюз для Telegram API (:8888)
🛡 Ops Node (v2858945 / Мониторинг) 10.100.0.2
  • • Prometheus 2.52: TSDB, Retention: 3d (:9090)
  • • Loki 3.0: Индексация логов LogQL (:3100)
  • • Alertmanager: Маршрутизация и дедупликация (:9093)
  • • Grafana + Renderer: Headless Chromium для графиков
  • • ChatOps Bot: Управление и триаж инцидентов

# Ключевые показатели надежности (SLO & Telemetry)

Контроль доступности сервиса и аппаратных ресурсов по методологиям RED и USE.

APPLICATION RED METRICS SLO: 99.9%

Доступность и HTTP Traffic

Мониторинг частоты запросов и порога ошибок бэкенда для предотвращения деградации сервиса.

Штатный трафик (HTTP 2xx/3xx) > 99.8%
Лимит сбоев (HTTP 5xx Rate) < 0.2 req/s
INFRASTRUCTURE USE METHOD Node Exporter

Утилизация хоста (Amsterdam)

Отслеживание насыщения процессора и памяти. Алерт срабатывает при удержании CPU > 80% более 30 сек.

CPU Core Saturation ~15-25%
RAM Allocation ~48% (512 MB)
LOGQL PIPELINE & AUDIT Loki 3.0

Анализ трафика и ботов

Фильтрация реальных посетителей через заголовок X-Forwarded-For и фиксация сканеров веб-уязвимостей.

Сетевые сканеры (404 sweeps) ~65% логов
Очищенный трафик (Real IP) ~35% логов
• Отлов бот-запросов к /robots.txt, /rpc, /owa

# Live Demo: Жизненный цикл инцидента

Интерактивная демонстрация логики работы ChatOps-бота @yankovich_alerting_bot

🔒 Доступ к симуляции ограничен ALLOWED_CHAT_ID
chatops_session.log

# Инженерные решения проекта

Изоляция метрик через WireGuard

Все системные экспортеры и интерфейс Grafana привязаны к внутренней подсети 10.100.0.0/24 без публикации портов в открытый интернет.

Туннелирование Telegram API

Исходящие алерты перенаправляются через прокси Tinyproxy в Амстердаме, исключая сбои доставки из-за региональных блокировок.

Оптимизация рендеринга графиков

Последовательная очередь в headless Chromium (grafana-renderer) предотвращает скачки потребления RAM на сервере мониторинга.