普罗米修斯:刮一个';裸金属&x27;没有Prometheus客户端库的目标

普罗米修斯:刮一个';裸金属&x27;没有Prometheus客户端库的目标,prometheus,Prometheus,我想用普罗米修斯从一个基于微控制器的远程传感器收集数据。传感器不运行操作系统,也不能使用普罗米修斯提供的客户端库,但它可以服务于http连接。这是为服务器提供“量表”的适当html数据吗 gauge_val 200 如果没有,那么如何才能最好地做到这一点呢?可以使用简单的基于文本的展示格式(这就是客户端库为您所做的)。格式如下所示: 该规范可用 您需要以这种格式编写一个文本文件,并通过HTTP使其可用。不要使用HTML,它必须是简单的文本文件。谢谢您的帮助。我已经这样做了,并且看到服务器报告了一

我想用普罗米修斯从一个基于微控制器的远程传感器收集数据。传感器不运行操作系统,也不能使用普罗米修斯提供的客户端库,但它可以服务于http连接。这是为服务器提供“量表”的适当html数据吗

gauge_val 200


如果没有,那么如何才能最好地做到这一点呢?

可以使用简单的基于文本的展示格式(这就是客户端库为您所做的)。格式如下所示:

该规范可用


您需要以这种格式编写一个文本文件,并通过HTTP使其可用。不要使用HTML,它必须是简单的文本文件。

谢谢您的帮助。我已经这样做了,并且看到服务器报告了一个“格式错误的HTTP状态代码”。确切的错误是net/http:http/1.x传输连接断开:格式错误的http版本“this\u metric”。这让我相信它必须是HTML。如果我手动浏览到http:/metrics,浏览器会按预期下载确切的文件。你有没有办法克服这个错误,这样普罗米修斯就可以接受这个文件了?@Gwentech Nortmally浏览器不应该将度量作为文件下载。它们应该在浏览器中是可见的,我想问题出在
内容类型
标题上(您需要类似
内容类型:text/plain;version=0.0.4;charset=utf-8
)。什么是web服务器?是Nginx还是Apache?web服务器是嵌入式微控制器,既不是Apache也不是Nginx;只是端口80上的原始TCP连接。收到GET http消息后,(嵌入式)web服务器将使用Prometheus服务器的原始数据“this_metric 200\x0D\x0A”进行响应。可能需要一个标题,但我正试图确定数据在这个低套接字级别上的格式。想法是受欢迎和赞赏的。@Gwentech似乎是一个值得挑战的挑战。是否有嵌入式web服务器的文档?或者控制器名是什么,我会尝试找到自己。是的,我在网络嗅探时发现了类似的结果,但这非常有用。tcp转储中显示的响应格式是必需的。我试试这个。非常感谢。
# HELP http_requests_total The total number of HTTP requests.
# TYPE http_requests_total counter
http_requests_total{method="post",code="200"} 1027
http_requests_total{method="post",code="400"}    3