Airflow 通过 statsd 发送指标,但不是全部

Mic*_*ael 5 statsd airflow

最近我更新了airflow.cfg 以启用Statsd 指标。

我已将此设置注入到airflow.cfg中:

我正在注入这个配置:

AIRFLOW__SCHEDULER__STATSD_ON=True
AIRFLOW__SCHEDULER__STATSD_HOST=HOSTNAME
AIRFLOW__SCHEDULER__STATSD_PORT=9125
AIRFLOW__SCHEDULER__STATSD_PREFIX=airflow
Run Code Online (Sandbox Code Playgroud)

我没有使用标准的 Statsd 服务,而是使用 Statsd 协议的Statsd-exporter,因此据我所知,我可以直接指向 Airflow 将指标发送到 Stats-exporter。默认情况下,它在 9125 端口上工作。

Statsd-exporter 收到指标后,Prometheus 能够定期抓取它们。

一切都好,一切都好。此外,我将映射文件制作到 Statsd-exporter,其中使用了一些正则表达式,但是......我的问题是,当我打开 Statsd-exported(9102 端口)的 WEB UI 时,我看到了部分气流指标,但不是全部!.

文档说明了此处的指标列表

例如,我看到 Airflow 发送:ti_failures、ti_successes、dagbag_size 等。但是完全没有诸如:dag...duration 或 executor.open_slots 等指标。

非常感谢所有玩过 Statsd 和 Airflow 的人,因为我不知道:(

Nic*_*Ben 1

我最近对气流及其指标进行了检测,将其从 statsd 导出到 prometheus。在我的架构中,气流在 Kubernetes Pod 中运行,具体如下:

  • 调度程序
  • 工人
  • 网络

只有schedulerworker并且web有一个 sidecar 容器来导出 statsd 指标(我们称之为metrics pods)。

您在官方文档 ( https://airflow.apache.org/metrics.html )中看到的指标列表并不适用于所有指标 Pod。

为了满足您的具体问题,dag...duration由工作节点导出。