本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon 監控 Step Functions 指標 CloudWatch
監控是維持可靠性,可用性和性能的重要組成部分 AWS Step Functions 和您的 AWS 解決方案。您應該從中收集盡可能多的監視數據 AWS 您使用的服務,以便您可以偵錯多點失敗。
開始監視 Step Functions 之前,您應該先建立可回答下列問題的監視計劃:
-
監控目標是什麼?
-
要監控哪些資源?
-
監控這些資源的頻率為何?
-
要使用哪些監控工具?
-
誰將執行監控任務?
-
發生問題時應該通知誰?
下一個步驟是在您的環境中建立正常 效能的基準。若要完成此步驟,請在各種時間及不同負載條件下測量效能。監視 Step Functions 數時,請考慮儲存歷史監視資料。這類資料會提供基準,讓您可與目前的效能資料比較,以識別出正常的效能模式和效能異常狀況,再規劃方法來處理問題。
例如,使用 Step Functions,您可以監視有多少活動或 AWS Lambda 工作因活動訊號逾時而失敗。當效能超出建立的基準時,您可能需要變更活動訊號的間隔。
若要建立基準,您至少必須監控下列指標:
-
ActivitiesStarted
-
ActivitiesTimedOut
-
ExecutionsStarted
-
ExecutionsTimedOut
-
LambdaFunctionsStarted
-
LambdaFunctionsTimedOut
Step Functions 測量結果 CloudWatch
Step Functions 向 Amazon 提供以下類型的指標 CloudWatch。您可以使用這些指標來追蹤狀態機器和活動,並設定閾值的警示。您可以使用 AWS Management Console.
CloudWatch 指標傳送
CloudWatch 指標是以最大的努力為基礎提供。
不保證指標的完成程度與時間先後順序。特定要求的資料點回傳,回傳時附有的時間戳記可能會晚於實際處理要求時間。資料點可能會延遲一分鐘,然後才能透過使用 CloudWatch,否則可能根本無法傳遞。CloudWatch 請求指標可讓您以近乎即時的方式瞭解狀態機器執行情況。它並不意味著所有與執行相關的指標的完整會計。
根據此功能的最大努力,帳單和成本管理儀表板上可用的報表
報告時間間隔的量度
某些「Step Functions」測 CloudWatch 量結果是時間間隔,一律以毫秒為單位。這些指標通常對應於您的執行階段,您可以使用描述性名稱來設定狀態機器、活動和 Lambda 函數逾時。
例如,ActivityRunTime
指標會測量活動開始執行後所需的完成時間。您可以為相同的期間設定逾時值。
在 CloudWatch 主控台中,如果您選擇平均值作為時間間隔測量結果的顯示統計資料,則可以取得最佳結果。
報告計數的量度
部分 Step Functions 數 CloudWatch 量度報表的結果為計數。例如,ExecutionsFailed
會記錄狀態機器執行的失敗次數。
Step Functions 為每個狀態機執行發出兩個ExecutionsStarted
指標。這會導致ExecutionsStarted
測量結果的SampleCount統計值顯示每次執行狀態機器時的值 2。 SampleCount 統計資料會顯示以ExecutionStarted=1
及執行完成的ExecutionStarted=0
時間。
提示
我們建議您選取「總和」作為在 CloudWatch 主控台中報告計數的量度的顯示統計資料。
執行指標
AWS/States
命名空間包含所有「Step Functions」執行的下列測量結果。這些是跨區域帳戶套用的無維度指標。
指標 | 描述 |
---|---|
OpenExecutionCount |
目前開啟的執行項目大約數目 — 您帳戶中目前正在進行的工作流程。 其目的是提供您工作流程何時接近最大執行限制的深入分析,以避免在呼叫
|
OpenExecutionLimit |
開啟的執行數目上限。如需詳細資訊,請參閱與帳戶相關的配額。 此限制不適用於快速工作流程。 |
具有版本或別名的狀態機的執行指標
當您使用版本或別名執行狀態機器執行時,Step Functions 會發出以下指標。只有在節流執行的情況下才會發出ExecutionThrottled
指標。這些指標將包括用StateMachineArn
於識別特定狀態機器。
指標 | 描述 |
---|---|
ExecutionTime |
執行開始與關閉時間之間的間隔 (以毫秒為單位)。 |
ExecutionThrottled |
已限制的StateEntered 事件和重試次數。這和 StateTransition 的調節有關。如需詳細資訊,請參閱與狀態節流有關的配額。 |
ExecutionsAborted |
中止或終止的執行數目。 |
ExecutionsFailed |
失敗的執行次數。 |
ExecutionsStarted |
已開始執行的數目。 |
ExecutionsSucceeded |
成功完成的執行項目數目。 |
ExecutionsTimedOut |
因任何原因逾時的執行次數。 |
快速工作流程的執行度量
AWS/States
命名空間包含「Step Functions 快速工作流程」執行的下列度量。
指標 | 描述 |
---|---|
ExpressExecutionMemory
|
快速工作流程使用的總記憶體。 |
ExpressExecutionBilledDuration |
「快速工作流程」計費的持續時間。 |
ExpressExecutionBilledMemory |
「快速工作流程」計費的使用記憶體量。 |
Redrive 標準工作流程的執行指標
當您 redrive狀態機執行,Step Functions 發出以下指標。
對於所有 redriven 執行,Executions*
指標被發出。例如,說一個 redriven 執行中止。此執行將為和發出非零數據點。RedrivenExecutionsAborted
ExecutionsAborted
指標 | 描述 |
---|---|
ExecutionsRedriven |
數量 redriven 處決。 |
RedrivenExecutionsAborted |
數量 redriven 被取消或終止的執行。 |
RedrivenExecutionsTimedOut |
數量 redriven 因任何原因超時的執行。 |
RedrivenExecutionsSucceeded |
數量 redriven 成功完成的執行項目。 |
RedrivenExecutionsFailed |
數量 redriven 失敗的執行。 |
Step Functions 執行測量結果的維度
維度 | 描述 |
---|---|
StateMachineArn
|
有問題執行的狀態機器的 Amazon 資源名稱 (ARN)。 |
具有版本的執行維度
維度 | 描述 |
---|---|
StateMachineArn
|
執行由版本啟動的狀態機器的 Amazon 資源名稱 (ARN)。 |
Version |
用於啟動執行的狀態機器版本。 |
具有別名的執行維度
維度 | 描述 |
---|---|
StateMachineArn
|
執行由別名啟動的狀態機器的 Amazon 資源名稱 (ARN)。 |
Alias |
用於啟動執行的狀態機器別名。 |
版本和別名的資源計數量
AWS/States
命名空間包括狀態機器版本和別名計數的下列度量。
版本和別名之資源計數量度的維度
維度 | 描述 |
---|---|
ResourceArn
|
具有版本或別名的狀態機器的 Amazon 資源名稱 (ARN)。 |
活動指標
AWS/States
命名空間包含「Step Functions」活動的下列測量結果。
指標 | 描述 |
---|---|
ActivityRunTime
|
活動開始與關閉時間之間的間隔 (以毫秒為單位)。 |
ActivityScheduleTime |
活動保持在排程狀態的間隔 (以毫秒為單位)。 |
ActivityTime |
從活動排程到活動關閉的時間之間的間隔,以毫秒為單位。 |
ActivitiesFailed |
失敗的活動數目。 |
ActivitiesHeartbeatTimedOut |
因活動訊號逾時而逾時的活動數目。 |
ActivitiesScheduled |
已排程活動的數目。 |
ActivitiesStarted |
已開始活動的數目。 |
ActivitiesSucceeded |
成功完成的活動數目。 |
ActivitiesTimedOut |
關閉時逾時的活動數目。 |
Step Functions 活動測量結果的維度
維度 | 描述 |
---|---|
|
活ARN動的。 |
Lambda 功能指標
命AWS/States
名空間包括步驟函數 Lambda 函數的下列量度。
指標 | 描述 |
---|---|
LambdaFunctionRunTime |
Lambda 函數啟動到關閉時間之間的間隔 (以毫秒為單位)。 |
LambdaFunctionScheduleTime |
Lambda 函數保持在排程狀態的間隔 (以毫秒為單位)。 |
LambdaFunctionTime |
Lambda 函數排定到關閉時間之間的間隔 (以毫秒為單位)。 |
LambdaFunctionsFailed |
失敗的 Lambda 函數數目。 |
LambdaFunctionsScheduled |
排程的 Lambda 函數數。 |
LambdaFunctionsStarted |
已啟動的 Lambda 函數數目。 |
LambdaFunctionsSucceeded |
成功完成的 Lambda 函數數目。 |
LambdaFunctionsTimedOut |
關閉時逾時的 Lambda 函數數目。 |
步驟函數 Lambda 函數量度量的維度
維度 | 描述 |
---|---|
|
Lambda 函數ARN的。 |
注意
系統會針對ARN在
Resource
欄位中指定 Lambda 函數的工作狀態發出 Lambda 函數指標。改為使用"Resource": "arn:aws:states:::lambda:invoke"
發出服務整合度量的工作狀態。如需詳細資訊,請參閱調用 AWS Lambda 具有 Step Functions 的功能。
服務整合指標
命AWS/States
名空間包含下列 Step Functions 服務整合的量度。如需詳細資訊,請參閱整合服務與 Step Functions。
指標 | 描述 |
---|---|
ServiceIntegrationRunTime |
服務工作開始與關閉時間之間的間隔 (以毫秒為單位)。 |
ServiceIntegrationScheduleTime |
服務工作保持在排程狀態的間隔 (以毫秒為單位)。 |
ServiceIntegrationTime |
從排定服務工作到關閉時間之間的間隔 (以毫秒為單位)。 |
ServiceIntegrationsFailed |
失敗的服務作業數目。 |
ServiceIntegrationsScheduled |
排程的服務作業數目。 |
ServiceIntegrationsStarted |
已啟動的服務作業數目。 |
ServiceIntegrationsSucceeded |
順利完成的服務作業數目。 |
ServiceIntegrationsTimedOut |
關閉時逾時的服務作業數目。 |
Step Functions 服務整合測量結果的維度
維度 | 描述 |
---|---|
|
整合式服務ARN的資源。 |
服務指標
AWS/States
命名空間包含「Step Functions」服務的下列測量結果。
指標 | 描述 |
---|---|
ThrottledEvents
|
已限制的要求計數。 |
ProvisionedBucketSize |
每秒可用要求的計數。 |
ProvisionedRefillRate |
允許進入值區的每秒要求計數。 |
ConsumedCapacity |
每秒要求計數。 |
Step Functions 服務測量結果的維度
維度 | 描述 |
---|---|
|
篩選資料以顯示狀態轉換指標 |
API度量
AWS/States
命名空間包含「Step Functions」的下列測量結果API。
指標 | 描述 |
---|---|
ThrottledEvents
|
已限制的要求計數。 |
ProvisionedBucketSize |
每秒可用要求的計數。 |
ProvisionedRefillRate |
允許進入值區的每秒要求計數。 |
ConsumedCapacity |
每秒要求計數。 |
Step Functions API 測量結果的維度
維度 | 描述 |
---|---|
|
將資料篩選為指定API名稱API的。 |
檢視 Step Functions 測量結果 CloudWatch
您可以使用主 CloudWatch 控台來檢視執行、活動、函數和服務整合的 Step Functions 指標。
-
登入 AWS Management Console 並打開控 CloudWatch 制台。
-
選擇 Metrics (指標) 並前往 All Metrics (所有指標) 標籤,然後選擇 States (狀態)。
如果您最近執行了任何執行,最多可以看到四種類型的指標:
-
執行指標
-
Activity Function Metrics (活動函數指標)
-
Lambda 函數指標
-
服務整合指標
-
-
選擇指標類型,以查看指標清單。
-
若要依量度名稱排序量度 StateMachineArn,或使用欄標題。
-
若要檢視指標的圖表,請在清單上選擇指標旁的方塊。您可以使用圖表視圖上方的時間範圍控制變更圖表參數。
您可以使用相對值或絕對值 (特定天數和時間) 選擇自訂時間範圍。您還可以使用下拉式清單將值顯示為行、重疊圖表或號碼 (值)。
-
若要檢視圖表的詳細資訊,請將滑鼠游標暫留在圖表下方顯示的量度顏色代碼上,即可顯示量度詳細資訊。
-
如需使用指 CloudWatch 標的詳細資訊,請參閱 Amazon 使用者指南中的使 CloudWatch 用 Amazon 指 CloudWatch 標。
設定 Step Functions 量度量的警示 CloudWatch
您可以使用 Amazon CloudWatch 警示來執行動作。例如,如果您想知道何時達到警示臨界值,可以設定警示,以便在StateMachinesFailed
指標上升超過特定閾值時傳送通知給 Amazon SNS 主題,或傳送電子郵件。
設定指標的警示
-
登入 AWS Management Console 並打開控 CloudWatch 制台。
-
選擇 Metrics (指標) 並前往 All Metrics (所有指標) 標籤,然後選擇 States (狀態)。
如果您最近執行了任何執行,最多可以看到四種類型的指標:
-
執行指標
-
Activity Function Metrics (活動函數指標)
-
Lambda 函數指標
-
服務整合指標
-
-
選擇指標類型,以查看指標清單。
-
選擇指標,然後選擇 Graphed metrics (圖表化指標)。
-
選擇清單中測量結果旁的鐘形圖示,以顯示「建立警示」頁面。
-
輸入 Alarm threshold (警示閾值) 和 Actions (動作) 的值,然後選擇 Create Alarm (建立警示)。
如需有關設定和使用 CloudWatch 警示的詳細資訊,請參閱 Amazon 使用 CloudWatch 者指南中的建立 Amazon CloudWatch 警示。