daicy
发布于 2020-06-11 / 2374 阅读
0
0

SpringBoot2.0 Actuator监控指标分析

基于SpringBoot2.0+ Actuator metrics的监控(基于Oracle JDK9,G1)

引言

SpringBoot2在spring-boot-actuator中引入了micrometer,对1.x的metrics进行了重构,另外支持对接的监控系统也更加丰富(Atlas、Datadog、Ganglia、Graphite、Influx、JMX、NewRelic、Prometheus、SignalFx、StatsD、Wavefront)。本文以Prometheus为例阐述SpringBoot2.0的监控。

eg. Prometheus

Prometheus中文文档

Maven坐标

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

配置信息

management.endpoints.web.exposure.include=*

SpringBoot2.0 Actuator监控指标分析

序号参数参数说明是否监控监控手段重要度
---JVM---   
1jvm.memory.maxJVM最大内存   
2jvm.memory.committedJVM可用内存展示并监控堆内存和Metaspace重要
3jvm.memory.usedJVM已用内存展示并监控堆内存和Metaspace重要
4jvm.buffer.memory.usedJVM缓冲区已用内存   
5jvm.buffer.count当前缓冲区数   
6jvm.threads.daemonJVM守护线程数显示在监控页面 
7jvm.threads.liveJVM当前活跃线程数显示在监控页面;监控达到阈值时报警重要
8jvm.threads.peakJVM峰值线程数显示在监控页面 
9jvm.classes.loaded加载classes数   
10jvm.classes.unloaded未加载的classes数   
11jvm.gc.memory.allocatedGC时,年轻代分配的内存空间   
12jvm.gc.memory.promotedGC时,老年代分配的内存空间   
13jvm.gc.max.data.sizeGC时,老年代的最大内存空间   
14jvm.gc.live.data.sizeFullGC时,老年代的内存空间   
15jvm.gc.pauseGC耗时显示在监控页面 
---TOMCAT---   
16tomcat.sessions.createdtomcat已创建session数   
17tomcat.sessions.expiredtomcat已过期session数   
18tomcat.sessions.active.currenttomcat活跃session数   
19tomcat.sessions.active.maxtomcat最多活跃session数显示在监控页面,超过阈值可报警或者进行动态扩容重要
20tomcat.sessions.alive.max.secondtomcat最多活跃session数持续时间   
21tomcat.sessions.rejected超过session最大配置后,拒绝的session个数显示在监控页面,方便分析问题 
22tomcat.global.error错误总数显示在监控页面,方便分析问题 
23tomcat.global.sent发送的字节数   
24tomcat.global.request.maxrequest最长时间   
25tomcat.global.request全局request次数和时间   
26tomcat.global.received全局received次数和时间   
27tomcat.servlet.requestservlet的请求次数和时间   
28tomcat.servlet.errorservlet发生错误总数   
29tomcat.servlet.request.maxservlet请求最长时间   
30tomcat.threads.busytomcat繁忙线程显示在监控页面,据此检查是否有线程夯住 
31tomcat.threads.currenttomcat当前线程数(包括守护线程)显示在监控页面重要
32tomcat.threads.config.maxtomcat配置的线程最大数显示在监控页面重要
33tomcat.cache.accesstomcat读取缓存次数   
34tomcat.cache.hittomcat缓存命中次数   
---CPU...---   
35system.cpu.countCPU数量   
36system.load.average.1mload average超过阈值报警重要
37system.cpu.usage系统CPU使用率   
38process.cpu.usage当前进程CPU使用率超过阈值报警 
39http.server.requestshttp请求调用情况显示10个请求量最大,耗时最长的URL;统计非200的请求量重要
40process.uptime应用已运行时间显示在监控页面 
41process.files.max允许最大句柄数配合当前打开句柄数使用 
42process.start.time应用启动时间点显示在监控页面 
43process.files.open当前打开句柄数监控文件句柄使用率,超过阈值后报警重要

监控dashboard可使用grafana。


评论