【发布时间】:2020-02-20 01:51:26
【问题描述】:
我们有一个 Prometheus 在我们的集群中运行,我们可以使用 grafana 来查看我们的集群/pods 指标,现在我想添加一些自定义指标,有没有办法做到这一点?如果是这样,我应该如何将代码连接到 Prometheus,我的意思是如果我使用 Prometheus API 编写 golang 程序,并将其作为 docker 部署到 k8s,现在程序是否知道与 Prometheus 连接? 例如该程序将数据暴露给 /metrics 端点,但我还应该做些什么来使舞会能够读取这些数据?
【问题讨论】:
-
如果您将自定义指标添加到您的程序中,给它们起您可以识别的名称,然后像在该示例中所做的那样通过 http 处理程序公开它们,这就足够了。您的程序不会将数据推送到 Prometheus,它会从您的 http 指标端点抓取数据,如果您在那里发布指标,它们应该会在下次抓取您的应用程序时显示在 Prometheus 中。
-
@bserdar - 只是为了验证,所以我可以将程序按原样部署到 k8s 并且我可以通过 prom ui 查询它?谢谢!
-
如果您的 Prometheus 实例正在抓取 pod,是的。您只需查看应用的指标端点即可验证您是否正在发布指标。它是文本,你应该在那里看到你的指标。
-
@bserdar - 好的,我会将我的应用程序部署到 k8s 并检查它,谢谢!
-
为了让 prometheus 收集(报废)你的 pod,你可能想看看 k8s
ClusterRoles在这里看到:supergiant.io/blog/…
标签: go kubernetes prometheus