查看 Airflow 日志

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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

日志类型

Cloud Composer 包含以下 Airflow 日志:

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

    此操作受 Logging 和 Monitoring 配额限制。

    如需了解适用于 Cloud Composer 环境的 Cloud Logging 和 Cloud Monitoring,请参阅 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 Composer 会使用默认政策创建存储分区, 永久保留数据

对于存储在 Cloud Logging 中的日志,Cloud Composer 使用 _Default 和用户定义的日志保留期限

准备工作

您必须具有可以查看环境存储桶中的对象的角色。如需了解详情,请参阅访问权限控制

查看 Cloud Storage 中的任务日志

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

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

    gcloud storage ls gs://BUCKET/logs --recursive

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

    gcloud storage cp gs://BUCKET/logs/PATH_TO_LOG_FILE LOCAL_FILE_OR_DIRECTORY --recursive

在 Google Cloud 控制台中查看流式传输日志

Cloud Composer 可生成以下日志:

  • airflow:Airflow pod 生成的未分类日志。
  • airflow-upgrade-db:Airflow 数据库初始化作业生成的日志(之前为 airflow-database-init-job)。
  • airflow-scheduler:Airflow 调度程序生成的日志。
  • dag-processor-manager:DAG 处理器管理器(处理 DAG 文件的调度器的一部分)的日志。
  • airflow-triggerer:Airflow 触发器生成的日志。
  • 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. 在 Google Cloud 控制台中,前往环境页面。

    转到“环境”

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

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

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

  1. 打开 Google Cloud 控制台中的 Logs Explorer。

    转到日志浏览器

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

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

    如需了解如何导出日志,请参阅配置和管理接收器

后续步骤