AgentWatch: проактивный мониторинг AWS с ambient agents
AgentWatch обеспечивает непрерывный мониторинг ресурсов AWS для команды DevOps и уходит от реактивного цикла управления оповещениями Amazon CloudWatch в нескольких аккаунтах. Оповещения CloudWatch приходят слишком поздно, ошибки AWS Lambda накапливаются незаметно, а снижение производительности Amazon Elastic Compute Cloud (Amazon EC2) остается необнаруженным, пока о проблемах не сообщат пользователи. В результате команда не предотвращает инциденты, а постоянно тушит пожары. Каждый день приходится вручную проверять дашборды, разбирать оповещения CloudWatch и изучать проблемы, которые уже повлияли на пользователей. Потоки метрик, логи из десятков сервисов и постоянные срабатывания тревог создают главную сложность: понять, что важно, когда это важно и что с этим делать.
Такой реактивный подход к мониторингу создает для команды операционные сложности. Приходится переключаться между инструментами, собирать картину инцидента из фрагментированных источников данных и тратить часы на постмортемы по проблемам, которых можно было избежать. К тому моменту, когда становится понятно, что пошло не так, пользователи уже сталкиваются со снижением производительности или простоями. Инженеры on-call выгорают из-за alert fatigue, производительность команды падает, а рутинный мониторинг съедает время, которое можно было бы направить на разработку. В итоге срываются цели по service level agreement (SLA), растет число обращений клиентов и накапливается технический долг, потому что команда занимается устранением последствий, а не профилактикой. Современные инструменты мониторинга требуют постоянно запрашивать данные, анализировать их и решать, что заслуживает внимания. Нужен другой подход. Именно его предлагает AgentWatch — ambient AWS monitoring agent, который работает рядом с командой, непрерывно наблюдает за инфраструктурой, анализирует паттерны и выдает инсайты без постоянного участия человека. Он вовлекает вас в процесс только тогда, когда действительно требуется ваше решение или действие.
В этой статье мы показываем возможности AgentWatch на практической реализации. Вы увидите, как решение выполняет проверки инфраструктуры каждые 15 минут, сводит метрики, логи и alarms из CloudWatch по нескольким аккаунтам AWS, отправляет actionable reports прямо в Slack и отвечает на вопросы о состоянии инфраструктуры на естественном языке. Также мы разберем три human-in-the-loop паттерна, которые обеспечивают нужный уровень контроля при максимальной автоматизации.
Что такое ambient agents?
Ambient agents — это переход к event-driven автономным AI-системам. Такие агенты слушают потоки событий и динамически реагируют на них, обрабатывая несколько событий одновременно и снижая операционную нагрузку на людей. Они обеспечивают непрерывный мониторинг без постоянного вмешательства человека, но при этом сохраняют нужный уровень контроля, вовлекая людей в критических точках принятия решений.
Ambient agents можно динамически запускать в event-driven режиме, они способны выполнять несколько задач параллельно, поэтому хорошо подходят для сценариев мониторинга, где условия быстро меняются и требуют постоянного внимания. Ambient agents лучше всего работают в конкретных сценариях. Встраивая их в рабочий процесс, важно вдумчиво определить, когда и как такие агенты взаимодействуют с людьми, а также какой уровень контроля люди сохраняют над workflow по мере того, как агенты выполняют действия и уведомляют конечных пользователей.
Как это применимо к вашей инфраструктуре AWS?
Для инфраструктуры AWS это означает, что AgentWatch может непрерывно отслеживать ресурсы, выявлять тренды и выдавать полезную информацию без необходимости вручную запрашивать дашборды или просматривать логи. Теперь, когда вы понимаете концепцию ambient agent, давайте посмотрим, как AgentWatch реализует эти принципы для мониторинга инфраструктуры AWS.
Знакомьтесь: AgentWatch
Мы построили AgentWatch как ambient AWS monitoring agent на базе большой языковой модели (LLM) Amazon Bedrock и развернули его с помощью Amazon Bedrock AgentCore Runtime — безопасной серверless-среды хостинга, созданной специально для запуска AI-агентов в масштабе. С помощью AgentCore Runtime можно развертывать агентов как HTTP endpoints, к которым вы обращаетесь программно. AgentCore Runtime автоматически обрабатывает аутентификацию, масштабирование и управление инфраструктурой, чтобы вы могли сосредоточиться на возможностях агента, а не на операционных вопросах.
AgentWatch показывает, как можно реализовать интеллектуальный мониторинг инфраструктуры, который балансирует автоматизацию и человеческий контроль. Мы создаем гибридного ambient agent: часть задач он выполняет полностью автономно — это низкорисковые действия вроде мониторинга использования ресурсов и предоставления информации, — а другие действия требуют пользовательской настройки и подтверждения, например анализ причин срабатывания alarms и выполнение исправлений.
Ваша организация может использовать разные средства коммуникации для совместной работы. По мере развития AI вы будете взаимодействовать с автономными исполнителями, или агентами, через разные сервисы общения, например Slack. Такие агенты выполняют задачи быстрее и эффективнее, сохраняя более короткую обратную связь с конечными пользователями. В этом решении мы используем Slack как интерфейс для конечного пользователя: туда ambient agent публикует сообщения, и там же вы взаимодействуете с ним по запросу.
Когда эта основа готова, давайте разберем, как AgentWatch сохраняет нужный уровень человеческого контроля с помощью трех основных паттернов.
Паттерны human-in-the-loop
Human-in-the-loop (HITL) — фундамент доверительных ambient agents. Хотя такие агенты работают автономно, они должны понимать, когда нужно вовлекать человека в процесс принятия решений. AgentWatch реализует три основных HITL-паттерна, которые балансируют автономность и соответствующий контроль со стороны человека:
- Паттерн уведомления: паттерн уведомления сообщает вам о важных событиях, не предпринимая действий. Он полезен для событий, о которых нужно знать, но по которым агент не уполномочен действовать.
- Реализация: каждые 15 минут (параметризуемо; MonitoringSchedule rate управляет частотой, также доступны интервалы 5, 10, 30 и 60 минут) AgentWatch формирует мониторинговый отчет, охватывающий alarms CloudWatch, критические проблемы и состояние ресурсов в сервисах AWS. Агент публикует эти отчеты в канал Slack, информируя команду без необходимости немедленных действий или подтверждения. Мы выбрали интервал 15 минут, чтобы сбалансировать своевременное обнаружение проблем и разумное использование API и частоту уведомлений. Этого достаточно, чтобы быстро замечать проблемы, но при этом не перегружать команду alert fatigue.
- Паттерн вопроса: паттерн вопроса позволяет агенту попросить у вас уточнение, когда он не уверен, как действовать дальше. Это помогает избежать неверных предположений и неподходящих действий в неоднозначных ситуациях.
- Реализация: если AgentWatch обнаруживает критическое alarm, но не понимает, следует ли запускать автоматическое устранение проблемы или эскалировать инцидент on-call инженеру, он отправляет в Slack вопрос с просьбой дать указания. Это похоже на то, как site reliability engineer (SRE) консультируется со старшим администратором перед значимыми изменениями в production-системах.
- Паттерн проверки: в паттерне проверки вы можете одобрить, отклонить или отредактировать действия до того, как агент их выполнит. Это особенно важно для чувствительных операций, где требуется человеческое суждение.
- Реализация: когда AgentWatch хочет выполнить потенциально значимые действия, например изменить ресурсы AWS, скорректировать политики масштабирования или поменять пороги alarms, он показывает вам предлагаемое действие через Slack вместе с контекстом и обоснованием. Затем вы можете одобрить выполнение, полностью отклонить действие или отредактировать параметры перед запуском. Эти HITL-паттерны дают команде несколько преимуществ. Они снижают риски внедрения, обеспечивая нужный контроль в критические моменты. Паттерны повторяют естественную коммуникацию, привычную для инженерных команд, поэтому их легко внедрять. Со временем агент учится на вашей обратной связи, постепенно улучшая качество решений.
Теперь давайте перейдем к технической архитектуре, которая воплощает эти возможности.
Архитектура и реализация
AgentWatch реализует планируемую систему мониторинга, которая автономно собирает и суммирует данные инфраструктуры AWS каждые 15 минут. Этот подход использует AI-агентов для получения актуальной системной информации и доставки структурированных отчетов о состоянии через уведомления в Slack.

Рисунок 1: Диаграмма архитектуры AgentWatch
Цикл мониторинга AgentWatch начинается с того, что Amazon EventBridge запускает функцию AWS Lambda каждые 15 минут по правилу на основе cron. Эта функция Lambda проходит аутентификацию в Amazon Cognito с использованием Open Authorization 2.0 (OAuth 2.0) client credentials, чтобы получить bearer token, а затем вызывает AgentCore Runtime с мониторинговым prompt. AgentCore создает LangChain agent — фреймворк для построения приложений на базе языковых моделей, которые могут использовать инструменты и сохранять контекст разговора, — с доступом к семи специализированным monitoring tools для инфраструктуры AWS. Эти инструменты системно собирают данные инфраструктуры, включая дашборды, log groups, service logs, error patterns, alarm statuses и cross-account metrics, обеспечивая полную видимость всей среды AWS.
После завершения сбора данных LangChain agent отправляет агрегированные данные CloudWatch в модель Claude Sonnet от Amazon Bedrock, которая обрабатывает и преобразует сырую информацию мониторинга в контекстные, понятные человеку инсайты. Интеллектуальная сводка возвращается через агента в AgentCore Runtime и далее в функцию Lambda, которая форматирует анализ в структурированные Slack blocks с организованными разделами для анализа логов и статуса alarms. Затем AgentWatch доставляет отформатированный отчет о мониторинге в выбранный канал Slack через webhook, предоставляя команде регулярные автоматические обновления о состоянии инфраструктуры AWS прямо в рабочем пространстве для совместной работы. Все эти задачи мониторинга выполняются без ручного вмешательства.
Мы построили AgentWatch как LangChain agent с доступом к семи специализированным monitoring tools для инфраструктуры AWS. Агент использует модель Amazon Bedrock Claude для понимания естественного языка и может анализировать дашборды CloudWatch, извлекать логи, проверять alarms и выполнять cross-account monitoring. Архитектура следует гибридной ambient-модели, объединяющей плановый мониторинг и on-demand взаимодействие. Используя понимание естественного языка LLM, AgentWatch анализирует сложные сценарии мониторинга AWS. Он определяет, какие комбинации инструментов обеспечивают нужное покрытие мониторинга, а затем формирует human-readable reports с actionable insights. Агент сохраняет контекст разговора между взаимодействиями, что поддерживает последующие вопросы и постепенную донастройку стратегии мониторинга.
Развертывание агента на AgentCore Runtime обеспечивает безопасную, serverless и специально предназначенную среду хостинга для запуска AI-агентов в масштабе. AgentCore Runtime поддерживает несколько agent frameworks и провайдеров моделей. После развертывания агент становится доступен как HTTP endpoint, который можно вызывать программно. AgentCore Identity выполняет аутентификацию с использованием OAuth 2 с Cognito в качестве identity provider, хотя можно использовать и другие identity providers, совместимые с OpenID Connect (OIDC) IdP.
Инфраструктура развертывания состоит из трех основных компонентов, работающих вместе. Во-первых, функция Lambda служит уровнем оркестрации. Она аутентифицируется в Cognito, получает bearer tokens, вызывает endpoint AgentCore Runtime с соответствующими prompt и форматирует ответы для Slack.
@app.entrypoint
def agent_handler(payload: Dict[str, Any]) -> str:
# Извлечь prompt и контекст сессии
user_prompt = payload.get("prompt")
thread_id = payload.get("session_id", "default-session")
# Вызвать агента с памятью разговора
result = monitoring_agent.invoke(
{"messages": [{"role": "user", "content": user_prompt}]},
{"configurable": {"thread_id": thread_id}}
)
return result['messages'][-1].content
Во-вторых, EventBridge обеспечивает возможность планового запуска через правило, настроенное на срабатывание каждые 15 минут. Когда правило срабатывает, Lambda использует заранее заданный monitoring prompt с запросом сводок по CloudWatch alarms, критическим проблемам и состоянию ресурсов.
В-третьих, Amazon API Gateway предоставляет функцию Lambda как HTTP endpoint, который интегрируется со Slack app через slash commands. Ваши вопросы, введенные в Slack, направляются в API Gateway, который запускает Lambda с вашим вопросом в качестве prompt.
Такая двухконтурная архитектура позволяет AgentWatch работать в двух режимах. В scheduled mode агент автономно запускается каждые 15 минут, проактивно мониторит инфраструктуру AWS и публикует отчеты, чтобы держать вашу команду в курсе без ручного вмешательства. В on-demand mode вы можете задавать конкретные вопросы через Slack и получать мгновенные ответы, что позволяет проводить интерактивный поиск причин и расследование при необходимости.
Теперь посмотрим, как эти возможности работают на практике, на реальных примерах.
AgentWatch в действии
Следующие скриншоты демонстрируют оба операционных режима AgentWatch.
Отчеты планового мониторинга: каждые 15 минут AgentWatch автоматически формирует и публикует отчеты мониторинга в Slack, обеспечивая команде непрерывную видимость состояния инфраструктуры AWS.

Рисунок 2: Отчет планового мониторинга в Slack с alarms CloudWatch, состоянием ресурсов и критическими проблемами
Взаимодействие по запросу: вы можете задавать конкретные вопросы через slash commands Slack, чтобы разбирать проблемы или получать информацию в реальном времени. Агент обрабатывает ваш вопрос и предоставляет подробные, учитывающие контекст ответы на основе текущего состояния инфраструктуры AWS.

Рисунок 3: Пользователь задает конкретный вопрос через slash command Slack и получает подробный ответ
Помимо этих рабочих примеров, AgentWatch приносит более широкую пользу всей организации.
Сценарии применения и преимущества
AgentWatch приносит пользу в нескольких операционных сценариях. Решение выявляет потенциальные проблемы до того, как они повлияют на пользователей, непрерывно анализируя метрики CloudWatch, логи и alarms по всей инфраструктуре AWS. Такой проактивный подход снижает операционные затраты, поэтому команда тратит меньше времени на рутинный мониторинг и при этом сохраняет видимость состояния систем благодаря автоматическим отчетам и интеллектуальным оповещениям.
Интеграция со Slack улучшает командное взаимодействие, поддерживая запросы на естественном языке и обсуждение инфраструктурных проблем, а также улучшая коммуникацию между командами разработки и эксплуатации. Для корпоративных сред поддержка нескольких аккаунтов позволяет крупным организациям отслеживать распределенные инфраструктуры AWS из единого интеллектуального агента.
Как начать работу
Чтобы начать работу с AgentWatch, перейдите в GitHub repository с полными инструкциями по развертыванию и деталями реализации.
Требования
Перед развертыванием AgentWatch убедитесь, что у вас есть учетная запись AWS с правами на CloudWatch, Lambda и EventBridge. Вам понадобится Cognito User Pool, настроенный для аутентификации OAuth 2.0, а также рабочее пространство Slack, в котором у вас есть права на создание приложений. Для локальной разработки и настройки требуется Python 3.11 или новее.
Быстрая настройка
Используйте следующие команды для быстрой настройки.
- Настройте Identity Provider
python idp_setup/setup_cognito.py - Разверните агента в AgentCore Runtime
# Установите последнюю версию AgentCore CLI npm install -g @aws/agentcore # Создайте проект AgentCore и подключите существующий код агента agentcore create --name AgentWatch --no-agent agentcore add agent \ --name AgentWatch \ --type byo \ --code-location . \ --entrypoint ambient_agent.py \ --language Python # Разверните в AgentCore Runtime agentcore deploy - Разверните инфраструктуру.
cd deployment ./deploy.sh - Настройте интеграцию со Slack — обновите Slack app, указав endpoint API Gateway из результата развертывания.
Скрипт развертывания автоматизирует весь процесс. Он настраивает identity provider (Cognito), разворачивает агента в AgentCore Runtime и поднимает функцию Lambda, правило EventBridge и API Gateway. После завершения скрипт выдает Slack webhook URL, который понадобится для настройки вашего приложения.
Проверка развертывания
- Плановый мониторинг: AgentWatch автоматически публикует отчеты каждые 15 минут.
- Запросы по требованию: используйте slash commands Slack для конкретных вопросов:
/ask Каков статус моих alarms CloudWatch? /ask Покажи последние ошибки в моих функциях Lambda /ask Проанализируй паттерны логов за последний час
После развертывания убедитесь, что реализация соответствует лучшим практикам безопасности и эксплуатации.
Безопасность и лучшие практики
AgentWatch использует несколько уровней защиты для вашей инфраструктуры. OAuth 2.0 с Cognito обеспечивает безопасный доступ к API, а assumption ролей AWS Identity and Access Management (IAM) дает тонко настраиваемые межаккаунтные разрешения. AgentCore Runtime добавляет security и compliance корпоративного уровня. Для операционной безопасности HITL-паттерны помогают предотвращать неподходящие автономные действия. Память разговора агента сохраняет контекст, соблюдая границы сессий, а журналирование обеспечивает audit trail и возможности для troubleshooting.
Расширение AgentWatch
Ambient-архитектура агента, которую мы построили для мониторинга, может быть расширена и на другие операционные области.
- Оптимизация затрат: добавьте инструменты для анализа паттернов расходов и рекомендаций по оптимизации.
- Мониторинг безопасности: интегрируйте AWS Security Hub и Amazon GuardDuty для обнаружения угроз.
- Отчетность по compliance: автоматизируйте проверки compliance в AWS Config и AWS CloudTrail.
- Анализ производительности: дополните решение мониторингом производительности приложений и рекомендациями по оптимизации.
Заключение
В этой статье мы показали, как AgentWatch улучшает мониторинг инфраструктуры, сочетая автономную работу и соответствующий человеческий контроль. Вы увидели, как решение выполняет проверки инфраструктуры каждые 15 минут, отправляет actionable reports в Slack и отвечает на вопросы на естественном языке о вашей среде AWS. Три human-in-the-loop паттерна — notify, question и review — помогают оставаться в курсе и сохранять контроль, получая при этом преимущества непрерывного интеллектуального мониторинга.
В основе архитектуры лежат AWS Managed Services (AMS) и Amazon Bedrock AgentCore Runtime, которые обеспечивают масштабируемую и безопасную базу для развертывания ambient agents. Этот подход можно применять не только для мониторинга AWS, но и в других областях, где требуется непрерывное наблюдение с выборочным участием человека, включая оптимизацию затрат, мониторинг безопасности, отчетность по compliance и анализ производительности.
По мере того как AI-агенты становятся все более совершенными, такие ambient-архитектуры, как AgentWatch, помогут работать эффективнее, сохраняя при этом человеческое суждение, необходимое для критически важных решений по инфраструктуре. Чтобы начать работу с AgentWatch, перейдите в AgentWatch – GitHub за полными инструкциями по развертыванию и деталями реализации.
Материал — перевод статьи с английского.
Оригинал: AgentWatch: Proactive AWS monitoring with ambient agents