Stackdriver のモニタリング環境

Cloud Composer では Stackdriver MonitoringStackdriver Logging を使用できます。

Monitoring を使用すると、クラウドで実行するアプリケーションのパフォーマンス、稼働時間、全体的な動作状況を確認できます。Stackdriver は Cloud Composer から指標、イベント、メタデータを収集して取り込み、ダッシュボードやグラフを介して分析情報を生成します。また、Monitoring では Cloud Composer 環境のパフォーマンスや動作状況と Airflow の指標を確認することもできます。

Logging は、スケジューラとワーカー コンテナが生成するログをキャプチャします。ログには、デバッグに役立つシステムレベルと Airflow 依存関係の情報が含まれています。ログの表示については、Airflow ログの表示をご覧ください。

始める前に

  • Cloud Composer 環境のログと指標にアクセスするには、次の権限が必要になります。

    • 読み取り専用のロギングとモニタリング: logging.viewermonitoring.viewer
    • プライベート ログを含む読み取り専用ロギング: logging.privateLogViewer
    • 読み取りと書き込みのモニタリング: monitoring.editor

      詳細については、Cloud Composer のアクセス制御をご覧ください。

  • ログの重複を避けるためには、Google Kubernetes Engine の Stackdriver Logging を無効にします。

  • Stackdriver Logging により、Google Cloud Platform プロジェクトで発生した各ステータスとイベントのエントリが生成されます。Stackdriver によって Cloud Composer 用に生成されるログを含む、ログの量を削減するために除外フィルタを使用できます。

  • Monitoring では、1 分あたり複数回実行されるワークフローとタスクのカウント値をプロットできません。また現在、失敗したタスクの指標をプロットできません。

指標とリソースタイプ

Airflow の指標は、ワークフロー(DAG)の Monitoring や Celery Executor で確認できます。

ワークフロー

ワークフローの実行効率をモニタリングして長時間のレイテンシの原因となるタスクを特定するために、次のワークフローの指標を利用できます。

ワークフローの指標 API
ワークフローの実行数 composer.googleapis.com/workflow/run_count
各ワークフローの実行期間 composer.googleapis.com/workflow/run_duration
タスクの実行数 composer.googleapis.com/workflow/task/run_count
各タスクの実行期間 composer.googleapis.com/workflow/task/run_duration

Stackdriver では、完了したワークフローとタスクの実行(成功または失敗)に関する指標のみが表示されます。ワークフローのアクティビティが存在しない場合に、進行中のワークフローと実行しているタスクについて [データなし] と表示されます。

Celery Executor

次の Celery Executor の指標を利用できます。これらの指標により、環境内に十分なワーカー リソースがあるかどうかを判断できます。

Celery Executor の指標 API
キュー内のタスク数 composer.googleapis.com/environment/task_queue_length
オンライン Celery のワーカー数 composer.googleapis.com/environment/num_celery_workers

Stackdriver のドキュメントには、Cloud Composer の指標とリソースに関する次の情報も含まれています。

  • Cloud Composer によって Stackdriver に報告される使用状況の指標の一覧については、指標リストをご覧ください。
  • cloud_composer_environment リソースタイプに関する詳細については、Stackdriver のドキュメントのモニタリング対象リソースタイプをご覧ください。

Cloud Composer 環境で Monitoring を使用する

Monitoring Console または Monitoring API を使用して Monitoring にアクセスできます。

Console

  1. Cloud Composer 環境を作成した後、Monitoring Console に移動して環境モニタリング データを表示します。
  2. Monitoring に最初にアクセスするときに、ワークスペースを作成し、プロジェクトを選択するように求められます。
  3. ワークスペースを設定すると、Monitoring Console が表示されます。

  4. [Resources] > [Metrics Explorer] を選択して [Cloud Composer] を選択します。
    1. [Find resource type and metric] 入力ボックスをクリックして、リソースのプルダウン リストを表示します。
    2. [Cloud Composer Environment] または [Cloud Composer Workflow] リソースを選択します。あるいは、ボックスに 「cloud_composer_environment」または「cloud_composer_workflow」と入力します。
  5. 入力ボックスをもう一度クリックし、プルダウン リストから指標を選択します。指標名にカーソルを合わせると、指標に関する情報が表示されます。
  6. Cloud Composer 環境の情報は、workflow_name ラベル、workflow_name=environment.workflow に含まれます。特定の環境のワークフロー指標を表示するには、フィルタを追加します。
    1. workflow_name のフィルタを作成します。
    2. ワークフローの指標を表示する環境の名前を正規表現 =~ "your-environment-name.*" とともに使用して、接頭辞をフィルタします。フィルタリング ラベルでの正規表現の使用方法については、フィルタリングをご覧ください。
  7. [Save Chart] をクリックします。

    また、指標ラベルによるグループ化、集計の実行、グラフ表示オプションの選択もできます。Monitoring のドキュメントをご覧ください。

API

Monitoring の timeSeries.list API を使用して、filter 式で定義された指標を取得し、一覧表示できます。API ページの [Try this API] テンプレートを使用して、API リクエストを送信し、レスポンスを表示します。

カスタムの Monitoring ダッシュボードを構築する

選択した指標のグラフを Cloud Composer 環境用に表示する、カスタムの Monitoring ダッシュボードを構築できます。

  1. Monitoring Console で、[ダッシュボード] > [ダッシュボードの作成] を選択します。

  2. 無題のダッシュボードで、[Add Chart] をクリックしてグラフを作成します。

    1. [Add Chart] ウィンドウで、リソースタイプとして [Cloud Composer Environment] を選択します。
    2. 1 つ以上の指標とグラフのプロパティを選択します。
    3. 新しいグラフのタイトルを確認または入力し、[保存] をクリックします。
    4. 必要に応じてダッシュボードにグラフを追加し、[保存] をクリックします。

    次の例は、指標 Task Duration を示しています。この指標は、ワークフロー内のアクティブなタスクの期間をプロットします。これはパフォーマンスの微調整に有用です。

  3. [Monitoring Dashboards] メニューでタイトルをクリックして、ダッシュボードを表示します。

  4. ダッシュボード表示ページから、グラフを表示、更新、削除できます。

Monitoring アラートを使用する

Cloud Composer 指標が指定したしきい値を超えたときに通知をする Monitoring アラートを作成できます。

アラートの作成

アラートを作成するには、次の手順を行います。

  1. Monitoring Console から [アラート] > [ポリシーの作成] を選択します。[Create a new alerting policy] ページが表示されます。

  2. [Conditions] で [Add Condition] をクリックします。

  3. [Create condition] ページで次の手順を行います。

    1. 条件の名前を追加します。
    2. タブのヘッダーで、[Metric] までスクロールします。
    3. [Target] で、リソースタイプとして [Cloud Composer 環境] または [Cloud Composer Workflow] を選択します。
    4. 選択したリソースタイプの指標を選択します。
    5. [保存] をクリックします。

  4. アラートの条件を設定したら、[Create a new alerting policy] ページで、通知チャネル、ドキュメント、新しいアラート ポリシーの名前を設定して、アラート ポリシーを完成させます。

アラート ポリシーの管理アラート ポリシーの条件指定に関する詳細については、Stackdriver のドキュメントをご覧ください。

アラートの表示

指標しきい値条件によってアラートがトリガーされると、Monitoring によってインシデント(および対応するイベント)が作成されます。

[Monitoring Alerting] > [Incidents] ページからインシデントを確認できます。

アラート ポリシーに通知メカニズム(メールや SMS 通知など)を定義した場合も、Monitoring によってインシデントの通知が送信されます。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...