本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 CloudWatch Logs Insights 監控應用程式活動
Ram Kandaswamy,Amazon Web Services
總結
此模式提供使用 Amazon CloudWatch Logs Insights 自動偵測和提醒應用程式例外狀況的解決方案。透過實作自動化日誌分析和提醒,您可以快速識別和回應生產環境中的應用程式問題。
日誌在監控系統行為、識別問題並確保最佳效能方面扮演重要角色。在遷移程序期間,日誌檔案對於驗證系統在新環境中的運作、偵測相容性問題,以及識別任何非預期行為來說非常寶貴。問題可能與操作或安全性有關。對於與安全相關的問題,儘早偵測未經授權的存取嘗試或可疑活動對於維護安全和法規合規至關重要。處理敏感資料或關鍵系統時,此功能特別重要。
對於需要執行下列動作的團隊來說,此模式特別重要:
維持高可用性的應用程式。
快速回應生產問題。
分析 AWS 服務 日誌未擷取的應用程式特定錯誤。
在沒有預先建置的基礎設施的情況下執行隨需日誌分析。
CloudWatch Logs Insights 最適合用於分析應用程式產生的日誌,其中錯誤內容僅存在於您的應用程式程式碼中。CloudWatch Logs Insights 擅長下列任務:
查詢非結構化或半結構化日誌資料。
在事件回應期間執行隨需分析。
關聯多個日誌群組的事件。
在沒有外部工具的情況下建立快速視覺化。
先決條件和限制
先決條件
部署在作用中的生產應用程式 AWS 帳戶
基本了解生產應用程式的記錄格式和例外狀況模式
設定為串流至 Amazon CloudWatch Logs 的應用程式日誌
限制
有些 AWS 服務 完全無法使用 AWS 區域。如需區域可用性,請參閱AWS 依區域的服務
。如需特定端點,請參閱服務端點和配額,然後選擇服務的連結。
Architecture
下圖顯示 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) 可協助您建立和控制密碼編譯金鑰,以協助保護您的資料。
最佳實務
查詢效率
安全性
成本最佳化
每個查詢掃描的資料每 GB CloudWatch Logs Insights 費用。縮小時間範圍並鎖定特定日誌群組以降低成本。
設定適當的日誌保留政策來管理儲存成本。
若要經常分析大型歷史資料集,請考慮將日誌匯出至 Amazon S3 並使用 Amazon Athena。
檢閱 CloudWatch 定價
以了解使用案例的成本影響。
史詩
| 任務 | Description | 所需的技能 |
|---|---|---|
設定 IAM 許可。 | 若要設定 IAM 許可,請執行下列動作:
如需如何建立 IAM 政策或將許可新增至現有政策的詳細資訊,請參閱《IAM 使用者指南》中的使用客戶受管政策定義自訂 IAM 許可和編輯 IAM 政策。 如需詳細資訊,請參閱《Amazon CloudWatch Logs 使用者指南》中的 Amazon CloudWatch Logs 的 Identity and Access Management 和 CloudWatch Logs 許可參考。 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 操作的資源具有萬用字元 |
查詢逾時或效能緩慢 | 減少時間範圍、鎖定特定日誌群組,或簡化查詢。複雜的規則表達式 ( |
沒有傳回有效時間範圍的資料 | 驗證日誌群組選擇,並檢查日誌是否正在擷取 (檢閱日誌串流),並確認篩選條件模式與您的日誌格式相符。 |