升级气流版本后,远程日志记录不起作用 [英] remote logging doesn't work after upgrading Airflow version

查看:28
本文介绍了升级气流版本后,远程日志记录不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们将Airflow v2.1.4与Kubernetes执行器一起使用。

我们的K8S群集Pod stdout通过filebatch->;logstash->;Elasticsearch(Elk)自动发货。

在logstash中,我们正在创建log_id字段:

 mutate {
    copy => { "[log][offset]" => "offset" }
    # change format from "2020-04-13T17_50_00_plus_00_00" to "2020-04-13T17:50:00+00:00"
    gsub => [ "[kubernetes][labels][execution_date]", "_plus_", "+" ]
    gsub => [ "[kubernetes][labels][execution_date]", "_", ":" ]
    add_field => [ "log_id", "%{[kubernetes][labels][dag_id]}-%{[kubernetes][labels][task_id]}-%{[kubernetes][labels][execution_date]}-%{[kubernetes][labels][try_number]}" ]
 }

现在,可以通过Airflow Web服务器获取日志-到目前为止。

现在,我们将Airflow升级到最新版本v2.2.3,并且失去了远程日志功能。 仔细查看,发现最新版本中删除了execution_date标签(替换为run_id)。我们在发行说明和以下PR中看到了这方面的一些迹象: https://github.com/apache/airflow/pull/19593/fileshttps://github.com/apache/airflow/pull/16666

dag_id值似乎不够准确,无法提取确切的执行日期(例如:scheduled__2022-01-09T0020000000-8c05ec558)。

如何在最新版本中恢复日志?有什么解决方法的建议吗?检索日志的另一种方法?

编辑:文档似乎已更新(但CFG示例没有):

log_id_template = {dag_id}-{task_id}-{run_id}-{try_number}

我会尝试并更新

推荐答案

我决定采用不同的方法,改为使用JSON日志。 这样我就不必处理所有转换并准备好log_id

有关详细信息,请参阅以下答案:Airflow wrong log_id format

这篇关于升级气流版本后,远程日志记录不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆