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

Spring boot 2执行器指标

诸腾
2023-03-14

是否有任何参考Spring靴2指标的详细留档。

我的意思是

{
  "names": [
    "jvm.memory.max",
    "http.server.requests",
    "process.files.max",
    "jvm.gc.memory.promoted",
    "tomcat.cache.hit",
    "rabbitmq.channels",
    "system.load.average.1m",
    "tomcat.cache.access",
    "jvm.memory.used",
    "jvm.gc.max.data.size",
    "jdbc.connections.max",
    "jdbc.connections.min",
    "jvm.gc.pause",
    "jvm.memory.committed",
    "system.cpu.count",
    "logback.events",
    "rabbitmq.connections",
    "tomcat.global.sent",
    "jvm.buffer.memory.used",
    "tomcat.sessions.created",
    "jvm.threads.daemon",
    "system.cpu.usage",
    "jvm.gc.memory.allocated",
    "tomcat.global.request.max",
    "hikaricp.connections.idle",
    "hikaricp.connections.pending",
    "tomcat.global.request",
    "rabbitmq.rejected",
    "tomcat.sessions.expired",
    "hikaricp.connections",
    "jvm.threads.live",
    "jvm.threads.peak",
    "tomcat.global.received",
    "hikaricp.connections.active",
    "hikaricp.connections.creation",
    "process.uptime",
    "tomcat.sessions.rejected",
    "process.cpu.usage",
    "tomcat.threads.config.max",
    "jvm.classes.loaded",
    "hikaricp.connections.max",
    "hikaricp.connections.min",
    "rabbitmq.consumed",
    "jvm.classes.unloaded",
    "tomcat.global.error",
    "tomcat.sessions.active.current",
    "tomcat.sessions.alive.max",
    "jvm.gc.live.data.size",
    "tomcat.servlet.request.max",
    "hikaricp.connections.usage",
    "tomcat.threads.current",
    "tomcat.servlet.request",
    "hikaricp.connections.timeout",
    "process.files.open",
    "jvm.buffer.count",
    "jvm.buffer.total.capacity",
    "tomcat.sessions.active.max",
    "hikaricp.connections.acquire",
    "tomcat.threads.busy",
    "rabbitmq.published",
    "process.start.time",
    "tomcat.servlet.error",
    "rabbitmq.acknowledged"
  ]
}

>

同样在Spring靴1.5中。x、 我可以简单地使用heap、committed heap、gc count等。如何获得这些值?

还有一种方法可以在一次通话中获得所有指标。我的意思是在boot 2中获得我需要调用的所有指标。

共有1个答案

钱志义
2023-03-14

我自己仍在学习如何使用Spring的新维度实现,但我想我可以帮助您解决一些问题。正如您所发现的,Spring Boot 2中的指标比Spring Boot 1.5丰富得多。

Spring的网站上有一篇很好的博客文章,详细介绍了新的度量引擎为您提供的内容以及他们认为需要更改的原因:千分尺:Spring Boot 2的新应用程序度量收集器

A、 我应该使用哪些指标来衡量内存/gc/cpu使用率。这些值代表什么。

当您导航到应用程序的执行器/指标endpoint时,您可以查看合适的指标。

  • jvm.memory.max
  • jvm.memory.used
  • jvm.gc.memory.promoted
  • jvm.memory.committed
  • jvm.buffer.memory.used
  • jvm.gc.memory.allocated
  • jvm。总承包商。记忆力已分配
  • jvm。总承包商。记忆力已升级
  • <代码>系统。cpu。用法
  • <代码>系统。cpu。计数
  • <代码>过程。cpu。用法

B、 同样在Spring靴1.5中。x、 我可以简单地使用heap、committed heap、gc count等。如何获得这些值?

正如您所提到的,您必须按维度查看度量。

例如,在Spring防尘套中

在Spring Boot 2中,要返回总已提交内存(堆和非堆)的指标,您将在/执行器/指标/jvm.memory.committed上发出GET请求。

您将得到类似于以下内容的响应:

{
    "name": "jvm.memory.committed",
    "measurements": [
        {
            "statistic": "VALUE",
            "value": 240000
        }
    ],
    "availableTags": [
        {
            "tag": "area",
            "values": [
                "heap",
                "nonheap"
            ]
        },
        {
            "tag": "id",
            "values": [
                "Compressed Class Space",
                "PS Survivor Space",
                "PS Old Gen",
                "Metaspace",
                "PS Eden Space",
                "Code Cache"
            ]
        }
    ]
}

要仅查看提交的堆值,请使用堆标记发出GET请求:acutator/metrics/jvm。记忆力promise?标记=区域:堆。您应该看到类似的内容:

{
    "name": "jvm.memory.committed",
    "measurements": [
        {
            "statistic": "VALUE",
            "value": 120000
        }
    ],
    "availableTags": [
        {
            "tag": "id",
            "values": [
                "PS Eden Space",
                "PS Survivor Space",
                "PS Old Gen"
            ]
        }
    ]
}

Spring Boot的指标参考文档是一个很好的资源,也是我如何了解标签语法的(这是最后一节)。

看看这个问题:看看以前的版本是如何映射到Spring Boot的SystemPublicMetrics中的旧指标的。java类,以确保这些指标正确映射到应用程序以前的指标。

还有一种方法可以在一次通话中获得所有指标。我的意思是在boot 2中获得我需要调用的所有指标。

我认为目前还没有开箱即用的指标endpoint。您可能会感兴趣的是微米的层次化名称apper.java类。根据微米的文档:

维度。系统是否支持使用标记键/值对丰富度量名称。如果系统不是维度的,那么它是层次的,这意味着它只支持平面度量名称。将度量发布到分层系统时,Millimer会展平标记/键值对集,并将它们添加到名称中。

因此,如果您将数据发布到分层系统(例如JMX),您的指标将被展平。如果您要导出到另一个系统,您还可以实现自己的展平映射器。

 类似资料:
  • 我正在尝试将endpoint可见的所有度量导出到StatsdMetricWriter。 到目前为止,我已经获得了以下配置类: 它写入了我添加到Statsd的所有度量,但我还想发送在endpoint上可见的系统/JVM度量。 我错过了什么?

  • 我用的是Spring靴。为了监视JVM内存,我正在使用Spring Boot Actuator的/metricsendpoint。 我无法理解键实际上代表什么: 有人能告诉我它们到底是什么吗? CMS(并发标记扫描)和MarkSweepCompact相同吗?我应该使用CMS(并发标记扫描)吗?或者我应该使用哪种GC算法?

  • 我试图通过spring Boot2实现的api向prometheus公开定时度量。我包含了以下依赖项。 我通过spring-cloud-starter-parent finchley.sr1来管理依赖关系,它给了我关于spring-boot-starter-acturet的2.0.4.release版本和关于micrometer-registry-prometheus的1.0.6版本。 /actu

  • 我有一些储藏室 I get with“/执行器/指标/缓存。get” 如何获取myCache和myOtherCache的命中和未命中值?

  • 根据Spring靴执行器的文件 来启用检测 和 生成度量 当添加时,会出现以下错误 即使@bean在那里…

  • 我们已经在几个项目中使用了Spring Boot,现在我们使用的是最新版本1.2.3。我们正在合并执行器。到目前为止,一切都很顺利,只是我们发现/health指示器[default]显示服务已关闭。事实并非如此。这些服务是通过数据源实现的。它可以调用其他SOAP或Rest服务。卫生服务部门在看什么来衡量一项服务是否下降?