ワークフローをモニタリングする

Google Cloud Observability は、モニタリング、ロギング、診断ツールを提供します。これらのツールを使用すると、ワークフローのデプロイと実行をモニタリングして分析し、アプリケーションの動作、健全性、パフォーマンスを把握できます。

デフォルトでは、Workflows は次のように構成されています。

  • データとシステム監査ログを Cloud Logging に送信します。収集されたログを使用して、アプリケーションのデバッグとトラブルシューティングを行い、アプリケーションに関する分析情報を取得できます。
  • システム指標とリソース指標を Cloud Monitoring に送信します。収集された指標を使用して、正常性とパフォーマンスのモニタリング、傾向や問題の特定、動作変更の通知を行います。

監査ログを Cloud Logging に送信する

ワークフローは、次の種類の監査ログデータを Cloud Logging に送信します。

データアクセス監査ログは非常に大きくなる可能性があるため、デフォルトでは無効になっています。詳細については、データアクセス監査ログを有効にするをご覧ください。

Workflows の監査ログの詳細については、以下をご覧ください。

実行ログを Cloud Logging に送信することもできます。

Cloud Monitoring に指標を送信する

Workflows は、モニタリング対象のリソースから Google Cloud Observability に指標データを送信します。Monitoring のモニタリング対象リソースは、仮想マシン、データベース、アプリケーションなどの論理エンティティまたは物理エンティティを表します。モニタリング対象リソースには、ダッシュボードを通じて調査、報告したり、アラートの作成に使用したりできる一意の指標セットが含まれています。各リソースには、リソースに関する追加情報を保持する Key-Value ペアである一連のリソースラベルもあります。リソースラベルは、リソースに関連付けられたすべての指標で使用できます。

すべてのリソースタイプを表示するには、モニタリング対象リソースタイプをご覧ください。すべての指標タイプを表示するには、Google Cloud の指標をご覧ください。以下を開いて、Workflows から Google Cloud Observability に送信される指標タイプのリストを確認します。

Workflows の指標の種類

次の表の指標タイプの文字列には、workflows.googleapis.com/ という接頭辞を付ける必要があります。この接頭辞は表内で省略されています。 ラベルをクエリする場合は、metric.labels. 接頭辞を使用します。例: metric.labels.LABEL="VALUE"

指標タイプ リリース ステージ(リソース階層レベル)
表示名
種類、タイプ、単位
モニタリング対象リソース
説明
ラベル
await_callback_step_count GA(プロジェクト)
Await Callback Step Count
DELTAINT641
workflows.googleapis.com/Workflow
コールバックを待機している実行されたステップの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
callback_requests_count GA (プロジェクト)
コールバック リクエスト数
DELTAINT641
workflows.googleapis.com/Workflow
コールバックをトリガーするために行われたリクエストの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
callback_timeout_count GA(プロジェクト)
コールバック タイムアウト数
DELTAINT641
workflows.googleapis.com/Workflow
タイムアウトしたコールバックの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
cmek_protected_workflow_count GA(プロジェクト)
CMEK で保護されたワークフローの数
DELTAINT641
workflows.googleapis.com/Workflow
CMEK 保護でデプロイされたワークフローの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
compute_slice_count GA(プロジェクト)
コンピューティング スライス数
DELTAINT641
workflows.googleapis.com/Workflow
実行されたコンピューティング スライスの数。ステップは、実行されるステップのタイプに応じて、作業のスライスで実行されます(例: HTTP リクエストは「割り当て」ステップとは別に実行されます)。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
type: コンピューティング スライスのタイプ(「IO_REQUEST」や「WAKEUP」など)。
has_parallel: (BOOL) ワークフローで並列ステップを使用するかどうか。
compute_slice_latencies GA(プロジェクト)
コンピューティング スライスのレイテンシ
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
コンピューティング スライスのスケジュール設定から実行までのレイテンシ。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
type: コンピューティング スライスのタイプ(「IO_REQUEST」や「WAKEUP」など)。
has_parallel: (BOOL) ワークフローで並列ステップを使用するかどうか。
compute_step_count GA(プロジェクト)
コンピューティング ステップ数
DELTAINT641
workflows.googleapis.com/Workflow
実行されたコンピューティング ステップの数(「assign」ステップや「for」ステップなど)。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
compute_step_latencies GA(プロジェクト)
計算ステップのレイテンシ
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
実行されたコンピューティング ステップのレイテンシ。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
create_callback_step_count 一般提供(プロジェクト)
Create Callback Step Count
DELTAINT641
workflows.googleapis.com/Workflow
コールバックを作成するために実行されたステップの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
method: 作成されたコールバックのメソッド タイプ(「POST」など)。
deployment_attempt_count GA (プロジェクト)
デプロイの試行回数
DELTAINT641
workflows.googleapis.com/Workflow
ワークフローのデプロイの試行回数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
result: デプロイの試行のステータス。
deployment_latencies GA (プロジェクト)
デプロイ レイテンシ
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
ワークフローのデプロイ試行のレイテンシ。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
duplicate_event_count GA(プロジェクト)
重複イベント数
DELTAINT641
workflows.googleapis.com/Workflow
受信した重複イベント トリガーの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
event_type: イベントのタイプ。
event_time_to_ack_latencies GA(プロジェクト)
イベントの ACK までのレイテンシ
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
イベントの開始からワークフロー サービスが ACK を返すまでのレイテンシ。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
event_type: イベントのタイプ。
event_trigger_count GA(プロジェクト)
イベント トリガー数
DELTAINT641
workflows.googleapis.com/Workflow
受信したイベント トリガーの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
event_type: イベントのタイプ。
result: イベント トリガーの結果。
execution_backlog_size GA(プロジェクト)
実行バックログのサイズ
GAUGEINT641
workflows.googleapis.com/Workflow
まだ開始されていない実行の数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
execution_times ベータ版(プロジェクト)
実行回数
DELTADISTRIBUTIONs
workflows.googleapis.com/Workflow
ワークフローの実行時間の分布。
revision_id: 実行されたワークフローのリビジョン ID。
external_step_count ベータ版(プロジェクト)
外部ステップ数
DELTAINT641
workflows.googleapis.com/Workflow
ワークフローで実行された外部ステップの数。
finished_execution_count ベータ版(プロジェクト)
完了した実行回数
DELTAINT641
workflows.googleapis.com/Workflow
ワークフローの完了した実行数。
status: ワークフローの実行ステータス。
revision_id: 実行されたワークフローのリビジョン ID。
internal_execution_error_count 一般提供 (プロジェクト)
内部実行エラー数
DELTAINT641
workflows.googleapis.com/Workflow
内部エラーで失敗した実行の数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
internal_step_count ベータ版(プロジェクト)
内部ステップ数
DELTAINT641
workflows.googleapis.com/Workflow
ワークフローで実行された内部ステップの数。
io_internal_request_count GA (プロジェクト)
IO 内部リクエスト数
DELTAINT641
workflows.googleapis.com/Workflow
ワークフローが Google サービスに対して行った I/O リクエストの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
service_domain: 呼び出される Google サービスのドメイン(bigquery.googleapis.com など)。
io_step_count GA(プロジェクト)
IO ステップ数
DELTAINT641
workflows.googleapis.com/Workflow
実行された I/O ステップの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
io_result: I/O ステップの結果。
io_step_type: I/O ステップのタイプ。
destination_type: I/O ステップの宛先タイプ。
had_system_error: (BOOL)I/O ステップでシステム エラーが発生したかどうか。
io_step_latencies GA(プロジェクト)
IO ステップのレイテンシ
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
実行された I/O ステップのレイテンシ。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
io_result: I/O ステップの結果。
io_step_type: I/O ステップのタイプ。
had_system_error: (BOOL)I/O ステップでシステム エラーが発生したかどうか。
kms_decrypt_latencies GA(プロジェクト)
KMS 復号レイテンシ
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
CMEK のワークフローによる KMS への復号リクエストのレイテンシ。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
status: 復号リクエストのステータス。
attempts: (INT64) 復号リクエストの試行回数。
kms_decrypt_request_count 一般提供 (プロジェクト)
KMS 復号リクエスト数
DELTAINT641
workflows.googleapis.com/Workflow
CMEK 用にサービスによって行われた KMS 復号リクエストの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
status: 復号リクエストのステータス。
kms_encrypt_latencies GA(プロジェクト)
KMS 暗号化レイテンシ
DELTADISTRIBUTIONms
workflows.googleapis.com/Workflow
CMEK のワークフローによる KMS への暗号化リクエストのレイテンシ。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
status: 暗号化リクエストのステータス。
attempts: (INT64) 暗号化リクエストの試行回数。
kms_encrypt_request_count GA(プロジェクト)
KMS 暗号化リクエスト数
DELTAINT641
workflows.googleapis.com/Workflow
CMEK 用にサービスによって行われた KMS 暗号化リクエストの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
status: 暗号化リクエストのステータス。
parallel_branch_step_count GA(プロジェクト)
並列ブランチステップ数
DELTAINT641
workflows.googleapis.com/Workflow
並列ブランチを使用して実行されたステップの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
parallel_branch_substep_count GA(プロジェクト)
並列ブランチのサブステップ数
DELTAINT641
workflows.googleapis.com/Workflow
並列ブランチ内で実行されたステップの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
parallel_iteration_step_count GA(プロジェクト)
並列反復処理ステップ数
DELTAINT641
workflows.googleapis.com/Workflow
並列反復処理を使用して実行されたステップの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
parallel_iteration_substep_count GA(プロジェクト)
並列反復処理のサブステップ数
DELTAINT641
workflows.googleapis.com/Workflow
並列反復処理内で実行されるステップの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
parallel_unhandled_exceptions_limit_count GA (プロジェクト)
並列の未処理例外の上限数
DELTAINT641
workflows.googleapis.com/Workflow
未処理の並列例外の上限に達した回数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
pending_io_requests GA (プロジェクト)
保留中の IO リクエスト
GAUGEINT641
workflows.googleapis.com/Workflow
処理中の I/O リクエストの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
sent_bytes_count ベータ版(プロジェクト)
送信されたネットワーク バイト数
DELTAINT64By
workflows.googleapis.com/Workflow
ワークフローが送信した送信 HTTP バイト数(URL、ヘッダー、本文)。
revision_id: 実行されたワークフローのリビジョン ID。
started_execution_count ベータ版(プロジェクト)
開始された実行数
DELTAINT641
workflows.googleapis.com/Workflow
ワークフローの開始された実行の数。
revision_id: 実行されたワークフローのリビジョン ID。
started_vpcsc_executions_count GA(プロジェクト)
開始された VPC-SC 実行数
DELTAINT641
workflows.googleapis.com/Workflow
開始された VPC-SC 制限付き実行の数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。
vpcsc_protected_io_count GA (プロジェクト)
VPC-SC で保護された IO 数
DELTAINT641
workflows.googleapis.com/Workflow
VPC-SC を使用して行われた I/O リクエストの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 120 秒間表示されません。
revision_id: 実行されたワークフローのリビジョン ID。

表の生成日時: 2024-12-05 22:01:39 UTC

指標データを読み取る

指標データ(時系列データ)は、Cloud Monitoring API の timeSeries.list メソッドを使用して読み取ることができます。このメソッドを呼び出す方法はいくつかあります。言語固有のクライアント ライブラリを使用する方法や、Metrics Explorer でグラフを作成する方法などです。フォームベースの API Explorer を使用して timeSeries.list メソッドを試すこともできます。指標と時系列の概要については、指標、時系列、リソースをご覧ください。指標データを読み取る方法については、時系列データを取得するをご覧ください。

割り当て指標のモニタリング

次の例は、API Explorer を使用して Workflows の使用済みの割り当て割り当てをクエリする方法を示しています。具体的には、Consumer Quota リソースタイプで serviceruntime.googleapis.com/quota/allocation/usage 指標を使用します。追加のラベルフィルタ(servicequota_metric)を設定すると、割り当てタイプを指定できます。割り当て指標のモニタリングの詳細(その他の例やアラート ポリシーの作成方法など)については、割り当て指標をグラフ化してモニタリングするをご覧ください。

  1. timeSeries.list リファレンス ページを開きます。

  2. [この方法を試す] ペインが表示されない場合は、[試す] をクリックします。

  3. [name] フィールドに、次の形式で Google Cloud プロジェクト ID を入力します。

    projects/PROJECT_ID
    
  4. [フィルタ] フィールドで、単一の指標タイプを指定します。必要に応じて、指標ラベルなどの情報を指定します。次に例を示します。

    metric.type = "serviceruntime.googleapis.com/quota/allocation/usage" AND resource.labels.service = "workflowexecutions.googleapis.com"
    
  5. [interval.endTime] フィールドに、返されるデータの量を制限する終了時間を入力します。この時間は、使用状況に応じて設定してください。RFC 3339 文字列の形式にする必要があります(例: 2024-11-07T03:01:02Z)。

  6. [interval.startTime] フィールドに、返されるデータの量を制限する開始時間を入力します。この開始時間は、使用状況に応じて設定します。RFC 3339 文字列としてフォーマットする必要があります(例: 2024-11-07T03:01:00Z)。

  7. [実行] をクリックします。

    結果は次のようになります。350同時実行割り当て指標を示します。

    {
    "timeSeries": [
       {
          "metric": {
          "labels": {
             "quota_metric": "workflowexecutions.googleapis.com/concurrency"
          },
          "type": "serviceruntime.googleapis.com/quota/allocation/usage"
          },
          "resource": {
          "type": "consumer_quota",
          "labels": {
             "service": "workflowexecutions.googleapis.com",
             "project_id": "PROJECT_ID",
             "location": "europe-west1"
          }
          },
          "metricKind": "GAUGE",
          "valueType": "INT64",
          "points": [
          {
             "interval": {
                "startTime": "2024-11-07T03:01:02Z",
                "endTime": "2024-11-07T03:01:02Z"
             },
             "value": {
                "int64Value": "350"
             }
          }
          ]
       }
    
  8. 閉じられた API Explorer サイドパネルで、全画面表示アイコン をクリックすると、API Explorer が開きます。全画面パネルには、コードサンプル、application/json レスポンス、未加工の HTTP レスポンスを含む追加ペインが表示されます。たとえば、この場合は、次のような curl コマンドを使用できます。

    curl \
    'https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries?filter=metric.type%20%3D%20%22serviceruntime.googleapis.com%2Fquota%2Fallocation%2Fusage%22%20AND%20resource.labels.service%20%3D%20%22workflowexecutions.googleapis.com%22&interval.endTime=2024-11-07T03%3A01%3A02Z&interval.startTime=2024-11-07T03%3A01%3A00Z&key=YOUR_API_KEY' \
       --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
       --header 'Accept: application/json' \
       --compressed
    

Monitoring ダッシュボードとアラートの使用

Monitoring ダッシュボードとそれに関連するグラフを使用すると、Workflows 指標のデータを可視化できます。

Monitoring でこうした指標をモニタリングするために、カスタム ダッシュボードを作成できます。こうした指標に基づいてアラートを追加することもできます。

次のステップ