升级气流版本后,远程日志记录不起作用 [英] remote logging doesn't work after upgrading Airflow version
本文介绍了升级气流版本后,远程日志记录不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们将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/files,https://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屋!
查看全文