CloudWatch metrics for your Application Load Balancer - Elastic Load Balancing

若我們提供該指南英語版本的翻譯,在有任何牴觸的狀況下請以英文版本的指南為主。其透過機器翻譯提供翻譯。

CloudWatch metrics for your Application Load Balancer

Elastic Load Balancing 將數據點發布到 Amazon CloudWatch 對於負載平衡器和目標。 CloudWatch 允許您將這些數據點的統計信息檢索爲訂購的時間序列數據集,即 metrics。將度量標準視爲監視器的變量,數據點隨着時間的推移而變量。例如,您可以監控負載平衡器在一段指定期間內的運作狀態良好的目標總數量。每個資料點都有關聯的時間戳記和可選的測量單位。

您可以使用指標來確認系統的運作符合預期。例如,若指標超過您認為能夠接受的範圍,您可以建立 CloudWatch 警示來監控指定的指標並採取動作 (例如傳送通知到電子郵件地址)。

Elastic Load Balancing 只會在請求穿越負載平衡器時回報指標到CloudWatch。如果有請求進出負載平衡器,Elastic Load Balancing 會以 60 秒為間隔來測量並傳送其指標。如果沒有請求流經負載平衡器,或者指標沒有資料,則不會回報該指標。

如需更多詳細資訊,請參閱 Amazon CloudWatch 使用者指南。​

Application Load Balancer metrics

AWS/ApplicationELB 命名空間包含下列負載平衡器指標。

指標 描述:
ActiveConnectionCount

從用戶端到負載平衡器以及從負載平衡器到目標的並行作用中 TCP 連線總數。

報告標準: 非零值

統計數: 最有用的統計數據是 Sum.

Dimensions

  • LoadBalancer

ClientTLSNegotiationErrorCount

由於 TLS 錯誤而未與負載平衡器建立工作階段之用戶端所啟動的 TLS 連線數目。可能的原因包括密碼或通訊協定不相符,或用戶端無法驗證伺服器憑證並關閉連線。

報告標準: 非零值

統計數: 最有用的統計數據是 Sum.

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ConsumedLCUs

負載平衡器所使用的負載平衡器容量單位 (LCU) 數目。您需要按每小時使用的 LCU 數目付費。有關詳細信息,請參閱 彈性負載平衡定價.

報告標準: 總是報告

統計數: 全部

Dimensions

  • LoadBalancer

DroppedInvalidHeaderRequestCount

在傳送請求之前,負載平衡器移除具有無效標頭欄位的 HTTP 標頭的請求數目。只有在 routing.http.drop_invalid_header_fields.enabled 屬性設定為 true 時,負載平衡器才會移除這些標頭。

報告標準: 總是報告

統計數: 全部

Dimensions

  • AvailabilityZone, LoadBalancer

ForwardedInvalidHeaderRequestCount

由 HTTP 標頭具有無效標頭欄位的負載平衡器所傳送的請求數目。只有在 routing.http.drop_invalid_header_fields.enabled 屬性設定為 false 時,負載平衡器才會轉送具有這些標頭的請求。

報告標準: 總是報告

統計數: 全部

Dimensions

  • AvailabilityZone, LoadBalancer

HTTP_Fixed_Response_Count

成功的固定回應動作次數。

報告標準: 非零值

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTP_Redirect_Count

成功的重新導向動作次數。

報告標準: 非零值

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTP_Redirect_Url_Limit_Exceeded_Count

因為回應位置標頭中的 URL 大於 8K 而無法完成的重新導向動作數。

報告標準: 非零值

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_3XX_Count

源自於負載平衡器的 HTTP 3XX 重新導向代碼數目。

報告標準: 非零值

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_4XX_Count

源自於負載平衡器的 HTTP 4XX 用戶端錯誤碼數目。要求的格式不正確或不完整時,會產生用戶端錯誤。除了負載平衡器傳回 HTTP 460 錯誤碼的情況之外,目標沒有收到這些要求。此計數未包含目標所產生的任何回應碼。

報告標準: 非零值

統計數: 最有用的統計數據是 Sum。注意 MinimumMaximum,和 Average 所有返回1。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_5XX_Count

源自於負載平衡器的 HTTP 5XX 伺服器錯誤碼數目。此計數未包含目標所產生的任何回應碼。

報告標準: 非零值

統計數: 最有用的統計數據是 Sum。注意 MinimumMaximum,和 Average 所有返回1。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_500_Count

源自於負載平衡器的 HTTP 500 錯誤碼數目。

報告標準: 非零值

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • LoadBalancer

HTTPCode_ELB_502_Count

源自於負載平衡器的 HTTP 502 錯誤碼數目。

報告標準: 非零值

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • LoadBalancer

HTTPCode_ELB_503_Count

源自於負載平衡器的 HTTP 503 錯誤碼數目。

報告標準: 非零值

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • LoadBalancer

HTTPCode_ELB_504_Count

源自於負載平衡器的 HTTP 504 錯誤碼數目。

報告標準: 非零值

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • LoadBalancer

IPv6ProcessedBytes

負載平衡器透過 IPv6 所處理的位元組總數。此計數包含在 ProcessedBytes 中。

報告標準: 非零值

統計數: 最有用的統計數據是 Sum.

Dimensions

  • LoadBalancer

IPv6RequestCount

負載平衡器收到的 IPv6 要求數目。

報告標準: 非零值

統計數: 最有用的統計數據是 Sum。注意 MinimumMaximum,和 Average 所有返回1。

Dimensions

  • LoadBalancer

NewConnectionCount

從用戶端到負載平衡器以及從負載平衡器到目標建立的新 TCP 連線總數。

報告標準: 非零值

統計數: 最有用的統計數據是 Sum.

Dimensions

  • LoadBalancer

NonStickyRequestCount

負載平衡器因為無法使用現有的黏性工作階段而選擇新目標時的請求數目。例如,請求是來自新用戶端的第一個請求且黏性 Cookie 不存在、黏性 Cookie 存在但未指定已向此目標群組註冊的目標、黏性 Cookie 的格式不正確或過期,或內部錯誤使負載平衡器無法讀取黏性 Cookie。

報告標準: 在目標組上啓用粘貼。

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ProcessedBytes

負載平衡器透過 IPv4 與 IPv6 所處理的位元組總數。此計數包含進出用戶端和 Lambda 函數的流量,以及來自身分識別提供者 (IdP) 的流量 (如果使用者身份驗證已啟用)。

報告標準: 非零值

統計數: 最有用的統計數據是 Sum.

Dimensions

  • LoadBalancer

RejectedConnectionCount

因負載平衡器已達其連線數目上限而拒絕的連線數目。

報告標準: 非零值

統計數: 最有用的統計數據是 Sum.

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

RequestCount

透過 IPv4 與 IPv6 處理的要求數目。此計數只包含具有負載平衡器目標所產生之回應的要求。

報告標準: 總是報告

統計數: 最有用的統計數據是 Sum.

Dimensions

  • LoadBalancer

  • TargetGroup, LoadBalancer

RuleEvaluations

具有一小時平均要求率之負載平衡器所處理的規則數目。

報告標準: 非零值

統計數: 最有用的統計數據是 Sum.

Dimensions

  • LoadBalancer

AWS/ApplicationELB 命名空間包含下列目標指標。

指標 描述:
HealthyHostCount

視為健康的目標數目。

報告標準: 如果啓用了運行狀況檢查報告

統計數: 最有用的統計數據是 AverageMinimum,和 Maximum.

Dimensions

  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

HTTPCode_Target_2XX_Count, HTTPCode_Target_3XX_Count, HTTPCode_Target_4XX_Count, HTTPCode_Target_5XX_Count

目標所產生的 HTTP 回應碼數目。這未包含負載平衡器所產生的任何回應碼。

報告標準: 非零值

統計數: 最有用的統計數據是 Sum。注意 MinimumMaximum,和 Average 所有返回1。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

RequestCountPerTarget

目標群組中每個目標所收到的平均要求數目。您必須使用 TargetGroup 維度指定目標群組。如果目標是 Lambda 函數,則此指標不適用。

報告標準: 總是報告

統計數: 唯一有效的統計數據是 Sum。請注意,這表示平均值不是SUM。

Dimensions

  • TargetGroup

  • TargetGroup, LoadBalancer

TargetConnectionErrorCount

負載平衡器與目標之間未成功建立的連線數目。如果目標是 Lambda 函數,則此指標不適用。

報告標準: 非零值

統計數: 最有用的統計數據是 Sum.

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

TargetResponseTime

要求離開負載平衡器之後到收到目標回應之前所經歷的時間 (秒)。這等同於存取日誌中的 target_processing_time 欄位。

報告標準: 非零值

統計數: 最有用的統計數據是 AveragepNN.NN (百分位)。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

TargetTLSNegotiationErrorCount

未與目標建立工作階段之負載平衡器所啟動的 TLS 連線數目。可能的原因包含晶片或協定不相符。如果目標是 Lambda 函數,則此指標不適用。

報告標準: 非零值

統計數: 最有用的統計數據是 Sum.

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

UnHealthyHostCount

視為不健康的目標數目。

報告標準: 如果啓用了運行狀況檢查報告

統計數: 最有用的統計數據是 AverageMinimum,和 Maximum.

Dimensions

  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

對於註冊為目標的 Lambda 函數,AWS/ApplicationELB 命名空間包含下列指標。

指標 描述:
LambdaInternalError

因為負載平衡器或 AWS Lambda 的內部問題而失敗的 Lambda 函數請求數。若要取得錯誤原因代碼,請查看存取日誌的 error_reason 欄位。

報告標準: 非零值

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • TargetGroup

  • TargetGroup, LoadBalancer

LambdaTargetProcessedBytes

負載平衡器針對 Lambda 函數的請求和回應所處理的位元組總數。

報告標準: 非零值

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • LoadBalancer

LambdaUserError

Lambda 函數因為 Lambda 函數有問題而失敗的請求數。例如,負載平衡器沒有叫用函數的許可、負載平衡器從函數收到的 JSON 格式不正確或遺漏必要欄位,或請求內文或回應的大小超過大小上限 1 MB。若要取得錯誤原因代碼,請查看存取日誌的 error_reason 欄位。

報告標準: 非零值

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • TargetGroup

  • TargetGroup, LoadBalancer

AWS/ApplicationELB 命名空間包含下列使用者身份驗證指標。

指標 描述:
ELBAuthError

由於身份驗證動作設定錯誤、負載平衡器無法與 IdP 建立連線,或負載平衡器由於內部錯誤而無法完成身份驗證流程,因而無法完成的使用者身份驗證數量。若要取得錯誤原因代碼,請查看存取日誌的 error_reason 欄位。

報告標準: 非零值

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ELBAuthFailure

由於 IdP 拒絕使用者存取或授權碼使用多次,因而無法完成的使用者身份驗證數量。若要取得錯誤原因代碼,請查看存取日誌的 error_reason 欄位。

報告標準: 非零值

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ELBAuthLatency

向 IdP 查詢 ID 字符和使用者資訊所經歷的時間 (毫秒)。如果其中一或多項操作失敗,此為失敗的時間。

報告標準: 非零值

統計數: 所有統計數據都有意義。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ELBAuthRefreshTokenSuccess

負載平衡器使用 IdP 提供的重新整理字符而成功重新整理使用者宣告的次數。

報告標準: 非零值

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ELBAuthSuccess

成功的身份驗證動作次數。此指標在身份驗證工作流程結束時、負載平衡器從 IdP 擷取到使用者宣告之後遞增。

報告標準: 非零值

統計數: 最有用的統計數據是 Sum.

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ELBAuthUserClaimsSizeExceeded

已設定的 IdP 傳回的使用者宣告大小超過 11K 位元組的次數。

報告標準: 非零值

統計數: 唯一有意義的統計數據是 Sum.

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

Metric dimensions for Application Load Balancer

若要篩選Application Load Balancer的指標,請使用下列維度。

維度 描述:
AvailabilityZone

依可用區域篩選指標資料。

LoadBalancer

依負載平衡器篩選指標資料。如下指定負載均衡器:應用程序/load-balancer-name/1234567890123456 (負載均衡器ARN的最後一部分)。

TargetGroup

依目標群組篩選指標資料。按以下方式指定目標組:TargetGroup/target-group-name/1234567890123456 (目標組ARN的最後一部分)。

Statistics for Application Load Balancer metrics

CloudWatch 根據由 Elastic Load Balancing 發布的指標資料點提供統計資料。統計資料是隨著指定期間的指標資料彙總。當您請求統計資料時,傳回的資料流是藉由指標名稱和維度做識別。維度是用來單獨辨識指標的名稱/值組。例如,您可以為所有在特定可用區域內啟動的負載平衡器後方之運作狀態良好的 EC2 執行個體請求統計資料。

MinimumMaximum 統計資料會反應由個別負載平衡器節點回報的最低與最高值。例如,假設有 2 個負載平衡器節點。一個節點有內含 Minimum 2、Maximum 10、Average 6 的 HealthyHostCount,而其他節點有內含 Minimum 1、Maximum 5、以及 Average 3 的 HealthyHostCount。因此,負載平衡器有 Minimum 1、Maximum 10、以及因為約為 4 的 Average

Sum 統計資料為來自所有負載平衡器節點的彙總值。因為指標包和各期間的多個報告,Sum 僅可用於來自所有負載平衡器節點的彙總指標。

SampleCount 統計資料為測量而得的範本數量。因指標根據範本間隔與事件蒐集而得,此統計資料通常沒有幫助。例如,使用 HealthyHostCountSampleCount 是根據每個負載平衡器節點回報的範本數量,而非運作狀態良好的主機數量。

百分位數指出資料集之某個值的相對位置。您可以指定任何百分位數,最多使用兩位小數 (例如,p95.45)。例如,第 95 個百分位數表示 95% 的資料低於這個值,而 5% 高於這個值。百分位數通常用於隔離異常。例如,假設應用程式以 1-2 毫秒處理快取中的大部分請求,但如果快取是空的,則是 100-200 毫秒。上限會反映最慢的情況,大約 200 毫秒。平均數不表示資料的分佈。百分位數以更有意義的觀點表達應用程式的效能。您可以使用第 99 個百分位數做為 Auto Scaling 觸發或 CloudWatch 警示,將目標訂為處理時間超過 2 毫秒的請求不超過 1%。

View CloudWatch metrics for your load balancer

您可以使用 CloudWatch 主控台來檢視負載平衡器的 Amazon EC2 指標。這些指標會以監控圖表的形式顯示。若啟用負載平衡器並接收請求,監控圖表會顯示資料點。

或者,您可以使用 CloudWatch 主控台來檢視負載平衡器的指標。

使用 Amazon EC2 主控台檢視指標

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 若要檢視由目標群組篩選的指標,請執行下列動作:

    1. 在導覽窗格中,選擇 Target Groups (目標群組)

    2. 選取您的目標群組,然後選擇 Monitoring (監控) 標籤。

    3. (選用) 若要根據時間篩選結果,請選擇來自 Showing data for (顯示資料) 的時間範圍。

    4. 若要放大檢視單一指標,請選取它的圖形。

  3. 若要檢視由負載平衡器篩選的指標,請執行下列動作:

    1. 在導覽窗格中,選擇 Load Balancers (負載平衡器)

    2. 選取您的負載平衡器,然後選擇 Monitoring (監控) 標籤。

    3. (選用) 若要根據時間篩選結果,請選擇來自 Showing data for (顯示資料) 的時間範圍。

    4. 若要放大檢視單一指標,請選取它的圖形。

使用 CloudWatch 主控台檢視指標

  1. 前往 https://console.aws.amazon.com/cloudwatch/,開啟 CloudWatch​ 主控台。

  2. 在導覽窗格中,選擇 Metrics (指標)

  3. 選取 ApplicationELB 命名空間。

  4. (選用) 若要檢視所有維度的指標,請在搜尋欄位中鍵入其名稱。

  5. (選用) 若要根據維度來篩選,請選取下列其中一項:

    • To display only the metrics reported for your load balancers, choose Per AppELB Metrics. To view the metrics for a single load balancer, type its name in the search field.

    • To display only the metrics reported for your target groups, choose Per AppELB, per TG Metrics. To view the metrics for a single target group, type its name in the search field.

    • To display only the metrics reported for your load balancers by Availability Zone, choose Per AppELB, per AZ Metrics. To view the metrics for a single load balancer, type its name in the search field. To view the metrics for a single Availability Zone, type its name in the search field.

    • To display only the metrics reported for your load balancers by Availability Zone and target group, choose Per AppELB, per AZ, per TG Metrics. To view the metrics for a single load balancer, type its name in the search field. To view the metrics for a single target group, type its name in the search field. To view the metrics for a single Availability Zone, type its name in the search field.

若要使用 AWS CLI 來檢視指標

使用下列 list-metrics 命令來列出可用指標:

aws cloudwatch list-metrics --namespace AWS/ApplicationELB

使用 AWS CLI 取得指標的統計資料

使用下列 get-metric-statistics 指令來獲得指定指標與維度的統計資料。請注意,CloudWatch 將把維度的各獨特組合視為個別指標。您無法使用未具體發佈的維度組合來擷取統計資料。您必須指定建立指標時所使用的相同維度。

aws cloudwatch get-metric-statistics --namespace AWS/ApplicationELB \ --metric-name UnHealthyHostCount --statistics Average --period 3600 \ --dimensions Name=LoadBalancer,Value=app/my-load-balancer/50dc6c495c0c9188 \ Name=TargetGroup,Value=targetgroup/my-targets/73e2d6bc24d8a067 \ --start-time 2016-04-18T00:00:00Z --end-time 2016-04-21T00:00:00Z

下列為範例輸出:

{ "Datapoints": [ { "Timestamp": "2016-04-18T22:00:00Z", "Average": 0.0, "Unit": "Count" }, { "Timestamp": "2016-04-18T04:00:00Z", "Average": 0.0, "Unit": "Count" }, ... ], "Label": "UnHealthyHostCount" }