Spring Boot提供了良好的服务监控模块,只须要通过简略的配置便能够实现服务监控和治理。然而服务监控这块内容往往是最容易被疏忽的一块内容,明天咱们一起来学习一下应用spring-boot-actuator进行服务监控。spring-boot-actuator提供了监控端点,这些端点间接返回JSON字符串,通过这些端点能够查问服务运行状况,为了避免端点间接裸露,个别状况下会应用平安框架,如Spring Security来治理这些端点的安全性。

一 罕用的端点

端点地址形容默认启用
auditevents获取以后利用裸露的审计事件信息
beans获取利用中所有的bean的残缺关系列表
caches获取公开能够用的缓存
conditions获取主动配置条件信息,记录哪些主动配置条件通过和没通过的起因
configprops获取所有配置属性,包含默认配置,显示一个所有 @ConfigurationProperties 的整顿列版本
env获取所有环境变量
flyway获取已利用的所有Flyway数据库迁徙信息,须要一个或多个 Flyway Bean
health获取应用程序衰弱指标(运行状况信息)
httptrace获取HTTP跟踪信息(默认状况下,最近100个HTTP申请-响应替换)。须要 HttpTraceRepository Bean
info获取应用程序信息
integrationgraph显示 Spring Integration 图。须要依赖 spring-integration-core
loggers显示和批改应用程序中日志的配置
liquibase获取利用的所有Liquibase数据库迁徙。须要一个或多个 Liquibase Bean
metrics获取零碎度量指标信息
mappings显示所有@RequestMapping门路的整顿列表
scheduledtasks显示应用程序中的打算工作
sessions容许从Spring Session反对的会话存储中检索和删除用户会话。须要应用Spring Session的基于Servlet的Web应用程序
shutdown敞开利用
threaddump获取零碎线程转储信息

默认状况下,除了shutdown,其余端点都是启动状态。

1.1 如何应用

在我的项目中引入spring-boot-actuator的依赖,就能够失常应用了

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-actuator</artifactId></dependency>

1.2 如何拜访

/actuator+端点地址

例如想要拜访health端点,则拜访http://ip:port/actuator/health;

1.3 端点开启/敞开

management:  endpoint:      # 开启shutdown端点    shutdown:      enabled: true

启用/禁用所有端点

management:  endpoints:    enabled-by-default: true

1.4 端点裸露

默认状况下,只有healthinfo裸露了http端口,这些端点反对通过httpJMX拜访,如果须要拜访具体的端点则须要配置裸露。

裸露http端点

management:  endpoints:    web:      exposure:        include: health,info

裸露JMX端点

management:  endpoints:    jmx:      exposure:        include: health,info

二 罕用端点解析

2.1 health

health蕴含的健康检查项有DataSourceHealthIndicatorDiskSpaceHealthIndicatorMongoHealthIndicatorReidsHealthIndicatorCassandraHealthIndicator

敞开特定的查看项配置如下,敞开redis查看项:

management:  health:    redis:      enabled: false

默认状况下health只是简略的展现了UPDOWN两种状态,如果想要看详细信息,则须要配置

management:  endpoint:    health:      show-details: always

2.2 metrics

metrics能够应用带PathVariable参数,参数为具体的度量值,如查看cpu大小,http://localhost:8080/actuator/metrics/system.cpu.count;

2.3 info

info应用的时候须要在配置文件中自定义信息,自定义信息以info结尾。

例如在配置文件中减少如下内容:

info:  person:    name: Java旅途    age: 18

拜访info端点显示的是去掉info的一个JSON串:

person:  name: Java旅途  age: 18

Spring-Boot-acturator应用起来很不便,然而毛病也很显著,就是没有图形化界面。应用起来也不是很敌对,下一章中,咱们将应用有图形化的Spring-Boot-Admin来进行服务监控。

此是spring-boot-route系列的第十八篇文章,这个系列的文章都比较简单,次要目标就是为了帮忙首次接触Spring Boot 的同学有一个零碎的意识。本文已收录至我的github,欢送各位小伙伴star

github:https://github.com/binzh303/s...

点关注、不迷路

如果感觉文章不错,欢送关注点赞珍藏,你们的反对是我创作的能源,感激大家。

如果文章写的有问题,请不要悭吝,欢送留言指出,我会及时核查批改。

如果你还想更加深刻的理解我,能够微信搜寻「Java旅途」进行关注。回复「1024」即可取得学习视频及精美电子书。每天7:30准时推送技术文章,让你的下班路不在孤单,而且每月还有送书流动,助你晋升硬实力!