概觀

監控應用程式交付有助於偵測異常事件並適當地回應。Amazon CloudWatch 會監控 Amazon Web Services (AWS) 資源,包括用於應用程式交付的 AWS 邊緣服務。例如,AWS 邊緣服務發出的伺服器端指標有助於偵測流量的意外增加、快取命中率顯著下降、5xx 錯誤的大幅上升或 DDoS 攻擊。除了伺服器端指標之外,CloudWatch 會使用 CloudWatch RUM 來收集和追蹤用戶端監控中的指標。您可以使用 CloudWatch 指標建立自訂儀表板,也可以在其上面設定警示。

伺服器端指標

AWS 邊緣服務發出的原生 CloudWatch 指標

在交付和保護您的應用程式時,請考慮 AWS 邊緣服務所發出的下列近乎即時的 CloudWatch 指標:

  • CloudFront 會發出下列指標:Requests、Bytes Downloaded、Bytes Uploaded、4xx Error Rate、5xx Error Rate 和 Total Error Rate。請注意,CloudFront 是一項全球服務,因此這些指標在 us-east-1 區域可用。若支付額外費用,您可以針對特定狀態碼啟用其他指標,例如快取命中率、原始延遲和錯誤率。
  • CloudFront Functions 會在 us-east-1 區域中發出下列指標:調用、驗證錯誤、執行錯誤、運算使用率和調節。
  • Lambda@Edge 以 AWS Lambda 為基礎,因此會發出其指標的子集,例如調用、錯誤、持續時間、並行執行和調節。與 CloudFront Functions 相比,由 CloudFront 在每個區域中執行的 Lambda@Edge 指標。CloudFront 主控台提供這些跨所有區域的指標之合併檢視。
  • AWS WAF 會發出以下指標:允許的請求、封鎖的請求、計數的請求、使用 Captcha 驗證的請求、透過挑戰驗證的請求等。每項指標都可透過 WebACL、規則、國家/地區、裝置等精細層級來進行測量。請注意,將 WebACL 套用至 CloudFront 後,AWS WAF 指標在 us-east-1 區域可用。
  • Shield Advanced 會針對偵測到的 DDoS 攻擊發出多個指標,例如攻擊每秒位元數、每秒封包數和每秒請求數。
    您也可以根據 AWS 邊緣服務所發出的上述指標建立 CloudWatch 儀表板,即使指標跨多個區域和帳戶。以下範例是根據 AWS WAF 規則發出的指標之安全性儀表板。

您也可以根據 AWS 邊緣服務所發出的上述指標建立 CloudWatch 儀表板,即使指標跨多個區域和帳戶。以下範例是根據 AWS WAF 規則發出的指標之安全性儀表板。

進階指標

您可以透過多種方法來建立應用程式的進階指標。第一個方法是根據將原生 CloudWatch 指標結合到更複雜的指標,另一些則是根據服務日誌。

對於第一個方法,請使用 CloudWatch 指標計算。 例如,您可以透過將 CloudFront 的請求指標除以測量期間 (m1/PERIOD(m1)) 來計算 CloudFront 交付的每秒請求總數。您也可以建立一個複合指標,透過其他指標的邏輯組合來反映應用程式的運作狀態 (例如,如果 CloudFront 的 5xx < .5% 且伺服器延遲 < 1 秒,則表示運作狀態良好)。然後,此複合指標可與 Shield Advanced 的運作狀態檢查一起搭配使用

在第二個方法中,使用 AWS 邊緣服務產生的日誌來發出自訂指標。一些實作包括:

  • 針對傳送至 CloudWatch Logs 的日誌設定指標篩選條件。例如,您可以設定 CloudFront Function 以使用特定查詢字串記錄請求的發生次數,並使用指標篩選條件來計算這些發生次數。
  • 使用 Lambda 處理傳送至 Kinesis 的 CloudFront 和 WAF 日誌,以發出自訂指標。請考慮此範例實作

提醒功能

您可以建立警示,以便在 CloudWatch 指標指出異常事件時收到通知。按照本部落格中的步驟,根據 CloudFront 上的 5xx 錯誤率閾值來設定警示。除了根據閾值的警示之外,CloudWatch 的異常偵測功能可讓您設定指標基線,並根據與該基線相比的異常變更建立警示。

Security Hub 中的安全調查結果

AWS Firewall Manager 會在 AWS Security Hub 中,針對不合規的資源以及 Shield Advanced 偵測到的攻擊建立調查結果

CloudWatch 網際網路監控器

CloudWatch 網際網路監控器使用 AWS 從其全球網路足跡擷取的連線資料,可讓您掌握面向網際網路應用程式的效能。網際網路監控器可提供網際網路測量值 (例如可用性和效能) 之持續可觀測性,其針對您在 AWS 上的工作負載足跡而量身打造。您可以使用網際網路監控器來深入了解一段時間內的平均網際網路效能指標,以及依據位置和網際網路服務供應商 (ISP) 的問題 (事件)。使用網際網路監控器之後,您可以輕鬆識別哪些事件正在影響使用 CloudFront 等服務的應用程式之最終使用者體驗。

瞭解網際網路問題如何影響應用程式的效能

用戶端監控

除了伺服器端指標之外,建議您使用 CloudWatch RUM 來收集用戶端指標。RUM 為您提供最準確的資料,讓您能從使用者的角度了解 Web 應用程式的行為方式。若要使用 CloudWatch RUM,您需要在網頁中新增 javascript 標籤。javascript 會從瀏覽器 API 收集資料,例如頁面載入時間、Core Web 核心或應用程式錯誤,然後將這些資料傳送至 CloudWatch RUM 進行儀表板作業。此外,CloudWatch RUM 還會發出 CloudWatch 指標,例如 WebVitalsCumulativeLayoutShift、WebVitalsFirstInputDelay、WebVitalsLargestContentfulPaint、JsErrorCount、HttpStatusCodeCount 等。

資源

本頁對您是否有幫助?