查看 Airflow 日志

本页面介绍如何访问和查看 Cloud Composer 的 Apache Airflow 日志。

日志类型

Cloud Composer 包含以下 Airflow 日志:

  • Airflow 日志:这类日志与单一 DAG 任务关联。您可以在与 Cloud Composer 环境关联的 Cloud Storage logs 文件夹中查看任务日志,还可以在 Airflow 网页界面中查看日志。
  • 流日志:这类日志是 Airflow 中日志的超集。如需访问流式日志,您可以转到 Google Cloud Console 中“环境详情”页面的“日志”标签页,使用 Cloud Logging 日志查看器或使用 Cloud Monitoring。

    您还可以在 Monitoring 中使用基于日志的指标来设置提醒政策,例如对您的 Cloud Composer 环境进行运行状态检查。此操作受 Logging 和 Monitoring 配额限制。 如需了解适用于 Cloud Composer 环境的 Cloud Logging 和 Cloud Monitoring,请参阅使用 Cloud Monitoring 监控环境

登录 Cloud Storage

当您创建环境时,Cloud Composer 会创建一个 Cloud Storage 存储分区,并将该存储分区关联至您的环境。Cloud Composer 将单一 DAG 任务的日志存储在该存储分区的 logs 文件夹中。如需了解存储分区名称,请参阅确定存储分区名称

日志文件夹目录结构

logs 文件夹包含与在环境中运行过的每个工作流对应的文件夹。每个工作流文件夹都包含一个对应于其 DAG 和子 DAG 的文件夹。 每个文件夹都包含对应的每个任务的日志文件。任务文件名指示任务的开始时间。

以下示例展示了某个环境的日志目录结构。

us-central1-my-environment-60839224-bucket
   └───dags
   |   │
   |   |   dag_1
   |   |   dag_2
   |   |   ...
   |
   └───logs
       │
       └───dag_1
       |   │
       |   └───task_1
       |   |   │   datefile_1
       |   |   │   datefile_2
       |   |   │   ...
       |   |
       |   └───task_2
       |       │   datefile_1
       |       │   datefile_2
       |       │   ...
       |
       └───dag_2
           │   ...

日志保留

为了防止数据丢失,在您删除环境后,保存在 Cloud Storage 中的日志仍会保留。您必须手动从 Cloud Storage 删除这些日志。

准备工作

如需访问 Cloud Composer 环境的 Cloud Storage 存储分区中的 Airflow 日志,必须具有 storage.objectAdmin 权限。如需了解详情,请参阅 Cloud Composer 访问权限控制

查看 Cloud Storage 中的任务日志

如需查看 DAG 任务的日志文件,请执行以下操作:

  1. 如需查看日志文件,请输入以下命令,并将 VARIABLES 替换为适当的值:

    gsutil ls -r gs://BUCKET/logs

  2. (可选)要复制单个日志或子文件夹,请输入以下命令,并将 VARIABLES 替换为适当的值:

    gsutil cp -r gs://BUCKET/logs/PATH_TO_LOG_FILE LOCAL_FILE_OR_DIRECTORY

在 Cloud Console 中查看流日志

Cloud Composer 可生成以下日志:

  • airflow:Airflow pod 生成的未分类日志。
  • airflow-database-init-job:Airflow 数据库初始化作业生成的日志。
  • airflow-scheduler:Airflow 调度程序生成的日志。
  • dag-processor-manager:DAG 处理器管理器(处理 DAG 文件的调度器的一部分)的日志。
  • airflow-webserver:Airflow 网页界面生成的日志。
  • airflow-worker:在工作流和 DAG 执行过程中生成的日志。
  • cloudaudit.googleapis.com/activity管理员活动生成的日志。
  • composer-agent:创建和更新环境操作过程中生成的日志。
  • gcs-syncd:文件同步过程生成的日志。
  • build-log-worker-scheduler:来自 Airflow 工作器映像的本地构建的日志(升级和 Python 软件包安装期间)。
  • build-log-webserver:来自 Airflow webserver 映像构建的日志(升级和 Python 软件包安装期间)。
  • airflow-monitoring:Airflow 监控生成的日志。

您可以在“环境详情”页面的“日志”标签页或在 Cloud Logging 中查看这些日志。

如需在“环境详情”页面上查看流式日志,请执行以下操作:

  1. 在 Cloud Console 中打开环境页面。

    转到“环境”页面

  2. 在列表中找到您要检查的环境的名称。点击相应环境名称以打开环境详情页面,然后选择日志标签页。

  3. 选择您要查看的日志的子类别,然后使用左上角的时间范围选择器选择要检查的时间间隔。

    您可以点击带有“转到日志查看器”提示的右上角按钮,导航到预先填充有日志过滤条件的 Google Cloud 运维套件日志查看器。

如需在 Cloud Logging 中查看流式日志,请执行以下操作:

  1. 在 Cloud Console 中,转到 Google Cloud 运营套件日志查看器。
    转到“日志查看器”页面

  2. 选择想要查看的日志。

    您可以按日志文件和级别、预定义标签、任务名称、工作流和执行日期等属性进行过滤。如需详细了解如何选择和过滤日志,请参阅查看日志。如需了解如何导出日志,请参阅使用日志查看器进行导出

后续步骤