当前位置: 首页 > 知识库问答 >
问题:

如何使用JSON格式获取Prometheus节点导出器指标

狄宗清
2023-03-14

我在k8s上部署了普罗米修斯节点导出吊舱。它工作得很好。

但是当我试图通过调用自定义Go应用程序中的节点导出器度量API来获取系统度量时

curl -X GET "http://[my Host]:9100/metrics"

结果格式如下

# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 1.7636e-05
go_gc_duration_seconds{quantile="0.25"} 2.466e-05
go_gc_duration_seconds{quantile="0.5"} 5.7992e-05
go_gc_duration_seconds{quantile="0.75"} 9.1109e-05
go_gc_duration_seconds{quantile="1"} 0.004852894
go_gc_duration_seconds_sum 1.291217651
go_gc_duration_seconds_count 11338
# HELP go_goroutines Number of goroutines that currently exist.
# TYPE go_goroutines gauge
go_goroutines 8
# HELP go_info Information about the Go environment.
# TYPE go_info gauge
go_info{version="go1.12.5"} 1
# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.
# TYPE go_memstats_alloc_bytes gauge
go_memstats_alloc_bytes 2.577128e+06
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.
# TYPE go_memstats_alloc_bytes_total counter
go_memstats_alloc_bytes_total 2.0073577064e+10
.
.
.
something like this

那些长文本很难解析,我希望得到JSON格式的结果来轻松解析它们。

https://github.com/prometheus/node_exporter/issues/1062

我检查了Prometheus节点导出器GitHub的问题,有人推荐了prom2json。但这不是我要找的。因为我必须运行额外的进程来执行prom2json以获得结果。我想通过在代码中简单地调用HTTP请求或某种Go-native包来获取节点导出器的系统度量。

如何获得JSON格式的节点导出器指标?

共有1个答案

孟增
2023-03-14

您已经提到了prom2json,您可以通过导入github将包拉入Go文件。com/prometheus/prom2json

回购中的示例可执行文件包含您需要的所有构建块。首先,打开URL,然后使用prom2json包读取数据并存储结果。

但是,您还应该看看expfmt。TextParser,因为这是接收普罗米修斯格式度量的本机方法。

 类似资料:
  • 我有一个kubernetes V1.12.1集群运行我的一些工作负载。我想设置HPA,这样我就可以根据来自普罗米修斯节点导出器的度量标准来衡量一个特定的吊舱。

  • 根据Camel的度量文档,我想在一条路线上测量2个不同的计时器: 即从路线的两个不同部分获取2个计时器,而不是整个路线统计,例如 因为它是为整个路线自动计算的。微米格式度量输出到以获取的设置取自以下问题:将Apache Camel Actuator度量发送到普罗米修斯 但是,我的期望是自定义指标,也将在此处并显示在 但事实并非如此。为了得到它,我应该设置什么?

  • 问题内容: 无论如何,是否可以使用Ajax,JavaScript / jQuery从Phonegap移动应用程序从我的OpenCart商店中以JSON格式获取产品目录。OpenCart允许这种事情吗? 任何想法或代码,欢迎:) 问题答案: OcJoy进行的正确,但是提供的解决方案将包含所有页面数据,我猜这不是您所需的输出。 代替他的解决方案,您应该在执行以下操作(假设您只需要产品JSON数组)之前

  • 我在服务器端有几个问题。 我有50多个API。 需要检查每一个API(GET, POST)方法下面的东西。 验证输入是否为有效的json 例如1: 在上面的输入中,我需要检查几个关键字是手动的。例如:名称、代码 例2: 在上面的例子中,我需要检查州和城市 我检查了包裹,但没有找到适合我的。 是否有用于检查json验证的包?

  • 我已经创建了一个简单的Spring Web MVC应用程序,该应用程序从酒店API获取json Web响应,但是当我尝试从根节点使用findPath()方法时,我收到错误。我正在使用Jackson Library进行json解析。代码如下: 第3行产生错误。 这是我的网络回复: 错误消息: HTTP 状态 500 - 处理程序处理失败;nested exception is java.lang.N

  • 每个人 使用SoapUI 5.2.1和Groovy TestCase有2个测试步骤: SOAP请求“创建” Groovy脚本 请求内: 内部脚本: 此脚本返回: 我应该在脚本中更改什么,以便脚本可以返回我: