健康检查就是查看你的项目是否健康 或内存使用量等等

先看看健康检查如何使用 



//健康检查
        compile 'org.springframework.boot:spring-boot-starter-actuator'



项目中要先加入健康检查的jar包 

然后程序运行时可以看到

springboot 健康检查重启 springboot健康检查地址_php

看到了/health方法 我们的端口号是10002 那么运行一下试试 

springboot 健康检查重启 springboot健康检查地址_java_02

看到页面上显示的 status:up 这个就代表程序是健康的 如果不健康就会显示down

 除了能看到健康状况以外还能看到很多东西 比如程序运行情况等等 

springboot 健康检查重启 springboot健康检查地址_php_03

运行metrics 这个就是查看运行情况的方法 除此以外还有一个beans 这个方法可以查看系统中有多少个bean存活

我们试着进入一下metrics 

springboot 健康检查重启 springboot健康检查地址_运维_04

看到报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 #密码



 加入以后再访问这些敏感内容就会提示你输入用户名密码

springboot 健康检查重启 springboot健康检查地址_springboot 健康检查重启_05

输入用户名密码后 看到metrics中的内容

springboot 健康检查重启 springboot健康检查地址_运维_06

men 就是内存总量 men.free就是已使用内存量 以下等等就不说了

看看beans中 

springboot 健康检查重启 springboot健康检查地址_java_07

 

 显示运行了多少bean

这个应该怎么用呢 

可以另起一个新项目 写一个定时任务 请求每个项目的地址 查看他的内存使用量的情况 如果处于不健康的状态可以发短信到运维的手机等等

以上就是springcloud的健康检查

 发现关于健康检查的一个问题

如果在一个微服务模块使用了security 那么别的微服务如果调用了这个模块 就会提示401没有权限 

看了一下官方文档 在微服务的调用链接应该加上user:password@

那么对链接进行更改后是这样的

springboot 健康检查重启 springboot健康检查地址_java_08

这样就可以正常访问了