本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CloudWatch Application Load Balancer 的指標
Elastic Load Balancing 會將資料點發佈至 Amazon CloudWatch 作為負載平衡器和目標。 CloudWatch 可讓您擷取有關這些資料點的統計資料,作為一組有序的時間序列資料,稱為指標 。您可以將指標視為要監控的變數,且資料點是該變數在不同時間點的值。例如,您可以監控負載平衡器在一段指定期間內的運作狀態良好的目標總數量。每個資料點都有關聯的時間戳記和可選的測量單位。
您可以使用指標來確認系統的運作符合預期。例如,您可以建立 CloudWatch 警示來監控指定的指標,並在指標超出您認為可接受的範圍時啟動動作 (例如將通知傳送至電子郵件地址)。
Elastic Load Balancing CloudWatch 只會在請求流經負載平衡器時,向 報告指標。如果有請求進出負載平衡器,Elastic Load Balancing 會以 60 秒為間隔來測量並傳送其指標。如果沒有請求流經負載平衡器,或者指標沒有資料,則不會回報該指標。
如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南 。
目錄
Application Load Balancer 指標
AWS/ApplicationELB
命名空間包含下列負載平衡器指標。
指標 | 描述 |
---|---|
ActiveConnectionCount |
從用戶端到負載平衡器以及從負載平衡器到目標的並行TCP連線總數。 報告條件:有非零值 統計資訊:最實用的統計資訊是 維度
|
AnomalousHostCount |
偵測到異常的主機數量。 報告條件:一律報告 統計資訊:最實用的統計資訊是 維度
|
ClientTLSNegotiationErrorCount |
用戶端因TLS錯誤而未建立負載平衡器工作階段的TLS連線數目。可能的原因包括密碼或通訊協定不相符,或用戶端無法驗證伺服器憑證並關閉連線。 報告條件:有非零值 統計資訊:最實用的統計資訊是 維度
|
ConsumedLCUs |
負載平衡器使用的負載平衡器容量單位數量 (LCU)。您為每小時LCUs使用的 數量付費。如需詳細資訊,請參閱 Elastic Load Balancing 定價 報告條件:一律報告 統計資訊:全部 維度
|
DesyncMitigationMode_NonCompliant_Request_Count |
不符合 7230 RFC 的請求數目。 報告條件:有非零值 統計資訊:最實用的統計資訊是 維度
|
DroppedInvalidHeaderRequestCount |
在路由請求之前,負載平衡器移除具有無效HTTP標頭欄位之標頭的請求數目。只有在 報告條件:有非零值 統計資訊:全部 維度
|
MitigatedHostCount |
緩解的目標數量。 報告條件:一律報告 統計資訊:最實用的統計資訊是 維度
|
ForwardedInvalidHeaderRequestCount |
負載平衡器路由的請求數目,這些請求的HTTP標頭具有無效的標頭欄位。只有在 報告條件:一律報告 統計資訊:全部 維度
|
GrpcRequestCount |
透過 IPv4和 處理的 gRPC 請求數IPv6。 報告條件:有非零值 統計資料:最實用的統計數量是 維度
|
HTTP_Fixed_Response_Count |
成功的固定回應動作次數。 報告條件:有非零值 統計資訊:唯一有意義的統計資訊是 維度
|
HTTP_Redirect_Count |
成功的重新導向動作次數。 報告條件:有非零值 統計資訊:唯一有意義的統計資訊是 維度
|
HTTP_Redirect_Url_Limit_Exceeded_Count |
由於回應位置標頭URL中的 大於 8K,因此無法完成的重新導向動作數目。 報告條件:有非零值 統計資訊:唯一有意義的統計資訊是 維度
|
HTTPCode_ELB_3XX_Count |
源自負載平衡器的 HTTP 3XX 重新導向碼數目。此計數未包含目標所產生的回應碼。 報告條件:有非零值 統計資訊:唯一有意義的統計資訊是 維度
|
HTTPCode_ELB_4XX_Count |
源自負載平衡器的 HTTP 4XX 用戶端錯誤碼數目。此計數未包含目標所產生的回應碼。 要求的格式不正確或不完整時,會產生用戶端錯誤。目標未收到這些請求,除非負載平衡器傳回 HTTP 460 錯誤碼 。此計數未包含目標所產生的任何回應碼。 報告條件:有非零值 統計資料:最實用的統計數量是 維度
|
HTTPCode_ELB_5XX_Count |
源自負載平衡器的 HTTP 5XX 伺服器錯誤碼數目。此計數未包含目標所產生的任何回應碼。 報告條件:有非零值 統計資料:最實用的統計數量是 維度
|
HTTPCode_ELB_500_Count |
源自負載平衡器的 HTTP 500 個錯誤碼數目。 報告條件:有非零值 統計資訊:唯一有意義的統計資訊是 維度
|
HTTPCode_ELB_502_Count |
源自負載平衡器的 HTTP 502 個錯誤碼數目。 報告條件:有非零值 統計資訊:唯一有意義的統計資訊是 維度
|
HTTPCode_ELB_503_Count |
源自負載平衡器的 HTTP 503 個錯誤碼數目。 報告條件:有非零值 統計資訊:唯一有意義的統計資訊是 維度
|
HTTPCode_ELB_504_Count |
源自負載平衡器的 HTTP 504 個錯誤碼數目。 報告條件:有非零值 統計資訊:唯一有意義的統計資訊是 維度
|
IPv6ProcessedBytes |
負載平衡器透過 處理的位元組總數IPv6。此計數包含在 報告條件:有非零值 統計資訊:最實用的統計資訊是 維度
|
IPv6RequestCount |
負載平衡器收到的IPv6請求數目。 報告條件:有非零值 統計資料:最實用的統計數量是 維度
|
NewConnectionCount |
從用戶端到負載平衡器,以及從負載平衡器到目標建立的新TCP連線總數。 報告條件:有非零值 統計資訊:最實用的統計資訊是 維度
|
NonStickyRequestCount |
負載平衡器因為無法使用現有的黏性工作階段而選擇新目標時的請求數目。例如,請求是來自新用戶端的第一個請求且黏性 Cookie 不存在、黏性 Cookie 存在但未指定已向此目標群組註冊的目標、黏性 Cookie 的格式不正確或過期,或內部錯誤使負載平衡器無法讀取黏性 Cookie。 報告條件:目標群組上啟用黏性。 統計資訊:唯一有意義的統計資訊是 維度
|
ProcessedBytes |
負載平衡器處理的位元組總數超過 IPv4和 IPv6(HTTP 標頭和HTTP承載)。此計數包含進出用戶端和 Lambda 函數的流量,以及來自身分識別提供者 (IdP) 的流量 (如果使用者身分驗證已啟用)。 報告條件:有非零值 統計資訊:最實用的統計資訊是 維度
|
RejectedConnectionCount |
因負載平衡器已達其連線數目上限而拒絕的連線數目。 報告條件:有非零值 統計資訊:最實用的統計資訊是 維度
|
RequestCount |
透過 IPv4和 處理的請求數IPv6。對於負載平衡器節點能夠選擇目標的請求,此指標的值才會遞增。在選擇目標之前遭拒絕的請求不會反映在此指標中。 報告條件:一律報告 統計資訊:最實用的統計資訊是 維度
|
RuleEvaluations |
具有一小時平均要求率之負載平衡器所處理的規則數目。 報告條件:有非零值 統計資訊:最實用的統計資訊是 維度
|
AWS/ApplicationELB
命名空間包含下列目標指標。
指標 | 描述 |
---|---|
HealthyHostCount |
視為健康的目標數目。 報告條件 :如果有已註冊的目標,則報告。 統計資訊:最實用的統計資訊是 維度
|
HTTPCode_Target_2XX_Count ,
HTTPCode_Target_3XX_Count ,
HTTPCode_Target_4XX_Count ,
HTTPCode_Target_5XX_Count |
目標產生的HTTP回應碼數目。這未包含負載平衡器所產生的任何回應碼。 報告條件 :如果有已註冊的目標,則報告。 統計資料:最實用的統計數量是 維度
|
RequestCountPerTarget |
目標群組中每個目標的平均請求計數。您必須使用 此計數會使用目標群組收到的請求總數,除以目標群組中運作狀態良好的目標數目。如果目標群組中沒有運作良好的目標,則會將其除以已註冊目標的總數。 報告條件:一律報告 統計資訊:唯一有效的統計資訊是 維度
|
TargetConnectionErrorCount |
負載平衡器與目標之間未成功建立的連線數目。如果目標是 Lambda 函數,則此指標不適用。 報告條件:有非零值 統計資訊:最實用的統計資訊是 維度
|
TargetResponseTime |
請求離開負載平衡器後經過的時間,以秒為單位,直到目標開始傳送回應標頭為止。這等同於存取日誌中的 報告條件:有非零值 統計資訊:最實用的統計資訊是 維度
|
TargetTLSNegotiationErrorCount |
負載平衡器啟動但未建立具有目標之工作階段的TLS連線數目。可能的原因包含晶片或協定不相符。如果目標是 Lambda 函數,則此指標不適用。 報告條件:有非零值 統計資訊:最實用的統計資訊是 維度
|
UnHealthyHostCount |
視為不健康的目標數目。 報告條件 :如果有已註冊的目標,則報告。 統計資訊:最實用的統計資訊是 維度
|
AWS/ApplicationELB
命名空間包含下列目標群組運作狀態的指標。如需詳細資訊,請參閱目標群組運作狀態。
指標 | 描述 |
---|---|
HealthyStateDNS |
符合DNS運作狀態需求的區域數目。 統計資訊:最實用的統計資訊是 維度
|
HealthyStateRouting |
符合路由運作狀態良好需求的區域數目。 統計資訊:最實用的統計資訊是 維度
|
UnhealthyRoutingRequestCount |
使用路由容錯移轉動作 (故障開啟) 路由的請求數量。 統計資訊:最實用的統計資訊是 維度
|
UnhealthyStateDNS |
不符合DNS運作狀態要求的區域數量,因此在 中被標記為運作狀態不佳DNS。 統計資訊:最實用的統計資訊是 維度
|
UnhealthyStateRouting |
因不符合路由運作狀態良好需求而導致負載平衡器將流量分散給區域中的所有目標 (包括運作狀態不佳的目標) 的區域數量。 統計資訊:最實用的統計資訊是 維度
|
對於註冊為目標的 Lambda 函數,AWS/ApplicationELB
命名空間包含下列指標。
指標 | 描述 |
---|---|
LambdaInternalError |
因為負載平衡器或 AWS Lambda的內部問題而失敗的 Lambda 函數請求數。若要取得錯誤原因代碼,請查看存取日誌的 error_reason 欄位。 報告條件:有非零值 統計資訊:唯一有意義的統計資訊是 維度
|
LambdaTargetProcessedBytes |
負載平衡器針對 Lambda 函數的請求和回應所處理的位元組總數。 報告條件:有非零值 統計資訊:唯一有意義的統計資訊是 維度
|
LambdaUserError |
Lambda 函數因為 Lambda 函數有問題而失敗的請求數。例如,負載平衡器沒有叫用函數的許可、JSON從格式不正確或缺少必要欄位的函數收到的負載平衡器,或請求內文或回應的大小超過 1 MB 的大小上限。若要取得錯誤原因代碼,請查看存取日誌的 error_reason 欄位。 報告條件:有非零值 統計資訊:唯一有意義的統計資訊是 維度
|
AWS/ApplicationELB
命名空間包含下列使用者身分驗證指標。
指標 | 描述 |
---|---|
ELBAuthError |
由於身分驗證動作設定錯誤、負載平衡器無法與 IdP 建立連線,或負載平衡器由於內部錯誤而無法完成身分驗證流程,因而無法完成的使用者身分驗證數量。若要取得錯誤原因代碼,請查看存取日誌的 error_reason 欄位。 報告條件:有非零值 統計資訊:唯一有意義的統計資訊是 維度
|
ELBAuthFailure |
由於 IdP 拒絕使用者存取或授權碼使用多次,因而無法完成的使用者身分驗證數量。若要取得錯誤原因代碼,請查看存取日誌的 error_reason 欄位。 報告條件:有非零值 統計資訊:唯一有意義的統計資訊是 維度
|
ELBAuthLatency |
向 IdP 查詢 ID 字符和使用者資訊所經歷的時間 (毫秒)。如果其中一或多項操作失敗,此為失敗的時間。 報告條件:有非零值 統計資訊:所有統計資訊都有意義。 維度
|
ELBAuthRefreshTokenSuccess |
負載平衡器使用 IdP 提供的重新整理字符而成功重新整理使用者宣告的次數。 報告條件:有非零值 統計資訊:唯一有意義的統計資訊是 維度
|
ELBAuthSuccess |
成功的身分驗證動作次數。此指標在身分驗證工作流程結束時、負載平衡器從 IdP 擷取到使用者宣告之後遞增。 報告條件:有非零值 統計資訊:最實用的統計資訊是 維度
|
ELBAuthUserClaimsSizeExceeded |
已設定的 IdP 傳回的使用者宣告大小超過 11K 位元組的次數。 報告條件:有非零值 統計資訊:唯一有意義的統計資訊是 維度
|
Application Load Balancer 的指標維度
若要篩選 Application Load Balancer 的指標,請使用下列維度。
維度 | 描述 |
---|---|
AvailabilityZone |
依可用區域篩選指標資料。 |
LoadBalancer |
依負載平衡器篩選指標資料。指定負載平衡器,如下所示:app/load-balancer-name/1234567890123456 (負載平衡器的最後一個部分 ARN)。 |
TargetGroup |
依目標群組篩選指標資料。指定目標群組,如下所示: targetgroup/target-group-name/1234567890123456 (目標群組 的最後部分ARN)。 |
Application Load Balancer 指標的統計資料
CloudWatch 根據 Elastic Load Balancing 發佈的指標資料點提供統計資料。統計資料是隨著指定期間的指標資料彙總。當您請求統計資料時,傳回的資料流是藉由指標名稱和維度做識別。維度是可唯一識別指標的名稱/值組。例如,您可以為在特定可用區域中啟動的負載平衡器之後的所有運作狀態EC2執行個體請求統計資料。
Minimum
和 Maximum
統計資料會反映每個抽樣時段中個別負載平衡器節點報告的資料點最小和最大值。例如,假設 Application Load Balancer 由 2 個負載平衡器節點組成。一個節點有內含 Minimum
2、Maximum
10、Average
6 的 HealthyHostCount
,而其他節點有內含 Minimum
1、Maximum
5、以及 Average
3 的 HealthyHostCount
。因此,負載平衡器有 Minimum
1、Maximum
10、以及因為約為 4 的 Average
。
我們建議您監控 Minimum
統計資料中的非零值 UnHealthyHostCount
,多個資料點出現非零值時提供警示。使用 Minimum
將偵測負載平衡器每個節點和可用區域何時將目標視為運作狀態不佳。如果您想要收到潛在問題的警示,則 Average
或 Maximum
警示非常有用,我們建議客戶檢閱此指標,並在發生次數不為零時進行調查。按照使用 Amazon EC2 Auto Scaling 或 Amazon Elastic Container Service (Amazon) 中的負載平衡器運作狀態檢查的最佳實務,可以自動緩解故障ECS。
Sum
統計資料為來自所有負載平衡器節點的彙總值。因為指標包和各期間的多個報告,Sum
僅可用於來自所有負載平衡器節點的彙總指標。
SampleCount
統計資料為測量而得的範本數量。因指標根據範本間隔與事件蒐集而得,此統計資料通常沒有幫助。例如,使用 HealthyHostCount
,SampleCount
是根據每個負載平衡器節點回報的範本數量,而非運作狀態良好的主機數量。
百分位數指出資料集之某個值的相對位置。您可以指定任何百分位數,最多使用兩位小數 (例如,p95.45)。例如,第 95 個百分位數表示 95% 的資料低於這個值,而 5% 高於這個值。百分位數通常用於隔離異常。例如,假設應用程式以 1-2 毫秒處理快取中的大部分請求,但如果快取是空的,則是 100-200 毫秒。上限會反映最慢的情況,大約 200 毫秒。平均數不表示資料的分佈。百分位數以更有意義的觀點表達應用程式的效能。透過使用第 99 百分位數作為 Auto Scaling 觸發條件或 CloudWatch 警示,您可以鎖定不超過 1% 的請求需要超過 2 毫秒來處理的目標。
檢視負載平衡器的 CloudWatch 指標
您可以使用 Amazon EC2主控台檢視負載平衡器的 CloudWatch 指標。這些指標會以監控圖表的形式顯示。若啟用負載平衡器並接收請求,監控圖表會顯示資料點。
或者,您可以使用主控台檢視負載平衡器的 CloudWatch指標。
使用 主控台檢視指標
在 開啟 Amazon EC2主控台https://console.aws.amazon.com/ec2/
。 -
若要檢視由目標群組篩選的指標,請執行下列動作:
-
在導覽窗格中,選擇 Target Groups (目標群組)。
-
選取您的目標群組,然後選擇 Monitoring (監控) 標籤。
-
(選用) 若要根據時間篩選結果,請選擇來自 Showing data for (顯示資料) 的時間範圍。
-
若要放大檢視單一指標,請選取它的圖形。
-
-
若要檢視由負載平衡器篩選的指標,請執行下列動作:
-
在導覽窗格中,選擇 Load Balancers (負載平衡器)。
-
選取您的負載平衡器,然後選擇 Monitoring (監控) 標籤。
-
(選用) 若要根據時間篩選結果,請選擇來自 Showing data for (顯示資料) 的時間範圍。
-
若要放大檢視單一指標,請選取它的圖形。
-
使用 CloudWatch 主控台檢視指標
在 開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/
。 -
在導覽窗格中,選擇 指標。
-
選取應用程式ELB命名空間。
-
(選用) 若要檢視所有維度的指標,請在搜尋欄位中輸入其名稱。
-
(選用) 若要根據維度來篩選,請選取下列其中一項:
-
若要僅顯示負載平衡器報告的指標,請選擇每個應用程式ELB指標 。若要檢視單一負載平衡器的指標,請在搜尋欄位中輸入其名稱。
-
若要僅顯示目標群組報告的指標,請ELB根據 TG 指標 選擇每個應用程式 。若要檢視單一目標群組的指標,請在搜尋欄位中輸入其名稱。
-
若要僅顯示依可用區域針對負載平衡器報告的指標,請選擇每個應用程式ELB,每個 AZ 指標 。若要檢視單一負載平衡器的指標,請在搜尋欄位中輸入其名稱。若要檢視單一可用區域的指標,請在搜尋欄位中輸入其名稱。
-
若要僅顯示可用區域和目標群組針對負載平衡器報告的指標,請選擇每個應用程式 ELB、每個 AZ、每個 TG 指標 。若要檢視單一負載平衡器的指標,請在搜尋欄位中輸入其名稱。若要檢視單一目標群組的指標,請在搜尋欄位中輸入其名稱。若要檢視單一可用區域的指標,請在搜尋欄位中輸入其名稱。
-
若要使用 檢視指標 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"
}