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

Spring Webflux应用程序的Grafana中的CPU度量与Actuator Micrometer和Prometheus

公孙宇
2023-03-14

关于如何构建CPU指标的可视化和洞察力的小问题。

我有一个Spring Boot Webflux应用程序,没什么特别的。我带来了执行器,千分尺和普罗米修斯依赖。

system_cpu_usage
process_cpu_usage
system_cpu_count
system_load_average_1m
system_cpu_usage{_ns_=“my_namespace",cluster=~”my_cluster"}
process_cpu_usage{_ns_=“my_namespace",cluster=~”my_cluster"}
system_cpu_count{_ns_=“my_namespace",cluster=~”my_cluster”}
system_load_average_1m{_ns_=“my_namespace",cluster=~”my_cluster"}
avg_over_time(process_cpu_usage{_ns_=“my_namespace",cluster=~”my_cluster"}[1h])

谢谢你。

共有1个答案

柳飞鸾
2023-03-14

对于最后的1hAVG_OVER_TIME使用AVG_OVER_TIME,在您希望为AlertManager制定规则的情况下非常有用。设想一个用例,其中cpu上的每个尖峰都将触发alertmanager规则。这是不可取的。顺便说一句,在这个特定的用例中,我更喜欢使用histogram_quantilebecase average可以隐藏高值(仅仅因为它是平均值)。以下是使用百分位数的一些最佳实践:https://prometheus.io/docs/practices/histograms/#quantiles。然后使用rate确定分位数的时间窗口。

histogram_quantile(0.9, rate(
  process_cpu_usage{_ns_=“my_namespace",cluster=~”my_cluster"}[1h]
))
 类似资料:
  • 我已经使用和Jetty在服务器(在8091)中部署了一个Java应用程序。 我需要用普罗米修斯和格拉法纳监控那个应用程序。 config.yaml 我在通常的部署中使用的部署命令:(在这个目录中,存在Jetty) 它很好用..

  • 在我的Kubernetes安装中,我可以看到cAdvisor为每个POD/容器报告一个称为“CONTAINER_CPU_LOAD_AVERAGE_10S”的度量值。我得到诸如232、6512等值。 那么,这里CPU负载的计量单位是什么呢?对我来说,“CPU负载”和“CPU使用”是可以互换使用的,所以我不明白为什么它不是一个介于[0-100]之间的值? 更新: 这里我放了cAdvisor日志中的相关

  • 我的理解是单声道 我说得对吗? 如果没有,单声道之间的区别是什么

  • 我正在使用spring Boot2.0,并在POM中添加了以下依赖项 我的application.yml如下所示 PS:我在谷歌上搜索了一下,尝试添加prometheus.yml,并添加类似@enableprometheusendpoint的注释,但没有任何效果,因为所有的文章都是旧的。 编辑:如果Spring Bootjar托管在不同的主机(Azure/AWS)中,prometheus.yml(

  • 问题内容: 说“用cpu = 800和内存= 1024运行myApp.jar” 我从事Java编程已经很多年了,问这个问题很尴尬。我什至不知道这是否可能。如果是这样,怎么办? 我只想知道是否可以设置Java程序的最大内存和cpu使用率。我突然想到了这个,因为我最近开始开发移动应用程序。我想知道该应用程序在内存和处理器非常有限的设备上的表现。 我看到带有演示应用程序的物理引擎可以在浏览器上运行,也可

  • 动机:我想呈现标签趋势图,而不是普罗米修斯格拉法纳的度量值。 我的用例是,我有一个简单的度量来表示Jenkins上的作业信息:在我的示例中,我运行ci-test,构建号为100,耗时10000 ms,结果是1,这意味着成功: 我想计算这份工作持续时间的趋势,并观察峰值。例如: 所表示的趋势持续时间将是[10000,10000,20000]或者在图形表示中类似于:我们可以在20000处观察到峰值--