Урок 3. Мониторинг: как следить за здоровьем агента#
Цель: настроить простой мониторинг, чтобы знать, когда агент сломался или работает неправильно.
Что такое мониторинг#
Мониторинг — это постоянное наблюдение за работой агента, чтобы вовремя заметить проблемы:
- агент перестал отвечать
- агент отвечает с ошибками
- агент работает медленно
- агент превысил лимиты API
Базовые метрики для мониторинга#
1. Uptime (доступность)
Процент времени, когда агент работает.
Пример:
Если агент работал 23 часа из 24 → Uptime = 95.8%
Цель: стремиться к 99%+ (менее 1% времени на сбои)
2. Response Time (время ответа)
Сколько времени агент тратит на обработку запроса.
Пример:
Пользователь написал вопрос → агент ответил через 3 секунды → Response Time = 3s
Цель: менее 5 секунд для текстовых запросов
3. Error Rate (частота ошибок)
Процент запросов, которые завершились с ошибкой.
Пример:
Из 100 запросов 5 завершились с ошибкой → Error Rate = 5%
Цель: менее 1% (99% запросов успешны)
4. Request Rate (количество запросов)
Сколько запросов обрабатывает агент в час / день.
Пример:
Агент обработал 500 запросов за день → Request Rate = 500/день
Цель: отслеживать рост (если запросов становится слишком много, нужно масштабировать)
Как настроить простой мониторинг#
Вариант 1: Uptime-мониторинг (для webhook-ботов)
Если ваш агент работает через webhook (например, Telegram-бот на n8n), используйте сервис для проверки доступности:
- UptimeRobot (бесплатно до 50 мониторов)
- Pingdom (платно, но более мощный)
- Healthchecks.io (простой и бесплатный)
Как работает:
- Вы даёте сервису URL вашего webhook
- Сервис каждые 5 минут отправляет тестовый запрос
- Если webhook не отвечает → сервис отправляет вам уведомление (email, SMS, Telegram)
Настройка в UptimeRobot:
- Зарегистрируйтесь на uptimerobot.com
- Добавьте новый монитор: URL вашего webhook, тип: HTTP(s)
- Настройте уведомления (email или Telegram)
- Сохраните
Теперь вы будете получать уведомление, если агент перестал отвечать.
Вариант 2: Мониторинг через логи
Если вы логируете действия агента в Google Sheets / Airtable, настройте автоматическую проверку:
Пример: уведомление о превышении ошибок
Логика:
- Каждый час (или раз в день) запускается workflow (Zapier / n8n)
- Workflow читает логи за последний час
- Считает количество ошибок (
Status = failed) - Если ошибок > 10 → отправляет уведомление в Telegram: «Внимание! За последний час зафиксировано 15 ошибок. Проверьте агента.»
Реализация в n8n:
- Trigger: Cron (каждый час)
- Action 1: Google Sheets → Read (прочитать логи за последний час)
- Action 2: Function (подсчитать количество
Status = failed) - Action 3: IF (если ошибок > 10)
- Action 4 (true): Telegram → Send Message («Внимание! ...»)
Вариант 3: Встроенные инструменты платформ
Многие платформы имеют встроенный мониторинг:
- Zapier: Task History + Email Alerts (при ошибке Zapier отправляет email)
- Make: History + Notifications
- n8n: Error Workflow (специальный workflow, который запускается при ошибке)
Пример: Error Workflow в n8n
- Создайте новый workflow с триггером Error Trigger
- Добавьте узел Telegram → Send Message
- Настройте сообщение: «Ошибка в workflow [название]. Детали: {{ $json.error.message }}»
- Сохраните и активируйте
Теперь при любой ошибке в любом workflow вы получите уведомление в Telegram.
Что делать, если мониторинг показал проблему#
Проблема 1: агент не отвечает (Uptime = 0%)
Возможные причины:
- сервер упал (если self-hosted)
- закончились деньги на счёте (если облачная платформа)
- webhook сломался (неправильный URL, истёк SSL-сертификат)
Что делать:
- Проверьте статус сервера / платформы
- Проверьте баланс счёта
- Проверьте webhook (отправьте тестовый запрос вручную)
- Перезапустите workflow / бота
Проблема 2: высокий Error Rate (>5%)
Возможные причины:
- проблемы с API (превышен лимит, API недоступен)
- неправильные данные (например, неверный формат email)
- ошибка в логике агента
Что делать:
- Откройте логи, найдите ошибки
- Посмотрите ErrorMessage
- Исправьте проблему (увеличьте лимиты, исправьте данные, исправьте логику)
- Протестируйте
Проблема 3: медленный Response Time (>10 секунд)
Возможные причины:
- медленный API (например, OpenAI перегружен)
- слишком много шагов в workflow
- нет кеширования
Что делать:
- Измерьте время каждого шага (в n8n это видно в Executions)
- Найдите самый медленный шаг
- Оптимизируйте (кеширование, переход на более быстрый API, параллельные запросы)