我的要求是监控库伯内特斯集群内运行的公司服务台系统,例如URLhttps://xyz.zendesk.com
他们提供API来有效地监控这一点。
我们可以使用curl轻松检查状态
$ curl -s "https://status.zendesk.com/api/components/support?domain=xyz.zendesk.com" | jq '.active_incidents'
[]
上述输出表示根据zendesk留档的成功状态。
现在主要的部分是,公司使用普罗米修斯来监控一切。
如何让Prometheus从这个curl命令的输出中检查成功状态?。
我已经做了一些研究,并在这里找到了一些相关的线程和使用push网关
它们是否适用于我的要求或走错路线?
你可能(!?)想要的是:
/metrics
)endpoint注意curl
只给你#3
有一些似乎满足要求的解决方案示例,但没有一个来自Zendesk:
https://www.google.com/search?q="zendesk"普罗米修斯出口商
那里有
我建议你联系Zendesk并询问是否已经有普罗米修斯出口商。没有找到令人惊讶。
编写Prometheus导出器很简单。Prometheus客户端库和ZendeskAPI客户端是可用的和首选的。虽然这是可能的,但bash可能不是最佳的。
如果您只想获取该静态endpoint,获取200响应代码并确认正文是[]
,您可以使用Prometheus Blackbox导出器
注意日志记录和监控工具通常提供一个更高级别的工具,提供类似于“通用翻译器”的东西,便于使用config而不是代码将第三方系统的原生日志记录|监控格式转换为某种规范形式。尽管在日志记录领域,fluentd就是一个例子。据我所知,Prometheus没有这样的工具,但我感觉有人有机会创建一个。