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

查询通过prometheus节点导出器textfile收集器公开的自定义度量失败

刘选
2023-03-14

我是新来的普罗米修斯/警报经理。

我创建了一个cron作业,它每分钟执行一次shell脚本。此shell脚本在分配给--textfile的同一目录中生成“test.prom”文件(其中包含仪表度量)。收藏家。目录参数(到节点导出器)。我验证了(使用curl)http://localhost:9100/metrics)节点导出器是否正确公开该自定义度量。

当我试图在prometheus仪表板中针对该自定义指标运行查询时,它不会显示任何结果(它表示未找到数据)。

我无法理解为什么通过node exporter textfile collector公开的度量查询失败。我错过了什么线索?另外,请让我知道如何检查并确保普罗米修斯擦伤了我的自定义度量“test\u metric”?

我在prometheus仪表板中的查询是test\u metric!=0(在普罗米修斯仪表板中),未给出任何结果。但是我通过节点导出器文本文件暴露了test\u metric

感谢您的帮助!!

顺便说一句,节点导出器在Kubernetes环境中作为docker容器运行。


共有3个答案

孔阳炎
2023-03-14

发生此问题是因为过时的度量标准。假设您在13分钟后在文件中写入了度量值,在5min之后,普罗米修斯将考虑您的度量过时,并且在您进行查询时可能会从中消失。

长孙景焕
2023-03-14

这是我的错。我没有包括普罗米修斯节点导出器的刮擦说明。yaml文件。包括他们之后,它起了作用。

何德寿
2023-03-14

我也遇到过类似的情况,但这不是配置问题。

相反,我的数据包括时间戳:

# HELP network_connectivity_rtt Round Trip Time to each node
# TYPE network_connectivity_rtt gauge
network_connectivity_rtt{host="home"} 53.87 1541426242
network_connectivity_rtt{host="hop_1"} 58.8 1541426242
network_connectivity_rtt{host="hop_2"} 21.93 1541426242
network_connectivity_rtt{host="hop_3"} 71.69 1541426242

一旦我重新加载,PNE就会毫无问题地把它们捡起来。由于prometheus是在system d下运行的,我必须这样检查日志

journalctl --system -u prometheus.service --follow

我在那里读到这一行:

msg="Error on ingesting samples that are too old or are too far into the future"

一旦我删除了时间戳,值就开始出现。这让我阅读了更多关于时间戳的详细信息,我发现它们必须以毫秒为单位。因此,这种格式现在可以了:

# HELP network_connectivity_rtt Round Trip Time to each node
# TYPE network_connectivity_rtt gauge
network_connectivity_rtt{host="home"} 50.47 1541429581376
network_connectivity_rtt{host="hop_1"} 3.38 1541429581376
network_connectivity_rtt{host="hop_2"} 11.2 1541429581376
network_connectivity_rtt{host="hop_3"} 20.72 1541429581376

我希望它能帮助别人。

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

  • 我已经激活了Spring执行器普罗米修斯endpont<代码>/执行器/普罗米修斯。通过增加对千分尺和执行器的依赖,并启用prometheus Endpont。我如何获得自定义度量?

  • 存储在Django模型中的元素如下 示例数据如下: . 结果:找到对象- 结果:找到对象- 结果:找到对象- 结果:未找到对象 如何使用过滤器和正则表达式进行这些查询?

  • 我想使用Prometheus的JMX导出器收集使用Prometheus的自定义应用程序度量。我有一个应用程序,我已经打包到一个jar文件--它公开端口8989并声明Prometheus指标,但不公开Prometheus要刮的endpoint(根据我所读到的,Prometheus javaagent负责处理这个问题)。 我不确定文件应该是什么样子。另外,为什么建议使用库(并在默认注册表下注册新的度量

  • 我使用anywhere Elementor Pro。 在存档中,我需要在“AE-Post Blocks”中创建一个自定义查询筛选器。 我创建了一个函数以应用该筛选器nammed:“vedette\u favorites\u filter”。 函数如下: 在AE-Post块的查询过滤器字段中,我插入了名称vedette_favorites_filter。 没有附加! 请你帮帮我,告诉我错在哪里。 问

  • 我有一个罐子,里面有一个蚂蚁任务。我的com/mebigfatguy/stringliterals/antlib.xml是 运行jar tf StringLiterals.jar 我将jar放入~/.ant/lib中,当我尝试运行引用它的任务时,如下所示: 我得到了 文字: 这里的GitHub项目https://GitHub.com/mebigfatguy/stringliterals