【问题标题】:Is it possible to display Airflow logs in GCP Logging?是否可以在 GCP Logging 中显示 Airflow 日志?
【发布时间】:2022-01-27 18:47:57
【问题描述】:

GCP documentation 区分 Composer 的两种日志:

Cloud Composer 具有以下 Airflow 日志:

气流日志:这些日志与单个 DAG 任务相关联。您可以在关联的 Cloud Storage 日志文件夹中查看任务日志 使用 Cloud Composer 环境。还可以查看日志 气流网络界面。

流式日志:这些日志是 Airflow 中日志的超集。要访问流式日志,您可以转到日志选项卡 Google Cloud Console 中的环境详情页面,使用 Cloud 记录,或使用 Cloud Monitoring。

据记录,我可以在存储桶中看到 Airflow 日志,但它们不会显示在 GCP Logging 中,是吗?事实上,当我查询 resource.type="cloud_composer_environment" 的 Logging 时,我可以看到非常少的日志,包括没有错误,而我知道在此期间我注意到一些导致错误的失败作业。 Logging 是否需要任何特殊配置才能显示 Airflow 日志?

【问题讨论】:

  • 尝试使用hereresource.type 提供的任一过滤器。这可能会奏效。理论上,具体的工作在airflow-worker
  • @jayg_code 在我确定有日志的时间段内,它不会为我返回任何结果。

标签: google-cloud-platform google-cloud-composer google-cloud-logging


【解决方案1】:

Airflow 日志存储在相应的存储桶中,在 Logs Explorer 中不可见 - 您必须前往Cloud storage 并找到与您要查看的环境对应的存储桶:

日志文件夹包含已在 环境。每个工作流文件夹都包含一个用于存放其 DAG 和 子 DAG。每个文件夹都包含每个任务的日志文件。任务 文件名指示任务开始的时间。

以下示例显示了一个日志目录结构 环境。

日志存储在documentation 中描述的文件夹结构中;

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
           │   ...

流式日志在日志资源管理器中可见,您可以使用 resource.type="cloud_composer_environment" 查询查看它们,该查询将显示来自所有环境的所有日志。

如果您想指定要查看的环境,只需在查询中添加另一个参数:

resource.type="cloud_composer_environment"
resource.labels.environment_name="composer_env_name_here".

您还可以在“日志”选项卡下的 Composer 环境详细信息的控制台中查看相同的日志。如果有疑问,请查看描述该过程的documentation

【讨论】:

  • 好的,问题是:是否可以将它们推送到 Cloud Logging?
  • 没有。您必须编写一些脚本来运行(可以访问保存日志的存储桶),这可以将它们推送到 Cloud Logging。
猜你喜欢
  • 2021-12-05
  • 2023-01-20
  • 2020-09-12
  • 2020-04-15
  • 1970-01-01
  • 2021-11-02
  • 2021-05-25
  • 1970-01-01
  • 2021-10-21
相关资源
最近更新 更多