2

我正在尝试使用黑盒导出器将网页中嵌入的值导入普罗米修斯,但目前看来,http 黑盒探测器不支持抓取网页的源代码,这是可以理解的。我的用例是网页可以有 3 种状态:待机、从外部源获取、完成(这是嵌入在页面源中的)。我考虑过滥用http响应代码来执行此操作并执行类似的操作

200 = done,
202 = fetching,
400 = standby

然后probe_http_status_code用于警报例如。但是我不太喜欢这个解决方案,因为状态码只对黑盒有意义,对任何其他用例来说都是痛苦的。有没有一种聪明的方法可以将一些响应(例如标头的值)输入普罗米修斯?

4

1 回答 1

1

blackbox 导出器实际上是用于狭义上的 backbox 监视:从用户的角度来看,通过将系统视为黑盒来从外部监视系统。如果只需要检查状态done,可以使用.fail_if_body_not_matches_regexphttp_probe

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

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

否则,将无法滚动您自己的导出器或将 Prometheus 指标集成到您的软件中。

于 2020-02-10T21:19:51.020 回答