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消息。