Amazon CloudWatch の Airflow ログの表示
Amazon MWAA は Apache Airflow ログを Amazon CloudWatch に送信できます。追加のサードパーティツールを必要とせずに、Apache Airflow のタスクの遅延やワークフローエラーを簡単に特定するために、単一の場所から複数の環境のログを表示できます。CloudWatch で Apache Airflow DAG 処理、タスク、ウェブサーバー、ワーカーログを表示するには、Amazon Managed Workflows for Apache Airflow コンソールで Apache Airflow ログを有効にする必要があります。
料金
-
CloudWatch Logs の一般料金が適用されます。詳細については、「CloudWatch 料金表
」を参照してください。
開始する前に
-
CloudWatch でログを表示できるロールが必要です。詳細については、「Amazon MWAA 環境へのアクセス」を参照してください。
ログタイプ
Amazon MWAA は、有効にする Airflow ロギングオプションごとにロググループを作成し、そのログを環境に関連付けられた CloudWatch Logs グループにプッシュします。ロググループの名前は以下の形式に従います: YourEnvironmentName-
たとえば、お使いの環境に LogType
Airflow-v202-Public
という名前が付けられている場合、Apache Airflow タスクログは Airflow-v202-Public-
に送信されます。Task
ログタイプ | 説明 |
---|---|
|
DAG プロセッサマネージャー (DAG ファイルを処理するスケジューラーの一部) のログ。 |
|
Airflow スケジューラーが生成するログ。 |
|
DAG が生成するタスクログ。 |
|
Airflow ウェブインターフェイスが生成するログ。 |
|
ワークフローと DAG 実行の一部として生成されたログ。 |
Apache Airflow ログを有効にする
Apache Airflow ログは INFO
、WARNING
、ERROR
または CRITICAL
レベルで有効にできます。ログレベルを選択すると、Amazon MWAA はそのレベルとそれ以上の重要度レベルのすべてのログを送信します。たとえば、INFO
レベルでログを有効にすると、Amazon MWAA は INFO
ログと WARNING
、ERROR
、CRITICAL
のログレベルを CloudWatch Logs に送信します。
-
Amazon MWAA コンソールで、環境ページ
を開きます。 -
環境を選択します。
-
[編集] を選択します。
-
[次へ] を選択します。
-
以下のロギングオプションのうち 1 つ以上を選択します。
-
[モニタリング] ペインで [Airflow スケジューラーロググループ] を選択します。
-
[監視] ペインで [Airflow ウェブサーバーのロググループ] を選択します。
-
[監視] ペインで [Airflow ワーカーロググループ] を選択します。
-
[監視] ペインで [Airflow DAG 処理ロググループ] を選択します。
-
[監視] ペインで [Airflow タスクロググループ] を選択します。
-
[ログレベル] でログレベルを選択します。
-
-
[次へ] を選択します。
-
[保存] を選択します。
Apache Airflow ログを表示する
以下のセクションでは、CloudWatch コンソールで Apache Airflow のログを表示する方法について説明します。
-
Amazon MWAA コンソールで、環境ページ
を開きます。 -
環境を選択します。
-
[モニタリング] ペインでロググループを選択します。
-
ログストリームを選択します。
スケジューラーログの例
ワークフローのスケジュール設定と dags
フォルダーの解析を行うスケジューラーの Apache Airflow ログを表示できます。次のステップでは、Amazon MWAA コンソールでスケジューラーのロググループを開き、CloudWatch Logs コンソールで Apache Airflow ログを表示する方法について説明します。
requirements.txt
のログを表示するには
-
Amazon MWAA コンソールで、環境ページ
を開きます。 -
環境を選択します。
-
[モニタリング] ペインで [Airflow スケジューラーロググループ] を選択します。
-
[ログストリーム] の
requirements_install_ip
ログを選択します。 -
/usr/local/airflow/.local/bin
で環境にインストールされたパッケージのリストが表示されるはずです。例:Collecting appdirs==1.4.4 (from -r /usr/local/airflow/.local/bin (line 1)) Downloading https://files.pythonhosted.org/packages/3b/00/2344469e2084fb28kjdsfiuyweb47389789vxbmnbjhsdgf5463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl Collecting astroid==2.4.2 (from -r /usr/local/airflow/.local/bin (line 2))
-
パッケージのリストを確認し、インストール中にエラーが発生したパッケージがないか確認してください。何か問題が発生した場合、以下のようなエラーが表示されることがあります。
2021-03-05T14:34:42.731-07:00 No matching distribution found for LibraryName==1.0.0 (from -r /usr/local/airflow/.local/bin (line 4)) No matching distribution found for LibraryName==1.0.0 (from -r /usr/local/airflow/.local/bin (line 4))
次のステップ
-
CloudWatch アラームの構成方法については、「Amazon CloudWatch アラームの使用」を参照してください。
-
CloudWatch ダッシュボードの作成方法については、「CloudWatch ダッシュボードの使用」をご参照ください。