View a markdown version of this page

Amazon MWAA のモニタリングダッシュボードとアラーム - Amazon Managed Workflows for Apache Airflow

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon MWAA のモニタリングダッシュボードとアラーム

Amazon Managed Workflows for Apache Airflow 環境の環境詳細ページには、組み込みの CloudWatch メトリクスダッシュボードと環境アラームテーブルが含まれています。これらの機能を使用して、Amazon MWAA コンソールで環境の状態を直接モニタリングできます。追加のセットアップは必要ありません。

Apache Airflow は、DAG プロセスの数、DAG バッグサイズ、現在実行中のタスク、タスクの失敗、成功など、さまざまなプロセスのメトリクスを公開します。環境を作成すると、Apache Airflow は Amazon MWAA 環境のメトリクスを自動的に CloudWatch に送信します。組み込みダッシュボードに加えて、Amazon CloudWatch でカスタムダッシュボードを構築し、特定のメトリクスにアラームを追加できます。ダッシュボードでアラームが発生すると、 ALARM状態になると赤に変わります。これにより、Amazon MWAA 環境の状態をプロアクティブにモニタリングしやすくなります。

メトリクスダッシュボードを表示する

環境の詳細ページには、CloudWatch メトリクスの下のコンソールに表示される組み込みの CloudWatch メトリクスダッシュボードが含まれています。この埋め込み CloudWatch ダッシュボードには、追加のセットアップなしで環境のグラフが表示されます。

Amazon MWAA 環境の詳細ページの CloudWatch メトリクスペイン。コンテナグループのアラームレコメンデーショントグル、メトリクスセクションフィルター、サンプルグラフが表示されます。

CloudWatch コンソールでメトリクスの完全なセットを開くには、CloudWatch ですべて表示を選択します。

ダッシュボードには、次の 2 つの CloudWatch 名前空間のメトリクスが表示されます。

  • AmazonMWAA – Apache Airflow メトリクス。

  • AWS/MWAA – コンテナ、キュー、データベースのメトリクス。

次のコントロールを使用して、ダッシュボードの表示内容を変更できます。

  • アラームレコメンデーショントグルをオンにして、レコメンデーションメトリクスのみを表示します。このトグルをオンにすると、各グラフはアラームしきい値を注釈として描画します。注釈は、メトリクスに応じて、メトリクスが上記の場合はアラームを、メトリクスが以下の場合はアラームを読み取ります。

  • メトリクスセクションフィルターを使用して、特定のグループのグラフのみを表示します。使用可能なグループは、コンテナデータベースとキュー、スケジューラDAG 処理タスクトリガーです。

注記

メトリクス許可リストまたはブロックリストオプションを使用して発行する Apache Airflow メトリクスをフィルタリングするように環境を設定すると、一部のグラフにデータがない可能性があります。

注記

メトリクスダッシュボードを表示するには、IAM ID に、、、 cloudwatch:GetMetricStatisticsなどの CloudWatch cloudwatch:GetMetricDataメトリクスを読み取るアクセス許可が必要ですcloudwatch:ListMetrics。これらのアクセス許可がない場合、グラフはデータなしでレンダリングされます。

Amazon MWAA が公開するメトリクスの完全なリストについては、「」を参照してくださいCloudWatch の Apache Airflow 環境メトリクス

ダッシュボードに表示されるメトリクス

ダッシュボードは、メトリクスセクションでフィルタリングできる 6 つのセクションにグラフを整理します。これは、環境全体のメトリクスの厳選されたセットを示しています。グラフは、 AmazonMWAA名前空間 (Apache Airflow メトリクス) と AWS/MWAA名前空間 (コンテナ、キュー、データベースメトリクス) から取得されます。次の表に、各セクションのグラフと各セクションに表示される CloudWatch メトリクスを示します。

ダッシュボードグラフとそのメトリクス
セクション チャート CloudWatch メトリクス
コンテナ スケジューラの CPU 使用率 CPUUtilization
コンテナ スケジューラのメモリ使用率 MemoryUtilization
コンテナ ワーカー CPU 使用率 CPUUtilization (BaseWorker と AdditionalWorker)
コンテナ ワーカーのメモリ使用率 MemoryUtilization (BaseWorker と AdditionalWorker)
コンテナ ウェブサーバーの CPU 使用率 CPUUtilization
コンテナ ウェブサーバーのメモリ使用率 MemoryUtilization
コンテナ 実行中のワーカーコンテナ CPUUtilization サンプル数から派生
コンテナ ワーカーハートビート CeleryWorkerHeartbeat
データベースとキュー データベース解放可能メモリ FreeableMemory
データベースとキュー データベース CPU 使用率 CPUUtilization
データベースとキュー データベース接続 DatabaseConnections
データベースとキュー データベース書き込みレイテンシー WriteLatency
データベースとキュー キューに入れられた最も古いタスクの経過時間 ApproximateAgeOfOldestTask
スケジューラー スケジューラのハートビート SchedulerHeartbeat
スケジューラー スケジューラの重要なセクションの期間 CriticalSectionDuration
スケジューラー スケジューラタスクの状態 TasksExecutable, TasksStarving, TasksWithoutDagRun
スケジューラー 外部で強制終了されたタスク TasksKilledExternally
スケジューラー エグゼキュターオープンスロット OpenSlots
DAG 処理 DAG 解析時間 TotalParseTime
DAG 処理 DAG バッグサイズ DagBagSize
DAG 処理 DAG インポートエラー ImportErrors, DAGFileRefreshError
DAG 処理 DAG プロセッサの状態 ProcessorTimeouts, ManagerStalls
タスク タスクキュー QueuedTasks, RunningTasks
タスク タスクの成功と失敗 TaskInstanceSuccesses, TaskInstanceFailures
タスク ゾンビタスクの強制終了 ZombiesKilled
トリガー トリガーハートビート TriggererHeartbeat
トリガー 結果をトリガーする TriggersSucceeded, TriggersFailed
注記

トリガーグラフは、新しい Apache Airflow バージョンでのみ表示されます。トリガーの結果には Apache Airflow v2.7.2 以降が必要で、トリガーハートビートには v2.8.1 以降が必要です。

ダッシュボードには、環境全体の集計メトリクスが表示されます。Apache Airflow が DAG、タスク、プール、オペレータ、または DAG ファイルごとに発行する高カーディナリティメトリクスはグラフ化されません。また、コンテナの CPU とメモリはグラフ化されますが、すべてのコンテナメトリクスはグラフ化されません。公開されたメトリクスの完全なリストについては、CloudWatch の Apache Airflow 環境メトリクス「」および「」を参照してくださいAmazon MWAA のコンテナ、キュー、およびデータベースメトリクス

アラームの作成とモニタリング

環境の詳細ページには、CloudWatch でアラームを作成および管理し、コンテキストでモニタリングするアラームペインがあります。ペインには、環境に起因する CloudWatch アラームを一覧表示する環境アラームテーブルが表示されます。Amazon MWAA は CloudWatch 名前空間とEnvironmentディメンションによってこれらのアラームと一致するため、テーブルには、推奨アラームだけでなく、自分で作成したアラームが含まれます。

Amazon MWAA 環境の詳細ページのアラームペイン。環境アラームテーブルの上にある「推奨されるアラームの作成」とCloudWatch での管理」ボタンが表示されます。

ペインヘッダーには、現在 ALARM状態にある環境のアラームの数のアラーム内カウントが表示されます。環境アラームテーブルには次の列があります。

名前 ステータス Condition アクション 最終更新日
CloudWatch コンソールでアラームにリンクするアラーム名。 アラームステータス: アラーム、OK、または不十分なデータ。 期間内の n 個のデータポイントに対して として表示されるアラーム条件。 SNS トピックの通知トピックなどのアラームのアクション、またはアラームにアクションがない場合は - アラームが最後に更新された日時。
注記

このテーブルのアラームを表示するには、 アクセスcloudwatch:DescribeAlarms許可が必要です。

環境にアラームがない場合、環境アラームテーブルは空であり、環境のモニタリングを開始するための推奨アラームを作成するガイダンスを提供します。

アラームペインには、次の 2 つのボタンがあります。

  • 推奨アラームの作成 – 新しいタブで CloudFormation クイック作成スタックを開きます。スタックには という名前がMWAA-alarms-environment-name付けられ、環境に推奨されるアラームの標準セットが作成されます。

  • CloudWatch で管理 – CloudWatch コンソールでアラームページを開きます。

推奨アラームを作成するには
  1. Amazon MWAA コンソールを開き、環境を選択して詳細ページを開きます。

  2. モニタリングビューで、アラームペインを見つけます。

  3. 推奨アラームの作成 を選択します。 CloudFormation クイック作成スタックが新しいブラウザタブで開きます。

  4. CloudFormation コンソールでスタックを確認します。プロンプトが表示されたら、IAM リソースを作成する CloudFormation 可能性のある確認を選択します。

  5. [スタックの作成] を選択してください。

がスタック CloudFormation を作成すると、アラームは環境アラームテーブルと CloudWatch コンソールに表示されます。各アラーム状態の意味の詳細については、「」を参照してくださいアラーム状態の概要

推奨アラームの作成を選択すると、 CloudFormation テンプレートは次のアラームを作成します。CloudWatch は、5 分 (300 秒) の期間にわたってこれらのアラームをすべて評価します。

アラーム状態の概要

メトリクスアラームには次の状態があります。

  • OK – メトリクスや式は、定義されているしきい値の範囲内です。

  • ALARM – メトリクスまたは式が、定義されているしきい値を超えています。

  • INSUFFICIENT_DATA – アラームが開始直後であるか、メトリクスが利用できないか、メトリクス用のデータが不足しているため、アラームの状態を判定できません。

カスタムダッシュボードとアラームの例

独自のダッシュボードとアラームをコードとしてのインフラストラクチャとして定義して、プログラムでカスタムダッシュボードを構築したり、複数の Amazon MWAA 環境でモニタリングを標準化したりできます。環境の詳細ページの組み込みダッシュボードの代わりに、次のチュートリアルと CloudFormation テンプレートでカスタムモニタリングダッシュボードを作成します。このダッシュボードには、Amazon MWAA 環境の選択したメトリクスのグラフが表示されます。

これらのメトリクスについて

以下のリストでは、このセクションのチュートリアルとテンプレート定義によってカスタムダッシュボードに作成された各メトリクスについて説明します。

  • QueuedTasks — キューに入っている状態のタスクの数。executor.queued_tasks Apache Airflow メトリクスに対応します。

  • TaskSpending — エグゼキューターで保留中のタスクの数。scheduler.tasks.pending Apache Airflow メトリクスに対応します。

    注記

    Apache Airflow v2.2 以降には適用されません。

  • RunningTasks — エグゼキューターで実行中のタスクの数。executor.running_tasks Apache Airflow メトリクスに対応します。

  • SchedulerHeartbeat — Apache Airflow がスケジューラジョブで実行するチェックインの回数。scheduler_heartbeat Apache Airflow メトリクスに対応します。

  • TotalParseTime — すべての DAG ファイルを 1 回スキャンしてインポートするのにかかった秒数。dag_processing.total_parse_time Apache Airflow メトリクスに対応します。

ダッシュボードについて

以下の画像は、このセクションのチュートリアルとテンプレート定義によって作成されたモニタリングダッシュボードを示しています。

この画像は、Amazon MWAA コンソールの プライベートネットワーク オプションが表示される場所を示しています。

AWS チュートリアルの使用

次の AWS チュートリアルを使用して、現在デプロイされている Amazon MWAA 環境のヘルスステータスダッシュボードを自動的に作成できます。また、すべての Amazon MWAA 環境で、異常のあるワーカーやスケジューラーのハートビート障害に対して CloudWatch アラームを作成します。

の使用 CloudFormation

このセクションの CloudFormation テンプレート定義を使用して CloudWatch でモニタリングダッシュボードを作成し、CloudWatch コンソールにアラームを追加して、メトリクスが特定のしきい値を超えたときに通知を受け取ることができます。このテンプレート定義を使用してスタックを作成するには、「 CloudFormation コンソールでのスタックの作成」を参照してください。ダッシュボードにアラームを追加するには、アラームの使用 を参照してください。

AWSTemplateFormatVersion: "2010-09-09" Description: Creates MWAA Cloudwatch Dashboard Parameters: DashboardName: Description: Enter the name of the CloudWatch Dashboard Type: String EnvironmentName: Description: Enter the name of the MWAA Environment Type: String Resources: BasicDashboard: Type: AWS::CloudWatch::Dashboard Properties: DashboardName: !Ref DashboardName DashboardBody: Fn::Sub: '{ "widgets": [ { "type": "metric", "x": 0, "y": 0, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "metrics": [ [ "AmazonMWAA", "QueuedTasks", "Function", "Executor", "Environment", "${EnvironmentName}" ] ], "region": "${AWS::Region}", "title": "QueuedTasks ${EnvironmentName}", "period": 300 } }, { "type": "metric", "x": 0, "y": 6, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "metrics": [ [ "AmazonMWAA", "RunningTasks", "Function", "Executor", "Environment", "${EnvironmentName}" ] ], "region": "${AWS::Region}", "title": "RunningTasks ${EnvironmentName}", "period": 300 } }, { "type": "metric", "x": 12, "y": 6, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "metrics": [ [ "AmazonMWAA", "SchedulerHeartbeat", "Function", "Scheduler", "Environment", "${EnvironmentName}" ] ], "region": "${AWS::Region}", "title": "SchedulerHeartbeat ${EnvironmentName}", "period": 300 } }, { "type": "metric", "x": 12, "y": 0, "width": 12, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "metrics": [ [ "AmazonMWAA", "TasksPending", "Function", "Scheduler", "Environment", "${EnvironmentName}" ] ], "region": "${AWS::Region}", "title": "TasksPending ${EnvironmentName}", "period": 300 } }, { "type": "metric", "x": 0, "y": 12, "width": 24, "height": 6, "properties": { "view": "timeSeries", "stacked": true, "region": "${AWS::Region}", "metrics": [ [ "AmazonMWAA", "TotalParseTime", "Function", "DAG Processing", "Environment", "${EnvironmentName}" ] ], "title": "TotalParseTime ${EnvironmentName}", "period": 300 } } ] }'

メトリクスとダッシュボードの削除

Amazon MWAA 環境を削除すると、対応するダッシュボードも削除されます。CloudWatch メトリクスは 15 か月間保存され、削除することはできません。CloudWatch コンソールでは、Amazon MWAA 環境の最新のインスタンスが表示されるように、メトリクスの検索は、メトリクスが最後に取り込まれてから 2 週間に制限されています。詳細については、Amazon CloudWatch に関するよくある質問 を参照してください。

次のステップ