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

普罗米修斯中类似统计D的反行为

左丘积厚
2023-03-14

统计量指数“计数器”指标类型描述为:

戈雷茨:1|c这是一个简单的计数器。将 1 添加到“戈雷”存储桶中。每次刷新时,将发送当前计数并将其重置为 0。如果刷新时的计数为 0,则可以通过设置 config.delete 计数器(仅适用于石墨后端)来选择根本不为此计数器发送任何指标。Statsd 将发送每次刷新时的速率和计数。

实现不同,但原理是一样的:

每次刷新时,将发送当前计数并将其重置为 0。

将其发送到兼容的后端,并使用任何兼容工具(例如Grafana)将其绘制成图,显示如下图:

3 ┃
2 ┃
1 ┃    █
0 ┗━━━━━━━━━━━━━━

换句话说,计数值将存在于“bucket”中,您在其中发出计数器,然后立即返回零。

普罗米修斯似乎只有计数器(它们是持久的,不能递减)和仪表。如果Prometheus计数器递增,它将读取新的高水印值,直到进程重新启动。

普罗米修斯还提供了量规,它可以提高和降低它们的值,但是在某些情况下,不存在合适的“消极”行为,并且在事后没有办法将量规降低到零。

Prometheus提供了一个< code>rate()函数,这似乎意味着当运行一个计数器时,可以获取只显示正变化(不可能有负变化)的速率。

我希望避免在我的所有图表中添加< code>rate()修饰符。

最接近模拟StatsD计数器行为的Prometheus惯用方法是什么?

共有1个答案

郭阳泽
2023-03-14

相当于普罗米修斯的是一个计数器。最大的区别是状态保存在应用程序内部的内存中,而不是通过网络保存在StatsD中。在Prometheus中,在所有计数器上使用< code>rate()是正常的。

在这次演讲中有更多的细节。

 类似资料:
  • 我将我的GKE API服务器升级到1.6,并正在将节点升级到1.6,但遇到了一个障碍... 我有一个prometheus服务器(版本1.5.2),运行在一个由Kubernetes部署管理的pod中,其中两个节点运行版本1.5.4Kubelet,一个新节点运行版本1.6。 但普罗米修斯仍然得到401。 更新:就像乔丹所说的kubernetes认证问题。在这里看到新的、更集中的问题;https://s

  • 关于整合齐普金和普罗米修斯的可能性的小问题。 目前,我们已经有了一个完全可用的Zipkin实例,以及它的web UI。Zipkin超级酷,一切都很好。 我们能够让所有微服务向Zipkin发送跟踪信息,并让Zipkin汇总这些信息。 我们还可以在UI中搜索痕迹等等,超级酷。 另一方面,我们也有一个非常成熟的经过实战检验的Prometheus Grafana,其中已经包含了容器级指标、应用程序级指标和

  • 我要监控的应用程序为健康检查提供了一个apiendpoint,该endpoint使用json中的指标进行响应。例如: 我已经设置了Prometheus blackbox\u exporter,以监视此endpoint是否返回200 Ok,但理想情况下,我也希望获得这些指标。我知道instrumentation直接从应用程序导出这些数据。但是,由于应用程序已经在导出json对象中我想要的内容,我更希

  • 我在web服务中使用Prometheus Java simpleclient来跟踪有多少事件导致了这种或那种状态。 我可以在日志中检查计数器是否正在被调用,是否在内部递增,但是似乎很多时候数据都没有到达/metricsendpoint。 例如,就在刚才,在每隔几分钟为同一状态递增计数器3次之后,日志将打印出“当前值= 0,新值= 1”三次。前两次在/metricsendpoint上没有显示任何数据

  • 我在这里得到的错误是 而如果我对springboot执行器提供的任何其他endpoint重复相同的请求,我就会正确地获得响应,例如,我尝试了/acturet/health,/acturet/info,/acturet/metrics等。 只有在使用@springboot注释的集成测试中才会出现这种情况,这很奇怪,因为如果我运行应用程序并用postman向地址localhost:8080/actul

  • null 使用默认配置和轻微的定制。 我可以访问prometheus、grafana和alertmanager,查询度量标准并查看精美的图表。 但是prometheus-adapter在启动时不断抱怨它不能访问/发现度量: 在我的设置中,对于prometheus-adapter的正确值是什么?