AI News HubLIVE
站内改写

AgentWatch:通过环境代理实现主动式AWS监控

本文通过实际案例展示了AgentWatch的功能,该解决方案每15分钟执行一次基础设施检查,汇总跨多个AWS账户的CloudWatch指标、日志和告警。代理直接将可操作报告发送到Slack,并响应有关基础设施状态的自然语言查询。同时,探讨了三种人机协同模式,在最大化自动化的同时保持适当监督。

文章情报

工程师中级

要点

  • AgentWatch是一种环境代理,可主动监控AWS资源,避免被动响应问题。
  • 它每15分钟自动检查基础设施,并通过Slack发送结构化报告。
  • 三种人机协同模式(通知、提问、审核)确保自动化与人类监督的平衡。
  • 基于Amazon Bedrock和AgentCore Runtime构建,支持自然语言查询和跨账户监控。

为什么重要

这条新闻值得关注,因为AgentWatch是一种环境代理,可主动监控AWS资源,避免被动响应问题。

技术影响

可能影响模型选型、推理成本、产品能力和评测基准。

AgentWatch为您的DevOps团队提供环境式AWS资源监控,告别了跨多个账户管理Amazon CloudWatch告警的被动循环。CloudWatch告警触发时往往为时已晚,AWS Lambda错误悄然积累,Amazon EC2性能劣化直到客户报告才被发现。这使团队持续处于救火状态而非预防问题。每天,您手动检查仪表板、分流CloudWatch告警并调查已经影响用户的问题。指标不断流入,日志在数十个服务中累积,告警持续触发,但真正重要的是什么、何时重要以及如何处理,仍然是实际挑战。

这种被动监控方式给团队带来了运营挑战。您在不同工具间切换,从碎片化数据源拼凑事件经过,花费数小时进行事后分析本可预防的问题。等到理解问题根源时,客户已遭遇性能下降或服务中断。值班工程师因告警疲劳而疲惫不堪,团队生产力因日常监控任务挤占创新时间而受损。这些挑战导致SLA目标未达成、客户投诉升级,以及技术债务不断积累——团队忙于救火而无力实施预防措施。当前监控工具要求您不断查询、分析并判断哪些值得关注。您需要不同的方法。AgentWatch作为一种环境AWS资源监控代理,提供了不同的基础设施监督方式。代理持续与团队协同工作,观察基础设施、分析模式并揭示洞察,无需持续人工干预。它监控系统,仅在真正需要您的判断或行动时才将您引入循环。

本文通过实际案例展示了AgentWatch的功能。您将看到该解决方案如何每15分钟执行基础设施检查,汇总跨多个AWS账户的CloudWatch指标、日志和告警。代理直接将可操作报告发送到Slack,并响应有关基础设施状态的自然语言查询。同时,我们探讨了三种人机协同模式,在最大化自动化的同时保持适当监督。

**什么是环境代理?**

环境代理代表了向事件驱动、自主AI系统的转变。这些代理监听事件流并动态响应,同时处理多个事件,减少人工运营负担。它们提供持续监控而无需持续人工干预,但在关键决策点保持适当的人类参与。

环境代理可以事件驱动方式动态触发,并行处理多个任务,非常适合条件快速变化且需要持续关注的监控场景。环境代理最适合特定场景。将其引入工作流程需要深思熟虑:代理何时以及如何与人类交互,以及在代理执行和通知最终用户时人类拥有的控制权。

**如何应用于您的AWS基础设施?**

对于您的AWS基础设施,这意味着AgentWatch可以持续监控资源,识别趋势,并提供可操作情报,无需手动查询仪表板或筛选日志。现在您了解了环境代理概念,让我们探讨AgentWatch如何将这些原则应用于AWS基础设施监控。

**介绍AgentWatch**

我们构建AgentWatch作为基于Amazon Bedrock大语言模型的环境AWS监控代理,并使用Amazon Bedrock AgentCore Runtime部署——一个专为大规模运行AI代理而构建的安全、无服务器托管环境。使用AgentCore Runtime,您可以将代理部署为可通过编程调用的HTTP端点。AgentCore Runtime自动处理身份验证、扩展和基础设施管理,使您能够专注于代理能力而非运营问题。

AgentWatch展示了如何实现智能基础设施监控,平衡自动化与人类控制。我们构建了一个混合环境代理:某些任务完全自主(如监控资源利用率、提供信息),而其他操作需要用户配置和批准,例如分析告警原因和实施修复。

您的组织可能使用不同的协作通信工具。随着AI能力进步,您将通过Slack等通信服务以不同方式与自主工作者(代理)协作。这些代理更快速高效地完成任务,同时与最终用户保持更紧密的反馈循环。在本方案中,我们使用Slack作为最终用户界面,环境代理在其中发布消息,您也可按需与代理交互。

有了此基础,我们来看AgentWatch如何通过三种核心模式保持适当的人类监督。

**人机协同模式**

人机协同是构建可信环境代理的基础。环境代理自主运行,但必须知道何时让人类参与决策。AgentWatch实现了三种核心人机协同模式,平衡自主性与适当的人类监督:

  • **通知模式**:通知您重要事件但不采取行动。适用于标记您应了解但代理无权行动的事件。实施:每15分钟(参数化,MonitoringSchedule速率控制;其他选项包括5、10、30、60分钟间隔),AgentWatch生成涵盖CloudWatch告警、关键问题和跨AWS服务资源健康状况的监控报告。代理将这些报告发布到Slack频道,让团队了解情况而不要求立即行动或批准。选择15分钟间隔在及时发现问题与合理API使用和通知频率之间取得平衡。
  • **提问模式**:代理在遇到不确定性时向您请求澄清。防止代理在模糊情况下做出错误假设或采取不当行动。实施:若AgentWatch检测到关键告警但不确定是继续自动修复还是升级给值班工程师,它会在Slack中发布问题请求指导。这类似于SRE在重大变更前咨询高级管理员。
  • **审核模式**:您可以批准、拒绝或编辑代理的行动后再执行。对于需要人类判断的敏感操作尤为重要。实施:当AgentWatch要执行潜在影响行动(如修改AWS资源、调整扩缩策略、更改告警阈值)时,它通过Slack提交提议行动及相关上下文和理由。您可批准、完全拒绝或编辑参数后再执行。

这些人机协同模式为团队带来多重好处。它们通过确保关键时刻的适当人类监督来降低实施风险。模式模仿工程团队中的自然人际沟通,使采用更直观。随着时间推移,代理从您的反馈中学习,持续改进决策。

**架构与实现**

AgentWatch实现了每15分钟自主收集和汇总AWS基础设施数据的定时监控系统。该监控方法使用AI代理获取当前系统信息,并通过Slack通知交付结构化状态报告。

图1: AgentWatch架构图

AgentWatch监控周期始于Amazon EventBridge通过cron规则每15分钟触发一个AWS Lambda函数。该函数使用OAuth 2.0客户端凭证通过Amazon Cognito认证获取Bearer令牌,然后调用AgentCore Runtime并附带监控提示。AgentCore实例化一个LangChain代理——一个构建于语言模型之上的应用框架,可使用工具并维护对话上下文——该代理配备七个专有CloudWatch监控工具,系统收集基础设施数据,包括仪表板、日志组、服务日志、错误模式、告警状态和跨账户指标,提供对AWS环境的全面可见性。

数据收集完成后,LangChain代理将聚合的CloudWatch数据发送到Amazon Bedrock的Claude Sonnet模型,将原始监控信息处理转换为上下文相关、人类可读的洞察。智能摘要流经代理返回AgentCore Runtime并回到Lambda函数,该函数将分析格式化为结构化的Slack区块,包含日志分析和告警状态的组织章节。随后AgentWatch通过Webhook将格式化监控报告发送到指定的Slack频道,为团队在协作工作空间中提供定期、自动化的AWS基础设施健康更新——所有这些监控任务无需人工干预。

我们构建了AgentWatch作为一个LangChain代理,配备七个专为AWS基础设施服务的监控工具。代理使用Amazon Bedrock Claude模型进行自然语言理解,可分析CloudWatch仪表板、获取日志、检查告警,并执行跨账户监控。架构遵循混合环境模型,兼具定时监控和按需交互能力。利用LLM的自然语言理解,AgentWatch分析复杂AWS监控场景。它确定哪些工具组合可提供监控覆盖,然后生成包含可操作洞察的人类可读报告。代理在交互中维护对话上下文,支持后续问题和监控策略的渐进优化。

将代理部署在AgentCore Runtime上,这提供了一个安全、无服务器且专为大规模运行AI代理构建的托管环境。AgentCore Runtime支持多种代理框架和模型提供商。部署后,代理作为可通过编程调用的HTTP端点运行。AgentCore Identity使用OAuth 2.0进行身份验证,Cognito作为身份提供商,但您也可以使用其他OIDC兼容身份提供商。

部署基础设施由三个主要组件协同工作。首先,Lambda函数作为编排层。它通过Cognito认证获取Bearer令牌,调用AgentCore Runtime端点并附带适当提示,然后将响应格式化为Slack消息。