Избранный проект

Log Watcher

Многопроектная система анализа логов и AI-триажа, которую можно запускать на собственном сервере. Она опрашивает Loki и OpenSearch, автоматически группирует совпадающие ошибки в инциденты и запрашивает у LLM объяснение каждого нового инцидента.

1 / 2
1 / 2
Экран проектов Log Watcher (светлая тема)

Обзор

Что было создано

Система анализа логов и AI-триажа, работающая на собственном сервере. Она отслеживает источники логов Loki и OpenSearch в нескольких проектах, группирует совпадающие записи об ошибках в инциденты и использует LLM для объяснения предполагаемой первопричины каждого нового инцидента. Решённые инциденты формируют доступную для поиска межпроектную базу знаний решений.

  • Опрос Loki и OpenSearch с автоматической группировкой совпадающих ошибок в инциденты
  • AI-генерируемые предполагаемая первопричина, первое действие и рекомендация для каждого нового инцидента
  • Оповещения по электронной почте или через webhook, с окнами обслуживания для отключения уведомлений о плановых простоях
  • Доступная для поиска межпроектная база знаний решений, сформированная на основе решённых инцидентов

Почему это существует

Практический подход

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

Технический профиль

Функции и инфраструктура

Источники логов и получение данных

  • Адаптеры Loki (LogQL) и OpenSearch с единым общим интерфейсом, тестами подключения и импортом/экспортом JSON
  • Правила фильтрации для каждого проекта сопоставляются со значениями меток, обнаруженными непосредственно в источнике, а также доступен необязательный фильтр по подстроке сообщения
  • Для каждого получения данных применяется минимальный уровень серьёзности ошибки, после чего записи повторно проверяются с помощью эвристики уровня для выявления ложноположительных результатов
  • Совпадающие записи дедуплицируются и группируются в инциденты по сигнатуре, при этом за один цикл опроса выполняется одна запись для каждой уникальной сигнатуры

AI-триаж

  • Нормализация выполняется вне цикла опроса через очередь, поэтому медленный вызов LLM никогда не блокирует получение данных
  • Работает с OpenAI-совместимой конечной точкой или API Anthropic, выбор которого выполняется для каждого развёртывания
  • Формирует первопричину, первое действие и рекомендацию для каждого нового инцидента
  • Каждый вызов AI регистрируется с указанием задержки и использования токенов для контроля затрат и производительности

Оповещения и окна обслуживания

  • Оповещения для каждого проекта о новом инциденте, после каждых N повторений или при N повторениях в течение заданного временного интервала
  • Каналы уведомлений по электронной почте и через webhook; webhook можно использовать для Slack, Teams или любого сервиса с URL входящего webhook
  • Окна обслуживания отключают уведомления о предупреждениях для проекта, не приостанавливая получение или анализ данных
  • Подтверждение инцидента приостанавливает дальнейшие оповещения на время его обработки

Триаж, база знаний и администрирование

  • Инциденты отслеживаются как открытые, подтверждённые или решённые; каждое решение регистрируется с категорией и заметкой
  • Заметки о решениях формируют доступную для поиска межпроектную базу знаний решений для повторяющихся проблем
  • Статистика рабочей среды: количество открытых/решённых инцидентов по каждому проекту, а также объём AI-вызовов, доля успешных вызовов и задержка
  • Локальная и LDAP-аутентификация с административным разделом для управления пользователями, журналом аудита и состоянием системы