我要监视的应用程序提供了用于运行状况检查的api端点,该端点以json中的指标作为响应。例如:
$ curl https://example.com/api/stats
{"status":"success","code":0,"data":{"UserCount":140,"UserCountActive":23}}
我已经设置了Prometheus blackbox_exporter来监视此端点返回200 Ok
,但是理想情况下,我也想获得这些指标。我了解工具会直接从应用程序导出此数据。但是由于应用程序已经在json对象中导出了我想要的内容,因此我希望不维护自己的该软件的派生功能而方便地包含检测所需的Prometheus库。我应该如何使用json中的指标?
答案 0 :(得分:1)
目前尚无官方出口商来刮取JSON端点。可能是因为它是easy to write one from scratch,并且任何常规解决方案都必须使用一些默认行为,例如在不考虑度量类型的情况下,从路径到数据构建度量名称。或要应用或解析日期的任何相关标签,仅举几例。
您将通过首选搜索引擎轻松找到可用的JSON导出器。他们可以随时替换blackbox_exporter。根据提供的样本,它们应该非常合适。
我想提到的一种解决方案是exporter_exporter,因为我发现它对于在等待自组织出口时快速实施出口商很有用。它可以用来执行产生普罗米修斯度量的脚本。 在您的情况下,编写刮取Json端点的python脚本并用它在标准输出中编写相应的prometheus格式非常容易。