Платформа обеспечивает безопасность интернет-трафика для организаций: узлы в нескольких странах, у каждого — свои каналы, нагрузка и лимиты. Пока узлов было три, за ними следили глазами. Когда стало одиннадцать — о проблемах начали сообщать клиенты.
Задача
Видеть состояние всех узлов на одном экране, получать сигнал о сбое раньше, чем его заметит клиент, и не тонуть в ложных тревогах — иначе алерты перестают читать через неделю. И отдельно: понимать, что узел не просто жив, а реально обслуживает клиентов.
Железо и сеть: все узлы на одном экране
На каждый узел поставили агент Zabbix, метрики собираются в него, рисуются в Grafana. Сводный дашборд — плитки по каждому из одиннадцати узлов: процессор, память, диск, load average; цвет плитки меняется по порогу, и перегруженный узел виден без чтения цифр.
Ниже — входящий и исходящий трафик по интерфейсам: кто из узлов сейчас несёт нагрузку, где пик, где тишина. Отдельная строка — «клиенты, которых узел не обслуживает»: если сервис поднят, но людей не пропускает, это ноль на зелёном, и это единственное, что важно.
Здоровье сервиса, а не только серверов
Второй дашборд отвечает на вопросы бизнеса, а не админа. Доступен ли рабочий порт на каждом узле снаружи — OK по всем. Есть ли клиенты, которых не обслуживают. Не ходит ли кто-то без подписки — красная единица на скрине и есть такой случай, найденный мониторингом. Сколько недель до истечения сертификата. Принимает ли соединения база.
Бэкапы — двумя плитками: сколько часов назад снята копия базы и сколько часов назад она ушла на внешнее хранилище. Если любая из них покраснеет, об этом узнают до того, как бэкап понадобится. Внизу — клиентские подключения по узлам в реальном времени: 300–500 одновременных на главном, и видно, как нагрузка перетекает между узлами.
Алерты в Telegram — с закрытием и с диагнозом
Триггеры Zabbix уходят ботом в Telegram-чат дежурных: узел, метрика, уровень — Information, Warning, High. На каждую проблему приходит и второе сообщение — «решено за 4 минуты», так что чат читается как журнал инцидентов, а не как поток тревог.
Самый ценный триггер — сетевой. Доля повторных передач TCP при живом трафике выше 10 % — «возможна фильтрация адреса», выше 20 % — «адрес почти наверняка отмечен». Так платформа узнаёт, что узел начали ограничивать извне, за минуты, а не по волне обращений «у меня не работает» на следующий день. Пороги и выдержки подкручены по живым срабатываниям за первую неделю — ложных тревог почти не осталось.
Результат
Дежурный видит сбой раньше клиента, обращений «у вас не работает» стало заметно меньше, а разбор инцидента начинается с графика, а не с догадок. Стек открытый — Zabbix и Grafana на своём сервере, без подписок; мониторинг остался у команды платформы вместе с описанием триггеров.