REL 6: 如何監控工作負載資源?
日誌和指標是深入了解工作負載運作狀態的強大工具。您可以設定工作負載以監控日誌和指標,並在超過閾值或發生重大事件時傳送通知。監控可讓您的工作負載識別何時會超過低效能閾值或發生故障,以便自動復原來回應。
資源
 Using Amazon CloudWatch Metrics
 Publishing Custom Metrics
 Using Amazon CloudWatch Dashboards
 Using Canaries (Amazon CloudWatch Synthetics)
 Amazon CloudWatch Logs Insights Sample Queries
 AWS Systems Manager Automation
 What is AWS X-Ray?
 Debugging with Amazon CloudWatch Synthetics and AWS X-Ray
 The Amazon Builders' Library: Instrumenting distributed systems for operational visibility
最佳實務:
- 
               監控工作負載的所有元件 (產生): 使用 Amazon CloudWatch 或第三方工具監控工作負載的元件。使用 Personal Health Dashboard 監控 AWS 服務 
- 
               定義和計算指標 (彙總): 視需要儲存日誌資料並套用篩選條件以計算指標,例如特定日誌事件的計數,或是從日誌事件時間戳記計算的延遲 
- 
               傳送通知 (即時處理和警示): 當重大事件發生時,需要知道的組織會收到通知 
- 
               自動化回應 (即時處理和警示): 當偵測到事件時,使用自動化來採取措施,例如更換故障元件 
- 
               儲存與分析: 收集日誌檔和指標歷史記錄,並分析這些檔案和歷史記錄,以瞭解更廣泛的趨勢和工作負載洞見 
- 
               定期進行審查: 經常審查工作負載監控的實作方式,並根據重大事件和變更進行更新 
- 
               透過您的系統監控請求的端對端追蹤: 使用 AWS X-Ray 或第三方工具,讓開發人員能夠更輕鬆地分析和偵錯分散式系統,以瞭解其應用程式及其基礎服務的執行成效。 
改進方案
監控工作負載的所有元件 (產生)
- 定義您正在使用的所有 AWS 服務
- 為所有服務啟用記錄: AWS 在許多服務中提供記錄功能。如果某個服務沒有您想要等級的記錄功能,則可以從工作負載中新增記錄功能
                     - 啟用 Amazon S3 的記錄功能
 Amazon S3 Server Access Logging
- 啟用 Elastic Load Balancing 的記錄
 Access logs for your application load balancer
 Access Logs for Your Network Load Balancer
 Enable Access Logs for Your Classic Load Balancer
- 啟用 VPC Flow Logs
 VPC Flow Logs
- 啟用 CloudTrail 日誌
 Creating a trail
- 使用 Amazon CloudWatch Agent 將日誌資料從執行個體串流到 CloudWatch Logs
 Install the CloudWatch agent on an Amazon EC2 instance
- 使用 awslogs 日誌驅動程式搭配 Amazon ECS 將日誌資料串流到 CloudWatch Logs
 Using CloudWatch Logs with container instances
- AWS Lambda 自動將日誌資料串流到 CloudWatch Logs
 Accessing Amazon CloudWatch Logs for AWS Lambda
 
- 啟用 Amazon S3 的記錄功能
AWS Services That Publish CloudWatch Metrics
- 指標可以單獨評估,也可以彙總評估
                     - 轉到 CloudWatch 主控台並瀏覽收集的指標
- 請參考文件以了解收集了哪些指標和維度
 
Amazon CloudWatch Logs Insights Sample Queries
Publish custom metrics
- 如果需要記憶體使用或磁碟消耗資訊,請使用 CloudWatch Agent 或 PutMetricData API
 Monitoring memory and disk metrics for Amazon EC2 linux instances
- 將 CloudWatch Logs 用於常見日誌檔案
                     - 您可以將 CloudWatch Logs 用於大多數常見的日誌彙總使用案例
 What are Amazon CloudWatch Logs?
 
- 您可以將 CloudWatch Logs 用於大多數常見的日誌彙總使用案例
- 將所有日誌儲存在 Amazon S3 或 Amazon S3 Glacier 中以進行長期儲存
                     - 您可以將 CloudWatch Logs 匯出至 Amazon S3。CloudTrail 和 Elastic Load Balancing 日誌將傳送到 Amazon
                           S3
 Exporting log data to Amazon S3
 
- 您可以將 CloudWatch Logs 匯出至 Amazon S3。CloudTrail 和 Elastic Load Balancing 日誌將傳送到 Amazon
                           S3
定義和計算指標 (彙總)
- 指標篩選條件會定義術語與模式,以在傳送到 CloudWatch Logs 的日誌資料中尋找資料。CloudWatch Logs 使用這些指標篩選條件,將日誌資料轉成數值
                     CloudWatch 指標,讓您可以對其繪製圖表或設定警示
 Searching and Filtering Log Data
- 使用受信任的第三方來彙總日誌
                     - 請遵循第三方的指示。多數第三方產品可與 CloudWatch 和 Amazon S3 整合
 
- 有些 AWS 服務可以直接將日誌發佈到 Amazon S3。如此一來,如果您的日誌主要需求是儲存在 Amazon S3 中,則可以輕鬆讓產生日誌的服務直接將它們傳送到
                     Amazon S3,無須設定其他基礎設施
 Sending Logs Directly to Amazon S3
傳送通知 (即時處理和警示)
- Amazon CloudWatch 儀表板是 CloudWatch 主控台中的可自訂首頁,您可用來在單一檢視中監控資源,甚至是監控分散在不同區域的資源
 Using Amazon CloudWatch Dashboards
- 當指標超過限制時建立警示
 Using Amazon CloudWatch Alarms
自動化回應 (即時處理和警示)
AWS Systems Manager Automation
- 建立和使用 Systems Manager Automation 文件。當自動化執行運作時,這些會定義 Systems Manager 在受管執行個體和其他 AWS
                     資源上執行的動作
 Working with Automation Documents (Playbooks)
Creating an EventBridge Rule That Triggers on an Event from an AWS Resource
- 清查您的所有提醒回應程序: 您必須先規劃提醒回應,再將任務排名
- 以必須採取的特定動作清查所有任務: 這些動作大多記錄在執行手冊中。您也必須擁有適用於意外事件提醒的程序手冊
- 檢查所有適用於自動化動作的執行手冊和程序手冊: 一般而言,如果某個動作可以受到定義,則很可能可以進行自動化
- 將容易出錯或耗時的活動排在第一位: 移除錯誤來源並縮短解決時間是最有益的
- 建立完成自動化的計畫: 維護作用中的計畫以自動化和更新自動化
- 檢查自動化機會的手動需求: 挑戰您的手動程序,以找出自動化的機會
儲存與分析
Analyzing Log Data with CloudWatch Logs Insights
Amazon CloudWatch Logs Insights Sample Queries
How do I analyze my Amazon S3 server access logs using Athena?
- 為您的伺服器存取日誌儲存貯體建立 S3 生命週期政策。設定生命週期政策以定期移除日誌檔案。這樣做可減少 Athena 針對每個查詢所分析的資料量
 How Do I Create a Lifecycle Policy for an S3 Bucket?
定期進行審查
Using Amazon CloudWatch Dashboards
- 檢查指標中的趨勢: 比較指標值與歷史值,以查看是否有可能指出某項需要調查的趨勢。這些範例包括:增加延遲、減少主要業務功能,以及增加失敗回應
- 檢查指標中的異常值/異常: 平均值或中位數可以遮罩異常值。查看時間範圍內的最高和最低值,並調查極端分數的原因。隨著您持續消除這些原因,降低極端的定義可讓您持續改善工作負載效能的一致性
- 尋找行為中的急劇變化: 指標的數量或方向立即變更,可能表示應用程式有所變更,或您可能需要新增其他指標以追蹤的外部因素
透過您的系統監控請求的端對端追蹤
What is AWS X-Ray?
Debugging with Amazon CloudWatch Synthetics and AWS X-Ray
