健康检查就是查看你的项目是否健康 或内存使用量等等
先看看健康检查如何使用
//健康检查 compile 'org.springframework.boot:spring-boot-starter-actuator'
项目中要先加入健康检查的jar包
然后程序运行时可以看到
看到了/health方法 我们的端口号是10002 那么运行一下试试
看到页面上显示的 status:up 这个就代表程序是健康的 如果不健康就会显示down
除了能看到健康状况以外还能看到很多东西 比如程序运行情况等等
运行metrics 这个就是查看运行情况的方法 除此以外还有一个beans 这个方法可以查看系统中有多少个bean存活
我们试着进入一下metrics
看到报401 意思是没有权限访问 这个是理所当然的 你的系统如果上线 那别人依旧能看到你系统运行情况
甚至还能看到有多少个bean存活 那就相当危险了 所以springboot就采取了一种策略 如果你想访问这些敏感信息
就需要加入security 安全检查组件
// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-security compile group: 'org.springframework.boot', name: 'spring-boot-starter-security'
对检查组件的配置
security: basic: enabled: true #启用安全检查 user: name: user #用户名 password: 123 #密码
加入以后再访问这些敏感内容就会提示你输入用户名密码
输入用户名密码后 看到metrics中的内容
men 就是内存总量 men.free就是已使用内存量 以下等等就不说了
看看beans中
显示运行了多少bean
这个应该怎么用呢
可以另起一个新项目 写一个定时任务 请求每个项目的地址 查看他的内存使用量的情况 如果处于不健康的状态可以发短信到运维的手机等等
以上就是springcloud的健康检查
发现关于健康检查的一个问题
如果在一个微服务模块使用了security 那么别的微服务如果调用了这个模块 就会提示401没有权限
看了一下官方文档 在微服务的调用链接应该加上user:password@
那么对链接进行更改后是这样的
这样就可以正常访问了