Observability & ChatOps
Сквозной мониторинг двухузловой инфраструктуры: экспорт метрик, централизация логов в Loki и автоматизация реагирования через Telegram-бота.
# Архитектурная топология
Разделение рабочих нагрузок и мониторинга для исключения каскадных отказов. Метрики и логи передаются внутри зашифрованного VPN-туннеля.
- • 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)
- • Prometheus 2.52: TSDB, Retention: 3d (:9090)
- • Loki 3.0: Индексация логов LogQL (:3100)
- • Alertmanager: Маршрутизация и дедупликация (:9093)
- • Grafana + Renderer: Headless Chromium для графиков
- • ChatOps Bot: Управление и триаж инцидентов
# Ключевые показатели надежности (SLO & Telemetry)
Контроль доступности сервиса и аппаратных ресурсов по методологиям RED и USE.
Доступность и HTTP Traffic
Мониторинг частоты запросов и порога ошибок бэкенда для предотвращения деградации сервиса.
Утилизация хоста (Amsterdam)
Отслеживание насыщения процессора и памяти. Алерт срабатывает при удержании CPU > 80% более 30 сек.
Анализ трафика и ботов
Фильтрация реальных посетителей через заголовок X-Forwarded-For и фиксация сканеров веб-уязвимостей.
# Live Demo: Жизненный цикл инцидента
Интерактивная демонстрация логики работы ChatOps-бота @yankovich_alerting_bot
# Инженерные решения проекта
Изоляция метрик через WireGuard
Все системные экспортеры и интерфейс Grafana привязаны к внутренней подсети 10.100.0.0/24 без публикации портов в открытый интернет.
Туннелирование Telegram API
Исходящие алерты перенаправляются через прокси Tinyproxy в Амстердаме, исключая сбои доставки из-за региональных блокировок.
Оптимизация рендеринга графиков
Последовательная очередь в headless Chromium (grafana-renderer) предотвращает скачки потребления RAM на сервере мониторинга.