在哪里可以找到 Prometheus 指标的描述?

Posted

技术标签:

【中文标题】在哪里可以找到 Prometheus 指标的描述?【英文标题】:Where can I find descriptions of Prometheus metrics? 【发布时间】:2019-12-16 09:44:05 【问题描述】:

我正在 Grafana 中构建一个仪表板,使用来自 Prometheus 的数据来监控 Kubernetes 集群中的命名空间。我需要所有这些来查看负载测试期间会发生什么。

现在我花了半天时间寻找有关 Prometheus 中不同指标的信息。我已经阅读了Prometheus docs 和kube state metrics docs(它们从我们的集群中获取数据),但我没有找到任何关于哪个指标做什么的描述。我只能根据查询结果和到处找到的示例进行猜测,但这比我想的要慢且不安全。

但是,我遇到了this SO 的回答,所以我认为这句话一定是从某个地方复制的。请问有人吗?

【问题讨论】:

这有帮助吗? replex.io/blog/… 谢谢,这是一篇非常有用的帖子,为我阐明了监控概念。但是在 Prometheus 查询的层面上,它显示了没有解释的示例。所以它有所帮助,但这并不是我想要的。 【参考方案1】:

我找到了我的问题的答案。 yogesh's answer 提示我看看出口商,我找到了答案的另一半 here。

所以在 Prometheus UI 上,有一个导出器列表及其抓取的端点(状态 > 目标)。如果我调用其中一个端点,响应将包含端点提供的每个指标的描述和类型。

呼叫:

curl http://exporter.endpoint:9100/metrics

回复示例:

# HELP http_response_size_bytes The HTTP response sizes in bytes.
# TYPE http_response_size_bytes summary
http_response_size_byteshandler="prometheus",quantile="0.5" 16310
http_response_size_byteshandler="prometheus",quantile="0.9" 16326
http_response_size_byteshandler="prometheus",quantile="0.99" 16337
http_response_size_bytes_sumhandler="prometheus" 1.46828673e+09
http_response_size_bytes_counthandler="prometheus" 90835
# HELP node_arp_entries ARP entries by device
# TYPE node_arp_entries gauge
node_arp_entriesdevice="cali6b3dc03715a" 1
node_arp_entriesdevice="eth0" 15

如何完成这件事对我来说并非易事。我登录到集群,发现curl 没有得到任何端点的任何响应。解决方案是将端点 url 的基础添加到 no_proxy 变量(我的机器和服务器都位于公司代理后面)。

但无论如何,这就是阅读 Prometheus 指标描述的方式。

【讨论】:

【参考方案2】:

我认为您想找到与 kubernetes 无关的“哪个指标做什么”。

Prometheus 将从导出器获取数据并存储在其数据库中,因此您必须向导出矩阵的导出器提出这个问题。

方程。您可以从节点导出器获取基本的 CPU 内存。您可以在下面的链接中找到 Node 导出的所有矩阵。https://github.com/prometheus/node_exporter

现在问题仍然存在,即在 Prometheus UI 中导出可以从目标中找到的矩阵。

【讨论】:

感谢您提供此信息。这不是我一直在寻找的答案,但我错过了它,它帮助我找到了正确的方向。 是的,这意味着方向咆哮而不是答案。我想发表评论,但不能,因为这是新帐户,所以我必须添加作为答案。很高兴你在正确的道路上。【参考方案3】:

您可以使用以下 curl 表达式获取指标的元数据:

url=http://urpromhost:9090
curl -G $url/api/v1/targets/metadata \
     --data-urlencode 'metric=metricname' \
     --data-urlencode 'match_target='

【讨论】:

以上是关于在哪里可以找到 Prometheus 指标的描述?的主要内容,如果未能解决你的问题,请参考以下文章

Istio中使用Prometheus进行应用程序指标度量

Prometheus summary.observe 方法有啥作用?

如何通过 JMX 将 Spring Boot 应用程序中的 Kafka 指标公开给 Prometheus?

如何在 java 程序中收集 Prometheus 指标?

通过Prometheus查询计算Kubernetes集群中Pod 的CPU、内存使用率等指标

我在哪里可以找到模型使用的损失指标类型?