微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用TCP端口将Airflow指标发送到statsd

如何解决使用TCP端口将Airflow指标发送到statsd

出于某些原因,我试图使用TCP端口将气流指标发送到statsd。它适用于UDP,但不适用于端口。

注意:我正在Docker容器上运行Airflow 1.10.9。

此处已成功配置statsd。预设使用认协议UDP。

{
    port: 8125,backends: ["./backends/console"]
}

然后我确认statsd从Airflow Scheduler获得了一些指标。

statsd_1     | Flushing stats at  Thu Oct 22 2020 01:54:10 GMT+0000 (Coordinated Universal Time)
statsd_1     | {
statsd_1     |   counters: {
statsd_1     |     'statsd.bad_lines_seen': 0,statsd_1     |     'statsd.packets_received': 117,statsd_1     |     'statsd.metrics_received': 117,statsd_1     |     'airflow.schedulerjob_start': 0,statsd_1     |     'airflow.scheduler_heartbeat': 2
statsd_1     |   },statsd_1     |   timers: {},statsd_1     |   gauges: {
statsd_1     |     'airflow.executor.open_slots': 32,statsd_1     |     'airflow.executor.queued_tasks': 0,statsd_1     |     'airflow.executor.running_tasks': 0,statsd_1     |     'airflow.dag_processing.total_parse_time': 0.00037,statsd_1     |     'airflow.dagbag_size': 0,statsd_1     |     'airflow.dag_processing.import_errors': 0,statsd_1     |     'airflow.collect_dags': 0.00037,statsd_1     |     'airflow.dagbag_import_errors': 0,statsd_1     |     'statsd.timestamp_lag': 0
statsd_1     |   },statsd_1     |   timer_data: {},statsd_1     |   counter_rates: {
statsd_1     |     'statsd.bad_lines_seen': 0,statsd_1     |     'statsd.packets_received': 11.7,statsd_1     |     'statsd.metrics_received': 11.7,statsd_1     |     'airflow.scheduler_heartbeat': 0.2
statsd_1     |   },statsd_1     |   sets: {},statsd_1     |   pctThreshold: [ 90 ]
statsd_1     | }
^[[1;2Astatsd_1     | Flushing stats at  Thu Oct 22 2020 01:54:20 GMT+0000 (Coordinated Universal Time)
statsd_1     | {
statsd_1     |   counters: {
statsd_1     |     'statsd.bad_lines_seen': 0,statsd_1     |     'statsd.packets_received': 116,statsd_1     |     'statsd.metrics_received': 116,statsd_1     |     'airflow.scheduler_heartbeat': 1
statsd_1     |   },statsd_1     |     'airflow.dag_processing.total_parse_time': 0.000482,statsd_1     |     'airflow.collect_dags': 0.000482,statsd_1     |     'statsd.packets_received': 11.6,statsd_1     |     'statsd.metrics_received': 11.6,statsd_1     |     'airflow.scheduler_heartbeat': 0.1
statsd_1     |   },statsd_1     |   pctThreshold: [ 90 ]
statsd_1     | }

接下来,我将statsd配置文件更改为此。我添加server以使用TCP。 https://github.com/statsd/statsd/blob/master/docs/server.md

{
    port: 8125,server: "./servers/tcp",backends: ["./backends/console",]
}

然后我向调度程序添加了新的环境变量AIRFLOW__SCHEDULER_STATSD_CUSTOM_CLIENT_PATH。我指定了StatsClient的TCP版本。

AIRFLOW__SCHEDULER_STATSD_CUSTOM_CLIENT_PATH="statsd.TcpstatsClient"

重新启动的调度程序和statsd容器,现在statsd没有收到任何指标。

statsd_1     | Flushing stats at  Thu Oct 22 2020 01:50:50 GMT+0000 (Coordinated Universal Time)
statsd_1     | {
statsd_1     |   counters: {
statsd_1     |     'statsd.bad_lines_seen': 0,statsd_1     |     'statsd.packets_received': 0,statsd_1     |     'statsd.metrics_received': 0
statsd_1     |   },statsd_1     |   gauges: {},statsd_1     |   pctThreshold: [ 90 ]
statsd_1     | }

我想念什么吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。