Автоматический анализ журналов ispmanager через n8n
Данный n8n workflow реализует концепцию AIOps (Artificial Intelligence for IT Operations) - он автоматически собирает системные метрики и ошибки из критических логов ispmanager сервера, которые вы сами определяете, анализирует их с помощью нейросети GigaChat (или любой другой) и отправляет структурированный отчет с рекомендациями и severity в Telegram.
Это решение является основной для создания своего собственного workflow и требует персональной настройки.

Главная цель - минимизировать время реакции на инциденты, отсеивая «белый шум» и выделяя только реальные угрозы стабильности, производительности и функциональности сервера ispmanager.
Преимущества системы
- Интеллектуальный анализ: Использование LLM позволяет не просто видеть текст ошибки, но и получать готовые рекомендации по её устранению.
- Защита от log-спама: Реализована двойная проверка на повторы (через хеширование данных и через память нейросети), одинаковые сообщения не поступали каждый час.
- Безопасность: Workflow использует SSH для удаленного доступа и поддерживает экранирование символов для корректного отображения в Telegram.
Ноды и настройки
Нода Cron (Trigger)
- Функция: Запускает цикл проверки по расписанию.
- Настройка: По умолчанию установлен интервал everyHour (раз в час). Для высоконагруженных систем можно сократить до 15 минут.
Нода Read & Filter ispmanager Logs (SSH)
- Функция: Выполняет определяемый Bash-скрипт на сервере для сбора метрик (CPU, RAM, Disk) и поиска ошибок в логах ispmanager, nginx, PHP-FPM, MySQL/MariaDB и Exim. Скрипт можно и нужно конфигурировать в соответствии с вашей ОС и с вашими потребностями - добавлять нужные логи для анализа, определять уровни критичности, ключевые фразы и так далее.
- Критичные параметры:
- Credentials: Требуются SSH-ключи или пароль пользователя с правами на чтение /var/log.
- MAX_LINES: Ограничивает выборку (по умолчанию 10 строк), чтобы не перегружать контекстное окно нейросети и потребление токенов.
Нода Prepare Logs (Function)
- Функция: Очищает данные, вычисляет хеш текущего состояния логов и проверяет его на совпадение с предыдущим запуском через StaticData.
- Критичные параметры:
- MAX_LENGTH: Ограничивает размер передаваемого текста до 12,000 символов. Это важно для стабильной работы API нейросети.
Нода GigaChat (AI Agent)
- Функция: Мозг системы. Выступает в роли Senior SRE инженера. Интерпретирует сырые логи, определяет степень важности (Severity) и формирует план действий по устранению найденных проблем. При желании можно заменить на OpenAI, Gemini, YandexGPT, Grok и так далее; в данном workflow используется кастомная нода GigaChat.
- Критичные параметры:
- Prompt: Содержит строгие правила для нейросети, алгоритм обработки повторов и многое другое. Критичная сущность для качества получаемого результата.
- Memory: Связан с нодой MemoryBufferWindow, что позволяет модели помнить предыдущие ошибки даже при изменении таймстампов в логах.
Нода Format Telegram Message (Function)
- Функция: Преобразует текстовый ответ нейросети в валидный HTML для Telegram.
- Критичные параметры:
- escapeHtml: Функция предотвращает поломку верстки, если в логах встречаются символы < или &.
- Normalization: Принудительно заменяет любые вариации написания "ispmanager" на эталонное.
Нода Send to Telegram (Telegram)
- Функция: Отправляет финальный отчет пользователю.
- Критичные параметры:
- Chat ID: ID телеграм чата или группы, куда приходят уведомления.
- Parse Mode: Должен быть установлен в HTML.
Рекомендации
Масштабирование
Workflow можно масштабировать, добавив параметр server_id и клонировать SSH-ноду для нескольких серверов. Также можно использовать разные memory-ноды на сервер.
Интеграции
Можно интегрировать в Slack, Mattermost, Jira и почту.
Контроль ложных срабатываний
Можно ввести allowlist и denylist паттерны, которые позволят отсеивать полезную и мусорную информацию соответственно, а также добавить подавление повторяющихся уведомлений на определенное количество часов.
Безопасность
Используйте авторизацию только по SSH-ключам и храните данные для авторизации в хранилище n8n.
Аналитика
Можно хранить отчеты в базе данных, выстраивая статистику по типам инцидентов и времени реакции.