3

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

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

但是,我遇到了这个SO 答案,所以我认为引用必须是从某个地方复制的。请问有人吗?

4

3 回答 3

5

我找到了我的问题的答案。yogesh 的回答给了我看看出口商的提示,我在这里找到了答案的另一半。

因此,在 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_bytes{handler="prometheus",quantile="0.5"} 16310
http_response_size_bytes{handler="prometheus",quantile="0.9"} 16326
http_response_size_bytes{handler="prometheus",quantile="0.99"} 16337
http_response_size_bytes_sum{handler="prometheus"} 1.46828673e+09
http_response_size_bytes_count{handler="prometheus"} 90835
# HELP node_arp_entries ARP entries by device
# TYPE node_arp_entries gauge
node_arp_entries{device="cali6b3dc03715a"} 1
node_arp_entries{device="eth0"} 15

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

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

于 2019-08-09T15:01:59.270 回答
2

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

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

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

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

于 2019-08-08T17:01:36.373 回答
1

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

url=http://urpromhost:9090
curl -G $url/api/v1/targets/metadata \
     --data-urlencode 'metric=metricname' \
     --data-urlencode 'match_target={}'
于 2021-06-18T17:03:22.530 回答