Перейти к содержимому
Clinford Jordano Valencia
Все проекты
ИИПлатформа

Oncall Bot и мониторинг фронтенда

Оповещения по относительным изменениям в телеметрии ClickHouse и чат-бот с поддержкой LLM, который превращает оповещение в вероятную первопричину прямо в треде, где уже работает команда.

Роль
Senior Frontend Engineer
Период
2025–настоящее время
Стек
ClickHouse · Alerting service · LLM API · Kubernetes · Internal chat bot

Проблема

Тихие отказы на этапах передачи сторонним сервисам, например при проверке NFC, обнаруживались через несколько дней — через службу поддержки. Оповещения строились на фиксированных порогах и сильно шумели, поэтому их привыкли игнорировать.

Подход

  • Относительные базовые линии вместо фиксированных порогов. Сервис оповещений выполняет SQL-запросы к ClickHouse и сравнивает каждую метрику с тем же часом прошлой недели. Падение конверсии на 20 % означает разное в 3 часа ночи в Токио и в полдень в Берлине, и колебания мирового трафика больше не вызывают ложных тревог.
  • Оповещение приходит вместе с контекстом. Сработавшее оповещение публикует карточку инцидента во внутреннем чате. Затем фоновый обработчик собирает свежие стек-трейсы ошибок фронтенда из ClickHouse, активную версию конфигурации из сервиса конфигурации и логи деплоя Kubernetes и отправляет их структурированным промптом в корпоративный LLM API.
  • Сводка прямо в треде. Бот отвечает вероятной первопричиной, например: конверсия на шаге 3 в Японии упала на 32 %, ошибка нулевого указателя в обёртке NFC-моста, изменение конфигурации выкачено за 15 минут до этого, а шлюз поставщика на бэкенде отвечает по таймауту.

Результат

Время обнаружения сократилось с часов или дней до менее чем 5 минут, время до смягчения — на 65 %, ложных оповещений стало на 80 % меньше. Также отслеживались соотношение сигнал/шум оповещений (доля, связанная с реальными инцидентами) и среднее время между отказами фронтенд-модулей.

Почему так

Обычное оповещение лишь сообщает, что что-то сломалось. Автоматический сбор данных и сводка сокращают разрыв между метрикой и человеком, который её понимает, — а именно там уходила большая часть времени реагирования.