

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Amazon CloudWatch 中存取 Airflow 日誌
<a name="monitoring-airflow"></a>

Amazon MWAA 可以將 Apache Airflow 日誌傳送至 Amazon CloudWatch。您可以從單一位置存取多個環境的日誌，輕鬆識別 Apache Airflow 任務延遲或工作流程錯誤，而無需額外的第三方工具。必須在 Amazon Managed Workflows for Apache Airflow 主控台上啟用 Apache Airflow 日誌，才能存取 CloudWatch 中的 Apache Airflow DAG 處理、任務、Web 伺服器、工作者日誌。

**Contents**
+ [定價](#monitoring-airflow-pricing)
+ [開始之前](#monitoring-airflow-before)
+ [日誌類型](#monitoring-airflow-log-groups)
+ [啟用 Apache Airflow 日誌](#monitoring-airflow-enable)
+ [存取 Apache Airflow 日誌](#monitoring-airflow-view)
+ [排程器日誌範例](#monitoring-airflow-example)
+ [後續步驟？](#monitoring-airflow-next-up)

## 定價
<a name="monitoring-airflow-pricing"></a>
+ 需支付標準 CloudWatch Logs 費用。如需詳細資訊，請參閱 [CloudWatch 定價](https://aws.amazon.com/cloudwatch/pricing/)。

## 開始之前
<a name="monitoring-airflow-before"></a>
+ 您必須擁有可存取 CloudWatch 中日誌的角色。如需詳細資訊，請參閱 [存取 Amazon MWAA 環境](access-policies.md)。

## 日誌類型
<a name="monitoring-airflow-log-groups"></a>

Amazon MWAA 會為您啟用的每個 Airflow 記錄選項建立日誌群組，並將日誌推送至與環境相關聯的 CloudWatch Logs 群組。日誌群組會以下列格式命名：`YourEnvironmentName-LogType`。例如，如果您的環境名為 `Airflow-v202-Public`，Apache Airflow 任務日誌會傳送至 `Airflow-v202-Public-Task`。


| 日誌類型 | Description | 
| --- | --- | 
|  `YourEnvironmentName-DAGProcessing`  |  DAG 處理器管理員 （處理 DAG 檔案之排程器的一部分） 的日誌。  | 
|  `YourEnvironmentName-Scheduler`  |  Airflow 排程器產生的日誌。  | 
|  `YourEnvironmentName-Task`  |  DAG 產生的任務日誌。  | 
|  `YourEnvironmentName-WebServer`  |  Airflow Web 界面產生的日誌。  | 
|  `YourEnvironmentName-Worker`  |  在工作流程和 DAG 執行中產生的日誌。  | 

## 啟用 Apache Airflow 日誌
<a name="monitoring-airflow-enable"></a>

您可以在 `INFO`、`ERROR`、 或 `CRITICAL`層級啟用 Apache Airflow `WARNING`日誌。當您選擇日誌層級時，Amazon MWAA 會傳送該層級和所有較高嚴重性層級的日誌。例如，如果您在 `INFO`層級啟用日誌，Amazon MWAA 會將`INFO`日誌和 `ERROR`、 `WARNING`和 `CRITICAL`日誌層級傳送至 CloudWatch Logs。

1. 在 Amazon MWAA 主控台上開啟[環境](https://console.aws.amazon.com/mwaa/home#/environments)頁面。

1. 選擇環境。

1. 選擇**編輯**。

1. 選擇**下一步**。

1. 選擇下列一或多個記錄選項：

   1. 在**監控**窗格中選擇 **Airflow 排程器日誌群組**。

   1. 在**監控**窗格中選擇 **Airflow Web 伺服器日誌群組**。

   1. 在**監控**窗格中選擇 **Airflow 工作者日誌群組**。

   1. 在**監控**窗格中選擇 **Airflow DAG 處理日誌群組**。

   1. 在**監控**窗格中選擇 **Airflow 任務日誌群組**。

   1. 在日誌層級中選擇**日誌層級**。

1. 選擇**下一步**。

1. 選擇**儲存**。

## 存取 Apache Airflow 日誌
<a name="monitoring-airflow-view"></a>

下一節說明如何在 CloudWatch 主控台中存取 Apache Airflow 日誌。

1. 在 Amazon MWAA 主控台上開啟[環境](https://console.aws.amazon.com/mwaa/home#/environments)頁面。

1. 選擇環境。

1. 在**監控**窗格中選擇日誌群組。

1. 在日誌**串流中選擇日誌**。

## 排程器日誌範例
<a name="monitoring-airflow-example"></a>

您可以存取排程器的 Apache Airflow 日誌來排程工作流程和剖析`dags`資料夾。下列步驟說明如何在 Amazon MWAA 主控台上開啟排程器的日誌群組，以及在 CloudWatch Logs 主控台上存取 Apache Airflow 日誌。

**存取 的日誌 `requirements.txt`**

1. 在 Amazon MWAA 主控台上開啟[環境](https://console.aws.amazon.com/mwaa/home#/environments)頁面。

1. 選擇環境。

1. 在**監控**窗格中選擇 **Airflow 排程器日誌群組**。

1. 在`requirements_install_ip`日誌**串流中選擇日誌**。

1. 請參閱 環境上安裝的套件清單`/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))
   ```

1. 檢閱套件清單，以及是否有任何套件在安裝期間發生錯誤。如果發生錯誤，您可能會收到類似以下的錯誤：

   ```
   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))
   ```

## 後續步驟？
<a name="monitoring-airflow-next-up"></a>
+ 了解如何使用 Amazon CloudWatch 警示在 中設定 CloudWatch 警示。 [ Amazon CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)
+ 了解如何使用 CloudWatch 儀表板在 中[建立 CloudWatch 儀表板](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。