Spring Boot Actuator 参数说明

基本监控指标

Endpoint IDDescription
auditevents显示应用暴露的审计事件 (比如认证进入、订单失败)
info显示应用的基本信息
health显示应用的健康状态
metrics显示应用多样的度量信息
loggers显示和修改配置的loggers
logfile返回log file中的内容(如果logging.file或者logging.path被设置)
httptrace显示HTTP足迹,最近100个HTTP request/repsponse
env显示当前的环境特性
flyway显示数据库迁移路径的详细信息
liquidbase显示Liquibase 数据库迁移的纤细信息
shutdown让你逐步关闭应用
mappings显示所有的@RequestMapping路径
scheduledtasks显示应用中的调度任务
threaddump执行一个线程dump
heapdump返回一个GZip压缩的JVM堆dump
HTTP 方法路径 描述

应用配置类

GET/autoconfig

该端点用来获取应用的自动化配置报告,其中包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置的各个先决条件是否满足。所以,该端点可以帮助我们方便的找到一些自动化配置为什么没有生效的具体原因。该报告内容将自动化配置内容分为两部分:

  • positiveMatches中返回的是条件匹配成功的自动化配置
  • negativeMatches中返回的是条件匹配不成功的自动化配置
GET/configprops

描述配置属性(包含默认值)

  • prefix属性代表了属性的配置前缀
  • properties代表了各个属性的名称和值。
GET/beans

描述应用程序上下文里全部的Bean,以及它们的关系

  • bean:Bean的名称
  • scope:Bean的作用域
  • type:Bean的Java类型
  • reource:class文件的具体路径
  • dependencies:依赖的Bean名称
GET/env

获取应用所有可用的环境属性报告。包括:环境变量、JVM属性、应用的配置配置、命令行中的参数

GET/env/{name}

根据名称获取特定的环境属性值

/env 接口还能用来获取单个属性的值,只需要在请求时在 /env 后加上属性名即可。

GET/info

该端点用来返回一些应用自定义的信息。默认情况下,该端点只会返回一个空的json内容。

我们可以在application.properties配置文件中通过info前缀来设置一些属性

GET/mappings

描述全部的URI路径,以及它们和控制器(包含Actuator端点)的映射关系

罗列出应用程序发布的全部接口

  • bean属性标识了该映射关系的请求处理器
  • method属性标识了该映射关系的具体处理类和处理函数。

度量指标类(提供的报告内容则是动态变化的)

GET/metrics

报告各种应用程序度量信息,比如内存用量、HTTP请求计数、线程信息、垃圾回收信息等。

  • 系统信息:包括处理器数量processors、运行时间uptimeinstance.uptime、系统平均负载systemload.average
  • mem.*:内存概要信息,包括分配给应用的总内存数量以及当前空闲的内存数量。这些信息来自java.lang.Runtime
  • heap.*:堆内存使用情况。这些信息来自java.lang.management.MemoryMXBean接口中getHeapMemoryUsage方法获取的java.lang.management.MemoryUsage
  • nonheap.*:非堆内存使用情况。这些信息来自java.lang.management.MemoryMXBean接口中getNonHeapMemoryUsage方法获取的java.lang.management.MemoryUsage
  • threads.*:线程使用情况,包括线程数、守护线程数(daemon)、线程峰值(peak)等,这些数据均来自java.lang.management.ThreadMXBean
  • classes.*:应用加载和卸载的类统计。这些数据均来自java.lang.management.ClassLoadingMXBean
  • gc.*:垃圾收集器的详细信息,包括垃圾回收次数gc.ps_scavenge.count、垃圾回收消耗时间gc.ps_scavenge.time、标记-清除算法的次数gc.ps_marksweep.count、标记-清除算法的消耗时间gc.ps_marksweep.time。这些数据均来自java.lang.management.GarbageCollectorMXBean
  • httpsessions.*:Tomcat容器的会话使用情况。包括最大会话数httpsessions.max和活跃会话数httpsessions.active。该度量指标信息仅在引入了嵌入式Tomcat作为应用容器的时候才会提供。
  • gauge.*:HTTP请求的性能指标之一,它主要用来反映一个绝对数值。比如上面示例中的gauge.response.hello: 5,它表示上一次hello请求的延迟时间为5毫秒。
  • counter.*:HTTP请求的性能指标之一,它主要作为计数器来使用,记录了增加量和减少量。如上示例中counter.status.200.hello: 11,它代表了hello请求返回200状态的次数为11。

对于gauge.*counter.*的统计,这里有一个特殊的内容请求star-star,它代表了对静态资源的访问。

GET/metrics/{name}报告指定名称的应用程序度量值
GET/health报告应用程序的健康指标,这些值由HealthIndicator的实现类提供
GET/dump获取线程活动的快照。它使用java.lang.management.ThreadMXBeandumpAllThreads方法来返回所有含有同步信息的活动线程详情。
GET/trace

提供基本的HTTP请求跟踪信息(时间戳、HTTP头等)。

默认情况下,跟踪信息的存储采用org.springframework.boot.actuate.trace.InMemoryTraceRepository实现的内存方式,始终保留最近的100条请求记录。

操作控制类(操作控制类接口默认是关闭的,如果要使用它们的话,需要通过属性来配置开启。)

POST/shutdown关闭应用程序,要求endpoints.shutdown.enabled设置为true

metrics详细参数

序号参数参数说明是否监控监控手段重要度
---JVM---   
1 jvm.memory.max JVM最大内存   
2 jvm.memory.committed JVM可用内存 展示并监控堆内存和Metaspace重要
3 jvm.memory.used JVM已用内存 展示并监控堆内存和Metaspace重要
4 jvm.buffer.memory.used JVM缓冲区已用内存   
5 jvm.buffer.count 当前缓冲区数   
6 jvm.threads.daemon JVM守护线程数 显示在监控页面 
7 jvm.threads.live JVM当前活跃线程数 显示在监控页面;监控达到阈值时报警重要
8 jvm.threads.peak JVM峰值线程数 显示在监控页面 
9 jvm.classes.loaded 加载classes数   
10 jvm.classes.unloaded 未加载的classes数   
11 jvm.gc.memory.allocated GC时,年轻代分配的内存空间   
12 jvm.gc.memory.promoted GC时,老年代分配的内存空间   
13 jvm.gc.max.data.size GC时,老年代的最大内存空间   
14 jvm.gc.live.data.size FullGC时,老年代的内存空间   
15 jvm.gc.pause GC耗时 显示在监控页面 
---TOMCAT---   
16 tomcat.sessions.created tomcat已创建session数   
17 tomcat.sessions.expired tomcat已过期session数   
18 tomcat.sessions.active.current tomcat活跃session数   
19 tomcat.sessions.active.max tomcat最多活跃session数 显示在监控页面,超过阈值可报警或者进行动态扩容重要
20 tomcat.sessions.alive.max.second tomcat最多活跃session数持续时间   
21 tomcat.sessions.rejected 超过session最大配置后,拒绝的session个数 显示在监控页面,方便分析问题 
22 tomcat.global.error 错误总数 显示在监控页面,方便分析问题 
23 tomcat.global.sent 发送的字节数   
24 tomcat.global.request.max request最长时间   
25 tomcat.global.request 全局request次数和时间   
26 tomcat.global.received 全局received次数和时间   
27 tomcat.servlet.request servlet的请求次数和时间   
28 tomcat.servlet.error servlet发生错误总数   
29 tomcat.servlet.request.max servlet请求最长时间   
30 tomcat.threads.busy tomcat繁忙线程 显示在监控页面,据此检查是否有线程夯住 
31 tomcat.threads.current tomcat当前线程数(包括守护线程) 显示在监控页面重要
32 tomcat.threads.config.max tomcat配置的线程最大数 显示在监控页面重要
33 tomcat.cache.access tomcat读取缓存次数   
34 tomcat.cache.hit tomcat缓存命中次数   
---CPU---   
35 system.cpu.count CPU数量   
36 system.load.average.1m load average 超过阈值报警重要
37 system.cpu.usage 系统CPU使用率   
38 process.cpu.usage 当前进程CPU使用率 超过阈值报警 
39 http.server.requests http请求调用情况 显示10个请求量最大,耗时最长的URL;统计非200的请求量重要
40 process.uptime 应用已运行时间 显示在监控页面 
41 process.files.max 允许最大句柄数 配合当前打开句柄数使用 
42 process.start.time 应用启动时间点 显示在监控页面 
43 process.files.open 当前打开句柄数 监控文件句柄使用率,超过阈值后报警重要
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值