Prometheus 黑盒导出器响应作为度量标签

Prometheus 黑盒导出器响应作为度量标签,prometheus,grafana,prometheus-blackbox-exporter,Prometheus,Grafana,Prometheus Blackbox Exporter,我正在尝试使用blackbox exporter将网页中的值嵌入到prometheus中,但目前看来http blackbox probe不支持抓取网页的源代码,这是可以理解的。我的用例是一个网页可以有3种状态:待机、从外部源获取、完成(这嵌入到页面的源代码中)。我已经考虑过滥用http响应代码来做这件事,并做类似的事情 200 = done, 202 = fetching, 400 = standby 然后使用probe\u http\u status\u code发出警报。 然而,我并不真

我正在尝试使用blackbox exporter将网页中的值嵌入到prometheus中,但目前看来http blackbox probe不支持抓取网页的源代码,这是可以理解的。我的用例是一个网页可以有3种状态:待机、从外部源获取、完成(这嵌入到页面的源代码中)。我已经考虑过滥用http响应代码来做这件事,并做类似的事情

200 = done,
202 = fetching,
400 = standby
然后使用
probe\u http\u status\u code
发出警报。
然而,我并不真的喜欢这个解决方案,因为状态代码只对blackbox有意义,对任何其他用例来说都是一件痛苦的事情。有没有一种聪明的方法可以将一些响应(例如头的值)输入到prometheus中?

从狭义上讲,blackbox exporter实际上是用于backbox监控的:从用户的角度将系统视为一个黑盒,从外部监控系统。如果只需要检查
done
状态,则可以使用
http\u probe
fail\u If\u body\u not\u matches\u regexp
检查

试图将一个状态置于一个已经走向白盒监控的状态:只有当您有一个系统模型时,该状态才有意义。这解释了为什么blackbox导出器不是正确的工具,如果您确实需要三种状态

为了快速获得状态,我最喜欢的回退方法是使用,它能够运行脚本并将标准输出解析为开放度量内容。通过巧妙地使用curl,您可以提取所需的任何内容。这并不是cpu的最有效使用,但它相对便宜

否则,就没有办法滚动您自己的出口商或将普罗米修斯指标集成到您的软件中