本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 CloudWatch Logs Insights 監控應用程式活動
由 Ram Kandaswamy (AWS) 建立
Summary
此模式提供使用 Amazon CloudWatch Logs Insights 自動偵測和提醒應用程式例外狀況的解決方案。透過實作自動化日誌分析和提醒,您可以快速識別和回應生產環境中的應用程式問題。
日誌在監控系統行為、識別問題並確保最佳效能方面扮演重要角色。在遷移程序期間,日誌檔案對於驗證系統在新環境中的運作、偵測相容性問題,以及識別任何非預期行為來說非常寶貴。問題可能與操作或安全性有關。對於與安全相關的問題,儘早偵測未經授權的存取嘗試或可疑活動對於維護安全和法規合規至關重要。處理敏感資料或關鍵系統時,此功能特別重要。
對於需要維持高應用程式可用性並快速回應生產問題的團隊來說,此模式特別重要。它與各種產業和使用案例相關。例如,在電信中,它可以快速識別網路組態錯誤或中斷,並偵測次佳路由路徑,以精確找出潛在的擁塞。在物聯網 (IoT) 網域中,Greengrass 元件可以將日誌發佈至 CloudWatch,讓此技術擷取相關日誌詳細資訊,並在全方位儀表板中呈現。
先決條件和限制
先決條件
部署在作用中的生產應用程式 AWS 帳戶
基本了解生產應用程式的記錄格式和例外狀況模式
設定為串流至 Amazon CloudWatch Logs 的應用程式日誌
限制
有些 AWS 服務 不適用於所有 AWS 區域。如需區域可用性,請參閱AWS 依區域的服務
。如需特定端點,請參閱服務端點和配額,然後選擇服務的連結。
架構
下圖顯示 CloudWatch Logs Insights 如何評估資源日誌,並將相關資料視覺化傳送至 CloudWatch 儀表板。

該圖顯示以下工作流程:
資源會將日誌發佈至 CloudWatch Logs。資源可以包含 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體或 Amazon Simple Storage Service (Amazon S3) 儲存貯體等 AWS 資源。另一個範例包括已安裝 CloudWatch Agent 的現場部署系統,可將日誌發佈至 CloudWatch。
相關模式字串的 CloudWatch Logs Insights 篩選條件。搜尋模式字串的範例包括「錯誤」、「例外」或特定規則表達式。
一般而言,生產支援團隊或開發人員會將模式視覺化新增至 CloudWatch 儀表板。
自動化和擴展
開發人員可以使用 AWS Cloud Development Kit (AWS CDK)、 或 AWS SDKs 來處理多個字串模式 AWS CloudFormation,來自動化此模式的解決方案。團隊可以將此自動化納入其持續整合和部署 (CI/CD) DevOps 程序。
工具
AWS 服務
Amazon CloudWatch Logs 可協助您集中所有系統、應用程式的日誌, AWS 服務 以便您可以監控日誌並將其安全地存檔。
AWS Identity and Access Management (IAM) 透過控制已驗證並獲授權使用的人員,協助您安全地管理對 AWS 資源的存取。
AWS Key Management Service (AWS KMS) 可協助您建立和控制密碼編譯金鑰,以協助保護您的資料。
最佳實務
定義和設定日誌群組以分析相關日誌資料。
使用欄位總管來了解日誌資料中可用的結構和欄位。
根據您的特定需求調整範例查詢,以加快分析速度。
監控查詢以識別潛在的效能問題或瓶頸。
設定查詢限制以避免過多成本或資源消耗。
儲存查詢以供日後使用,以節省時間並確保分析一致。
套用適當的 IAM 政策來控制對 CloudWatch Logs Insights 和日誌群組的存取。 CloudWatch 遵循最低權限原則,並授予執行任務所需的最低許可。如需詳細資訊,請參閱 IAM 文件中的授予最低權限和安全最佳實務。
針對敏感日誌資料使用 啟用日誌資料加密 AWS KMS。
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
設定 IAM 許可。 | 若要設定 IAM 許可,請執行下列動作:
如需如何建立 IAM 政策或將許可新增至現有政策的詳細資訊,請參閱《IAM 使用者指南》中的使用客戶受管政策定義自訂 IAM 許可和編輯 IAM 政策。 如需詳細資訊,請參閱《Amazon CloudWatch Logs 使用者指南》中的 Amazon CloudWatch Logs 和 CloudWatch Logs 許可參考的身分和存取管理。 CloudWatch Amazon CloudWatch | AWS 管理員、AWS DevOps、AWS 系統管理員、雲端管理員、雲端架構師、DevOps 工程師 |
建立 日誌群組 | 若要建立日誌群組,請使用下列任一選項:
| AWS 管理員、AWS DevOps、AWS 系統管理員、雲端管理員、雲端架構師、DevOps 工程師 |
產生 CloudWatch Logs Insights 查詢。 | 若要建立和儲存 CloudWatch Logs Insights 查詢: | AWS 管理員、AWS DevOps、AWS 系統管理員、雲端管理員、雲端架構師、DevOps 工程師 |
在 CloudWatch 儀表板中建立視覺化。 | 若要使用 CloudWatch 儀表板建立視覺化效果,請執行下列動作:
如需儀表板選項和功能的詳細資訊,請參閱《Amazon CloudWatch Logs 使用者指南》中的使用 Amazon CloudWatch 儀表板和使用儀表板變數建立靈活的 CloudWatch CloudWatch 儀表板。 Amazon CloudWatch | AWS 管理員、AWS DevOps、AWS 系統管理員、雲端管理員、雲端架構師、DevOps 工程師 |
故障診斷
問題 | 解決方案 |
---|---|
找不到查詢結果或查詢似乎已中斷 | 從從範例查詢修改的工作查詢開始。對部分查詢 (例如篩選條件或欄位) 執行小型增量變更,並利用 CloudWatch Logs 查詢產生器功能。 |
日誌群組未建立日誌串流 | 在 IAM 政策中,請確定 CreateLogStream 和 CreateLogGroup 操作的資源具有萬用字元 |