如何根据 statsd 中的气流 dag 过滤指标?

How to filter metrics based on airflow dags in statsd?

我正在寻找一种方法来过滤掉通过 StatsD 发送的其他 dag 的气流指标。 airflow 中有 this 文档显示如何设置 statsD,它负责 airflow 中的指标收集。 可以过滤公制前缀,但这在技术上意味着它会将所有这些前缀发送到 statsd,如果它发生在所有 dag 上,这将造成巨大的成本。

[metrics]
statsd_allow_list = scheduler,executor,dagrun

由于我使用的是 datadog,因此通过最小化发送到 datadog 所需的指标来降低成本非常重要。

是否可以限制特定 dag 的指标?

我找到了这个问题的答案, 无法根据 dag 名称或特定 dag 进行过滤。 但是我们可以在过滤器列表中包括完整的指标名称,包括 dag 名称。

例如这里是指标名称:dag.example_dag.some_task.duration 所有需要做的就是将其添加到 airflow.cfg 中,如下所示:

[metrics]
statsd_allow_list = dag.example_dag.some_task.duration, <other filters>