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

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

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

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

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

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

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

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

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

Cloud Monitoring に指標を送信する

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

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

Workflows の指標タイプ

指標データを読み取る

指標データ(時系列データ)は、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. [Try this method] ペインが表示されない場合は、[Try it!] をクリックします。

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

次のステップ