Правила алертінга отлично подходят для сбоев, которые можно предсказать, но они бессильны против тех, которые предвидеть нельзя. С появлением современного ИИ может показаться, что решением будет заполнить ваш стек агентами, контролирующими каждую мелочь, но это быстро может привести к астрономическим счетам.
Именно эти пробелы заполняют Watchers: они улавливают то, что пропускают алерты, и при этом держат расходы под контролем. Начиная с ObservabilityCON 2026, Watchers доступны в качестве постоянно работающих агентов в Grafana Assistant. Вы описываете (на естественном языке), что именно нужно мониторить, и выбираете источники данных, после чего ватчер изучает, что считается «нормой», и сообщает вам об отклонениях от этого состояния.
В конечном итоге это помогает выявлять проблемы без необходимости настройки алертов, обеспечивая более широкое покрытие и большую уверенность в вашей системе. Но как сделать Watchers экономичными для наших пользователей, особенно по сравнению с созданием собственного агента, который работает круглосуточно?
Например, предположим, вы разворачиваете собственную версию ватчера, который выполняет проверку каждые 10 минут, то есть запускается 4320 раз в месяц. Если бы каждый запуск представлял собой расследование с помощью агента, что в нашем недавнем эксперименте стоило от 0,56 до 1,26 доллара, то один созданный вами ватчер обходился бы в тысячи долларов ежемесячно.
Тем не менее, Watchers, работающие в нашем собственном стеке Grafana Cloud, стоят в среднем менее 5 долларов в месяц. В этой статье я расскажу об инженерных решениях, стоящих за этой цифрой, которые в основном сводятся к одному вопросу: где на самом деле нужен интеллект LLM и в каком объеме?
Краткая суть Watchers
Watchers следят за тем, что важно для вас, например, за сервисом, зависимостью или исправлением, которое вы выпустили после инцидента. Думайте об этом как о проверке дашборда, которую вы в противном случае делали бы вручную, выполняемой круглосуточно. Ватчер молчит, пока что-то не потребует внимания, а затем отправляет вам свою оценку и подтверждающие ее данные. Для критических находок он также может запустить расследование (Investigation) в Assistant для поиска причины.
Вот краткий обзор того, как это помогает эффективно выявлять потенциальные проблемы. Подробнее об этом я расскажу в оставшихся разделах этой статьи:
- Архитектура: Мощный агент калибрует каждый ватчер один раз, поэтому каждый последующий запуск состоит из простого кода и одного вызова небольшой быстрой модели.
Архитектура: Мощный агент калибрует каждый ватчер один раз, поэтому каждый последующий запуск состоит из простого кода и одного вызова небольшой быстрой модели.
- Стоимость: Менее 10 долларов в месяц за ватчер для 41 из наших 43 внутренних Watchers. Watchers бесплатны до 1 декабря 2026 года, а затем тарифицируются в рамках использования токенов Assistant.
Стоимость: Менее 10 долларов в месяц за ватчер для 41 из наших 43 внутренних Watchers. Watchers бесплатны до 1 декабря 2026 года, а затем тарифицируются в рамках использования токенов Assistant.
- Результаты: Покрытие, выходящее за рамки ваших алертов, благодаря которому вы замечаете то, за чем даже не планировали следить, и больше доверяете своей системе. Наш собственный ватчер за последние несколько месяцев обнаружил более 10 багов в продакшене, затрагивающих клиентов.
Результаты: Покрытие, выходящее за рамки ваших алертов, благодаря которому вы замечаете то, за чем даже не планировали следить, и больше доверяете своей системе. Наш собственный ватчер за последние несколько месяцев обнаружил более 10 багов в продакшене, затрагивающих клиентов.
- Интеграции: Watchers считывают большинство ваших телеметрических данных, а также любые HTTP API, и отправляют результаты в Slack, Microsoft Teams, вебхуки или систему алертов Grafana Alerting.
Интеграции: Watchers считывают большинство ваших телеметрических данных, а также любые HTTP API, и отправляют результаты в Slack, Microsoft Teams, вебхуки или систему алертов Grafana Alerting.
Интеллект только там, где он нужен
Контроль за сервисом сводится к трем задачам:
- Определение того, за чем нужно следить и что является нормой
Определение того, за чем нужно следить и что является нормой
- Многократное сравнение одних и тех же сигналов с нормой
Многократное сравнение одних и тех же сигналов с нормой
- Принятие решения о том, стоит ли ради этого кого-то беспокоить
Принятие решения о том, стоит ли ради этого кого-то беспокоить
Интеллект необходим только для первой и последней задач, причем в совершенно разных объемах.
Вернемся к нашему примеру из введения о ватчере, который проверяет состояние каждые 10 минут. Определение того, за чем следить, требует исследования и экспертной оценки, но после принятия решения к нему не нужно возвращаться постоянно. В конце концов, ситуация почти не меняется в период с 9:00 до 9:10. Принятие решения о том, имеет ли проблема значение, достаточное для того, чтобы кого-то побеспокоить, требует экспертной оценки при каждом запуске, но это узкий вопрос, когда вся предварительная работа уже выполнена. Промежуточная задача заключается в сборе данных и выполнении арифметических операций, с чем отлично справляется код, но не LLM.
Таким образом, ватчер делит работу на три части:
Задача
Кто выполняет
Когда
Определить, за чем следить и что является нормой
Агент калибровки с мощной моделью и инструментами
Один раз, а также повторно при перекалибровке
Получить данные и сравнить их с базовым уровнем
Простой код: запросы, статистика и отслеживание шаблонов в логах
При каждом запуске
Определить, имеет ли это значение, и объяснить почему
Небольшая быстрая модель в рамках одного вызова без инструментов
При каждом запуске
И вот как выглядит этот рабочий процесс:
Калибровка: сложная мыслительная работа выполняется один раз
Калибровка — это главный секрет. Представьте ее как предварительную обработку: когда вы создаете ватчер, фоновый агент выполняет всю подготовительную работу, которую обычно делает опытный инженер, и фиксирует полученные выводы. Дорогие рассуждения происходят один раз, и каждый запуск наследует четкую, хорошо подготовленную задачу, с которой LLM справляется отлично.
Агент калибровки:
- Определяет границы (скоуп). Он сопоставляет расположение вашей телеметрии и заранее задает вопросы, когда сталкивается с проблемой, на которую можете ответить только вы. Например: «Этот сервис работает в 32 продакшн-кластерах и одном операционном кластере. Следует ли оценивать каждый кластер по отдельности?»
Определяет границы (скоуп). Он сопоставляет расположение вашей телеметрии и заранее задает вопросы, когда сталкивается с проблемой, на которую можете ответить только вы. Например: «Этот сервис работает в 32 продакшн-кластерах и одном операционном кластере. Следует ли оценивать каждый кластер по отдельности?»
- Опирается на знания вашей команды. Сначала он анализирует ваши правила алертинга и дашборды, поскольку они содержат режимы сбоев, пороговые значения и уровни критичности, с которыми ваша команда уже согласилась.
Опирается на знания вашей команды. Сначала он анализирует ваши правила алертинга и дашборды, поскольку они содержат режимы сбоев, пороговые значения и уровни критичности, с которыми ваша команда уже согласилась.
- Измеряет норму с течением времени. Он проверяет каждый сигнал в нескольких точках за последнюю неделю и считывает суточные и недельные циклы трафика, чтобы тихое воскресное утро не выглядело как сбой.
Измеряет норму с течением времени. Он проверяет каждый сигнал в нескольких точках за последнюю неделю и считывает суточные и недельные циклы трафика, чтобы тихое воскресное утро не выглядело как сбой.
- Проверяет и документирует все данные. Каждая проверка тестируется на реальных данных перед сохранением вместе с контекстом калибровки: компактным руководством по принятию решений, охватывающим сервис, ваши решения, поведение при деплое, нормальные диапазоны и известные источники шума.
Проверяет и документирует все данные. Каждая проверка тестируется на реальных данных перед сохранением вместе с контекстом калибровки: компактным руководством по принятию решений, охватывающим сервис, ваши решения, поведение при деплое, нормальные диапазоны и известные источники шума.
Калибровка занимает от силы пару минут. Из всех возможных вызовов это самый дорогой для watcher этап, но он происходит один раз, а не каждые 10 минут.
Запуск простого кода, а затем один вызов модели
Откалиброванный watcher не производит никаких исследований во время выполнения. Он выполняет сохраненные проверки и превращает результаты в компактную сводку без использования модели:
- Метрики: код сравнивает каждое значение с показателем за то же время вчера и со статистической базой данных, а затем применяет откалиброванные пороговые значения, поэтому модель получает вердикты, в которых невозможно ошибиться при вычислениях.
Метрики: код сравнивает каждое значение с показателем за то же время вчера и со статистической базой данных, а затем применяет откалиброванные пороговые значения, поэтому модель получает вердикты, в которых невозможно ошибиться при вычислениях.
- Логи: API паттернов Loki уже группирует строки логов в паттерны при приеме. Watcher ведет учет этих паттернов между запусками, поэтому он может выявлять новые паттерны, замечать, когда частота известного паттерна удваивается, и запрашивать примеры только для нового содержимого.
Логи: API паттернов Loki уже группирует строки логов в паттерны при приеме. Watcher ведет учет этих паттернов между запусками, поэтому он может выявлять новые паттерны, замечать, когда частота известного паттерна удваивается, и запрашивать примеры только для нового содержимого.
- Развертывания: проверка, сообщающая о выкатываниях, позволяет модели отличить «это началось сразу после развертывания» от простого совпадения.
Развертывания: проверка, сообщающая о выкатываниях, позволяет модели отличить «это началось сразу после развертывания» от простого совпадения.
Предварительная обработка на практике: что возвращают запросы и что читает модель.
Исправные проверки сводятся к одной строке каждая, а сводка передается ровно в один вызов модели без использования инструментов. Модель возвращает структурированное решение: оценку (OK, предупреждение или критическое состояние), краткий отчет, отслеживаемые проблемы и доказательства к ним, а также указание на необходимость кого-либо уведомить или запустить расследование.
Например, предположим, вы выполняете развертывание, и пять минут спустя уровень ошибок немного возрастает, а в логах появляется ранее не встречавшийся паттерн. Это шум или повод разбудить дежурного? Это задача, с которой LLM справляются действительно хорошо. Сопоставление подобных доказательств и объяснение выводов полностью соответствуют сильным сторонам LLM, в то время как обработка тысяч точек данных — нет. Поскольку круг вопросов так узок, достаточно небольшой и быстрой модели.
Мы не принимаем это на веру. Наши оценки (evals) воспроизводят реальные производственные решения для моделей-кандидатов, и модель, которую большинство watcher использует сегодня, не пропустила ни одного критического случая, обходясь примерно вполовину дешевле за одно решение по сравнению с замещенной моделью.
Во сколько это обходится
Вот во сколько это обходится для 43 Watchers, работающих в нашем внутреннем стеке, по нашей прейскурантной цене 2 доллара за миллион токенов:
Типы Watchers
Стоимость запуска в месяц
Средний Watcher
Менее 5 $
41 из 43 Watchers
Менее 10 $
Самый дорогой Watcher (43 проверки каждые 15 минут)
Чуть более 20 $
Даже самый дорогой вариант обходится менее чем в один цент за запуск. Стоимость складывается из двух параметров, которыми вы управляете: как часто запускается watcher (от каждых пяти минут до каждых трех часов) и как много он отслеживает. Калибровка оплачивается отдельно, а запущенные watcher расследования тарифицируются как расследования. На вкладке обзора каждого watcher оценивается его месячное потребление токенов, поэтому вы видите стоимость еще до выставления счета.
Watchers предоставляются бесплатно до 1 декабря 2026 года. После этого они будут расходовать ежемесячный лимит системных вызовов вашего тарифного плана (совместно с другими автоматизированными задачами) и тарифицироваться по использованию токенов Assistant. Дополнительную информацию см. в разделе ценообразования Grafana Assistant.
Примечание: после активации биллинга Watchers будут работать точно так же, как и сегодня, и мы ожидаем, что стоимость их запуска останется на прежнем уровне.
Примечание: после активации биллинга Watchers будут работать точно так же, как и сегодня, и мы ожидаем, что стоимость их запуска останется на прежнем уровне.
Что обнаружил наш собственный watcher
Экономически эффективный watcher имеет смысл использовать только в том случае, если он действительно находит проблемы. За последние несколько месяцев watcher, который наша команда использует для самого Grafana Assistant, обнаружил более 10 производственных ошибок, затронувших клиентов, в том числе:
- Зависающую в цикле перезагрузок интеграцию с Microsoft Teams
Зависающую в цикле перезагрузок интеграцию с Microsoft Teams
- Неработающие отчеты о расследовании
Неработающие отчеты о расследовании
- Отсутствующие учетные данные веб-хуков в заново включенном регионе
Отсутствующие учетные данные веб-хуков в заново включенном регионе
- Сбои OAuth в Slack
Сбои OAuth в Slack
- Даже ошибки в самих Watchers, например оповещения, которые никогда не доходили до Alertmanager
Даже ошибки в самих Watchers, например оповещения, которые никогда не доходили до Alertmanager
Многие из этих проблем проявились в виде нового паттерна ошибок в логах. Новый паттерн сам по себе часто является шумом, но паттерн, совпадающий по времени с ростом числа ошибок и свежим развертыванием — как правило, нет. Именно такие выводы watcher делает отлично.
Он не всегда прав относительно причины, да это и не требуется. Во время одного из выкатываний он зафиксировал реальные сбои из-за исчерпания ресурсов базы данных MySQL, но указал неверную первопричину, после чего инженеры обнаружили неоптимальный план дорогостоящего запроса, который, вероятнее всего, внес свой вклад. Watcher замечает проблему; люди или расследование Assistant разбираются в деталях.
Интеграция в ваш стек
Watcher может размещаться поверх большей части вашего стека:
- Источники данных: Prometheus (включая Amazon Managed Service for Prometheus), метрики CloudWatch, Loki, Tempo, Pyroscope, синтетический мониторинг (Synthetic Monitoring), управляемые оповещения Grafana и BigQuery для бизнес-сигналов. С помощью источника данных Infinity он также может считывать любой HTTP API, возвращающий данные в формате JSON или XML. Один из наших watcher следит за страницами состояния провайдеров LLM, от которых зависит Assistant.
Источники данных: Prometheus (включая Amazon Managed Service for Prometheus), метрики CloudWatch, Loki, Tempo, Pyroscope, синтетический мониторинг (Synthetic Monitoring), управляемые оповещения Grafana и BigQuery для бизнес-сигналов. С помощью источника данных Infinity он также может считывать любой HTTP API, возвращающий данные в формате JSON или XML. Один из наших watcher следит за страницами состояния провайдеров LLM, от которых зависит Assistant.
- Точки назначения: Slack, Microsoft Teams, подписанные веб-хуки и Grafana Alerting, благодаря чему результаты поступают в соответствии с вашими политиками уведомлений и точками контакта, включая Grafana Cloud IRM. Критическая находка также может инициировать расследование Assistant (Assistant Investigation) или запустить автоматизацию Assistant (Assistant Automation).
Точки назначения: Slack, Microsoft Teams, подписанные веб-хуки и Grafana Alerting, благодаря чему результаты поступают в соответствии с вашими политиками уведомлений и точками контакта, включая Grafana Cloud IRM. Критическая находка также может инициировать расследование Assistant (Assistant Investigation) или запустить автоматизацию Assistant (Assistant Automation).
Watchers не заменяют правила оповещения; они покрывают то, что невозможно предусмотреть заранее. Чтобы найти оптимальный баланс, попросите Assistant проанализировать службу, и он порекомендует правило оповещения, watcher или их комбинацию для каждого сценария сбоя.
Чтобы опробовать эту функцию, перейдите в раздел AI > Watchers в Grafana Cloud и создайте watcher для службы, которую ваша команда проверяет вручную после каждого релиза. Опишите нормальное состояние, выберите источники данных и предоставьте калибровке сделать все остальное. Дополнительные сведения см. в документации по Watchers.












