是否有Spring Boot 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"
]
}
我应该使用哪个指标来衡量内存/ gc / cpu使用率。值也代表什么。
在Spring Boot 1.5.x中,我也可以简单地获取使用过的堆,已提交的堆,gc计数等。如何获得这些值?
还有一种方法可以让我一次调用所有指标。我的意思是要获取所有指标,我现在需要在启动2中调用许多匹配。
答案 0 :(得分:1)
我仍然自己学习如何使用Spring的新维度实现,但是我想我可以为您解决一些问题。如您所见,Spring Boot 2中的指标比Spring Boot 1.5丰富得多。
Spring网站上有一篇不错的博客文章,其中详细介绍了新的指标引擎为您提供了什么以及为什么需要更改,但为什么需要它们:Micrometer: Spring Boot 2's new application metrics collector
A。我应该使用哪些指标来衡量内存/ GC / CPU使用率。这些值也代表什么。
当您导航到应用程序的actuator/metric
端点时,您可以查看合适的指标。
jvm.memory.max
jvm.memory.used
jvm.gc.memory.promoted
jvm.memory.committed
jvm.buffer.memory.used
jvm.gc.memory.allocated
jvm.gc.memory.allocated
jvm.gc.memory.promoted
system.cpu.usage
system.cpu.count
process.cpu.usage
B。同样在Spring Boot 1.5.x中,我可以简单地获取用过的堆,已提交的堆,gc计数等。如何获得这些值?
如前所述,您必须按维度查看指标。
例如,在Spring Boot <2中,为了查看heap.committed:120000
,您只需要对/actuator/metrics
进行GET请求。
在Spring Boot 2中,要返回 TOTAL 个已落实内存(堆和非堆)的指标,您将在/actuator/metrics/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"
]
}
]
}
要仅查看已提交的堆值,请使用堆标记/acutator/metrics/jvm.memory.committted?tag=area:heap
发出GET请求。您应该看到类似于以下内容:
{
"name": "jvm.memory.committed",
"measurements": [
{
"statistic": "VALUE",
"value": 120000
}
],
"availableTags": [
{
"tag": "id",
"values": [
"PS Eden Space",
"PS Survivor Space",
"PS Old Gen"
]
}
]
}
Spring Boot的Metrics Reference Docs是一个很好的参考资料,也是我了解标记语法的方式(这是最后一部分)。
请参阅this question:如果要确保这些指标正确映射到应用程序的先前指标,请查看以前的版本如何映射到Spring Boot SystemPublicMetrics.java类中的旧指标。
还有一种方法可以让我一次调用所有指标。我的意思是要获取所有指标,我现在需要在启动2中调用许多匹配。
我认为目前不存在通过度量标准终结点提供的功能。您可能感兴趣的是Micrometer的HierarchicalNameMapper.java
类。每Micrometer's Docs:
维度。系统是否支持通过标记键/值对丰富度量标准名称。如果系统不是维的,则它是分层的,这意味着它仅支持平面度量标准名称。在将度量标准发布到分层系统时,Micrometer会展平一组标记/键值对并将其添加到名称中。
因此,如果将数据发布到分层系统(例如JMX),则指标将被展平。如果要导出到另一个系统,也可以实现自己的展平映射器。