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 端点裸露
默认状况下,只有 health
和info
裸露了 http 端口,这些端点反对通过 http
和JMX
拜访,如果须要拜访具体的端点则须要配置裸露。
裸露 http
端点
management:
endpoints:
web:
exposure:
include: health,info
裸露 JMX
端点
management:
endpoints:
jmx:
exposure:
include: health,info
二 罕用端点解析
2.1 health
health
蕴含的健康检查项有DataSourceHealthIndicator
,DiskSpaceHealthIndicator
,MongoHealthIndicator
,ReidsHealthIndicator
,CassandraHealthIndicator
。
敞开特定的查看项配置如下,敞开 redis 查看项:
management:
health:
redis:
enabled: false
默认状况下 health 只是简略的展现了 UP
和DOWN
两种状态,如果想要看详细信息,则须要配置
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 准时推送技术文章,让你的下班路不在孤单,而且每月还有送书流动,助你晋升硬实力!