如何将 prometheus 指标直接推送到 VictoriaMetrics?

问题描述

我正在使用 python prometheus 客户端并且在将指标推送到 VictoriaMetrics (VM) 时遇到问题。

一个名为 push_to_gateway函数,我尝试用 VM 替换 prometheus URL:http://prometheus:9091 -> http://vm:8428/api/v1/write。但是 VM 响应了 400 状态代码

解决方法

可以将 push_to_gateway 方法与 VictoriaMetrics 一起使用,请查看 gist https://gist.github.com/f41gh7/85b2eb895bb63b93ce46ef73448c62d0 中的示例

,

我在 /api/v1/import/csv 使用 CSV 导入,如下所述:https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md#how-to-import-csv-data

直接从 Pandas 数据帧生成 CSV。类似的东西:

    df.rename(columns={'timestamp': 'ts_ns'},inplace=True)
    data = df.to_csv(index=False,header=False)

    csv_format = f'1:time:unix_ns{metric_format}{label_format}'

    response = requests.post(url,params={'format': csv_format},data=data)
,

另外,请看一下我最近创建的客户端:https://github.com/gistart/prometheus-push-client

支持使用 InfluxDB 线路协议通过 UDP 和 HTTP 直接推送到 VictoriaMetrics

通过 UDP 到 StatsD 或 statsd-exporter 的 StatsD 格式

通过 HTTP 以 OpenMetrics 格式推送网关或 prom-aggregation-gateway

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...