使用 Windows 控制台通过 Pushgateway (Prometheus) 发送指标

问题描述 投票:0回答:3

我正在尝试从 Windows 向 Pushgateway 发送指标。但我收到以下错误:

第 1 行文本格式解析错误:无效的指标名称

这是我从控制台运行的命令:

echo "some_metric 10" | curl --data-binary @ - http: // localhost: 9091 / metrics / job / some_job

如何从 Windows 控制台发送我的指标?

谢谢

windows console prometheus prometheus-pushgateway
3个回答
1
投票

我遇到了同样的问题,我想这与在 Windows 上运行它有关。您可以尝试使用 powershell 脚本来完成此操作,这对我有用:

Invoke-WebRequest -Uri http://localhost:9091/metrics/job/some_job -Method POST

1
投票

我使用curl.exe 和 Invoke-WebRequest 从 Windows Powershell 运行命令时遇到另一个错误:

curl.exe -X PUT -d "some_metric 3.14" http://localhost:9091/metrics/job/some_job

echo "some_metric 10" | Invoke-WebRequest -Uri http://localhost:9091/metrics/job/some_job -Method POST

这是错误消息:

text format parsing error in line 1: unexpected end of input stream

我发现它没有通过官方文档所必需的换行

请注意,在文本协议中,每行必须以换行符结尾(也称为“LF”或“ ')。以其他方式结束一行,例如与“CR”又名“ ', 'CRLF' 又名 ' ',或者只是数据包的结尾,将导致协议错误。

所以我在数据末尾添加了一个换行符,现在它可以工作了:

curl.exe -X PUT -d "some_metric 3.14
>> " http://localhost:9091/metrics/job/some_job

作为替代方案,我也可以使用 Invoke-WebRequest 命令运行:

echo "some_metric 20
>> " | Invoke-WebRequest -Uri http://localhost:9091/metrics/job/some_job -Method POST

0
投票

回显“some_metric 20

” | Invoke-WebRequest -Uri http://localhost:9091/metrics/job/some_job -Method POST

这对我有用,我能够将自定义指标发送到pushgateway。我的 prometheus.yml 文件中有 job_name 'pushgateway' 并重新启动了 prometheus,但仍然无法在目标列表中看到 Pushgateway。

我已经在linux机器(ip 20.20.20.10)和pushgateway(10.10.10.32)上安装了prometheus。我还检查了没有防火墙问题,我可以从 prometheus 服务器 telnet 到端口 9091 上的 Pushgateway。可能出了什么问题???

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.