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- 例えば、お使いの環境に LogTypeAirflow-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 ダッシュボードの使用 をご参照ください。