Amazon MWAA のモニタリングダッシュボードとアラーム
Amazon CloudWatch でカスタムダッシュボードを作成し、特定のメトリクスのアラームを追加して、Amazon Managed Workflows for Apache Airflow 環境のヘルスステータスをモニタリングできます。ダッシュボードにある場合、ALARM
状態になると、アラームは赤に変わるため、Amazon MWAA の環境の健全を事前にモニタリングしやすくなります。
Apache Airflow は、DAG プロセスの数、DAG バッグサイズ、現在実行中のタスク、タスクの失敗、成功など、さまざまなプロセスのメトリクスを公開します。環境を作成すると、Airflow は Amazon MWAA 環境のメトリクスを CloudWatch に自動的に送信するように構成されます。このページでは、Amazon MWAA 環境の CloudWatch で Airflow メトリクスのヘルスステータスダッシュボードを作成する方法について説明します。
目次
メトリクス
お使いの Apache Airflow バージョンで使用できるすべてのメトリクスについて、カスタムダッシュボードとアラームを作成できます。各メトリクスはApache Airflow キーパフォーマンスインジケーター (KPI) に対応しています。メトリクスのリストを表示するには、以下を参照してください。
アラーム状態の概要
メトリクスアラームには次の状態があります。
-
OK
– メトリクスや式は、定義されているしきい値の範囲内です。 -
ALARM
– メトリクスまたは式が、定義されているしきい値を超えています。 -
INSUFFICIENT_DATA
– アラームが開始直後であるか、メトリクスが利用できないか、メトリクス用のデータが不足しているため、アラームの状態を判定できません。
カスタムダッシュボードとアラームの例
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 メトリクスに対応します。
ダッシュボードについて
以下の画像は、このセクションのチュートリアルとテンプレート定義によって作成された監視ダッシュボードを示しています。
AWS チュートリアルの使用
次の AWS チュートリアルを使用して、現在デプロイされているすべての Amazon MWAA 環境のヘルスステータスダッシュボードを自動的に作成できます。また、すべての Amazon MWAA 環境で、異常のあるワーカーやスケジューラーのハートビート障害に対して CloudWatch アラームを作成します。
AWS CloudFormation の使用
このセクションの AWS CloudFormation テンプレート定義を使用して CloudWatch にモニタリングダッシュボードを作成し、CloudWatch コンソールにアラームを追加して、メトリクスが特定のしきい値を超えたときに通知を受け取ることができます。このテンプレート定義を使用してスタックを作成するには、「AWS 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 に関するよくある質問
次のステップ
-
お使いの環境の Amazon Aurora PostgreSQL メタデータデータベースにクエリを実行し、カスタムメトリクスを DAG を使用して CloudWatch にカスタムメトリクスを書き込む で CloudWatch に公開する DAG を作成する方法について説明します。