StatsD仅显示go_gc_duration指标未展示Airflow指标问题咨询
Airflow + statsd_exporter 无Airflow指标问题排查方案
你当前观测到的go_gc_*前缀指标是statsd_exporter自身的运行指标,仅说明exporter进程正常启动,本质原因是exporter未收到任何Airflow上报的StatsD指标,可按照以下顺序排查:
- 检查8125 UDP端口占用冲突
执行命令ss -ulnp | grep 8125确认端口对应的进程仅为statsd_exporter,如果存在原生StatsD服务或其他进程占用8125端口,要么终止冲突进程,要么同步修改Airflow配置和statsd_exporter启动参数中的端口号,保持二者一致。 - 检查statsd_exporter监听地址合理性
你当前使用的启动参数./statsd_exporter --statsd.listen-udp localhost:8125 &仅允许本地进程上报指标,如果Airflow部署在其他服务器,需要将启动参数修改为./statsd_exporter --statsd.listen-udp 0.0.0.0:8125 &,同时放通服务器防火墙的UDP 8125端口入站规则。 - 确认Airflow StatsD配置生效
- 执行
airflow config list | grep statsd查看实际生效的配置,确认statsd_on = True、statsd_host、statsd_port、statsd_prefix和你配置的数值一致,避免修改了错误位置的配置文件 - 配置修改完成后必须重启Airflow全组件(scheduler、webserver、worker),配置才会生效
- 执行
- 手动测试指标上报链路
执行命令echo "airflow_test_metric:1|c" | nc -u localhost 8125手动发送测试指标,之后访问exporter默认指标接口curl http://localhost:9102/metrics,检查是否存在airflow_test_metric指标:- 如果存在该指标,说明exporter侧配置正常,问题出在Airflow侧,继续排查Airflow日志
- 如果不存在该指标,说明exporter侧配置异常,检查exporter启动参数和运行日志
- 检查Airflow运行日志
查看Airflow scheduler、worker组件的运行日志,搜索StatsD相关报错,比如UDP端口连接失败、指标上报异常等信息,可直接定位Airflow侧的配置问题 - 确认statsd_exporter映射规则未过滤Airflow指标
如果你的statsd_exporter启动参数加了--statsd.mapping-config指定了自定义映射配置文件,需要确认配置规则未过滤airflow前缀的指标,无特殊需求可暂时移除该参数使用默认规则测试。
内容的提问来源于stack exchange,提问作者Ravi
相关产品推荐
相关产品推荐

