Statistics 气流dags-用于跟踪的运行时报告

Statistics 气流dags-用于跟踪的运行时报告,statistics,runtime,airflow,metrics,directed-acyclic-graphs,Statistics,Runtime,Airflow,Metrics,Directed Acyclic Graphs,我正试图找到一种方法来捕获dag统计数据,即运行时间(开始时间、结束时间)、状态、dag id、任务id等,用于各种dag及其任务在单独的表中 找到了默认日志,该日志会转到elasticsearch/kibana,但不是将所需日志从那里拉回到s3表的简单方法 构建一个单独的进程来加载s3中的那些日志将具有复制的数据,而且由于生成了大量其他与系统相关的日志,将有太多的数据需要扫描和筛选 向每个dag添加函数-必须修改每个dag 还有什么其他可能的方法不能有效地获得它,任何其他气流内置功能都可以

我正试图找到一种方法来捕获dag统计数据,即运行时间(开始时间、结束时间)、状态、dag id、任务id等,用于各种dag及其任务在单独的表中

  • 找到了默认日志,该日志会转到elasticsearch/kibana,但不是将所需日志从那里拉回到s3表的简单方法
  • 构建一个单独的进程来加载s3中的那些日志将具有复制的数据,而且由于生成了大量其他与系统相关的日志,将有太多的数据需要扫描和筛选
  • 向每个dag添加函数-必须修改每个dag

还有什么其他可能的方法不能有效地获得它,任何其他气流内置功能都可以使用

您可以尝试使用Apache气流中提供的即席查询

此选项可在“数据分析->即席查询”中找到,然后选择“气流\u db”

如果您希望获得DAG统计信息,如开始时间、结束时间等,您只需按以下格式查询即可

select start_date,end_date from dag_run where dag_id = 'your_dag_name'
上述查询返回所有DAG运行的DAG的开始时间和结束时间详细信息。如果您希望获得特定运行的详细信息,则可以添加另一个筛选条件,如下所示

select start_date,end_date from dag_run where dag_id = 'your_dag_name' and execution_date = '2021-01-01 09:12:59.0000' ##this is a sample time
您可以从树视图或图形视图中获取此执行日期。此外,您还可以获取其他统计信息,如id、dag\U id、执行日期、状态、运行id和配置


你也可以参考。链接以获取更多详细信息。

您没有提到您是实时还是批量需要此信息

因为您也不想使用ES日志,所以如果它适合您的需要,您可以尝试


然而,从数据库中提取这些信息并不高效,但无论如何,如果您不想进行实时数据采集,这仍然是一个选项。

谢谢,但是在Airflow2上,他们将此功能更改为数据分析->即席查询为DAG运行等,我需要在单独的表中提取这些详细信息,因此尝试通过DAG访问。