在 Prometheus 中解析 JSON Rest api 响应

Pet*_*ith 0 grafana kubernetes prometheus

目前我有一个 Kubernetes 环境并使用 Py rometheus 工具包进行监控。我有未在容器指标中公开的应用程序计数器。不过,我可以使用curl 命令将它们视为JSON 对象。

http://10.0.0.1:8081/api/events/

我使用 NodePort 通过工作节点的 IP 向外部公开 POD。

响应具有以下格式:

{
{
  "ID":   "001",
  "source": "pageloads",
  "summary":  "high failure counts",
  "severity": "major"
},
{
  "ID":   "003",
  "source": "profile_counts",
  "summary":  "profile count doesn't match number of groups",
  "severity": "minor"
},
{
  "ID":   "002",
  "source": "number of subscribers",
  "summary":  "profiles higher than subscribers",
  "severity": "critical"
}
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在 Prometheus 中包含 API 响应以每 15 秒轮询一次?

Arg*_*dhu 5

该 json 响应不是 prometheus格式,因此 prometheus 将无法抓取它。您将需要使用特定于语言的 prometheus 客户端库来检测您的代码,以在 /metrics 端点以 prometheus 格式公开指标。如果这不可能,那么您需要使用现有的导出器或编写自定义导出器。此导出器作为单独的进程运行,将从您的应用程序 api 端点收集指标并创建 prometheus 格式指标并在 /metrics 端点公开这些指标。然后您可以配置 prometheus 来抓取导出器的 /metrics 端点。