022-Actuator监控
actuator是spring boot的一个附加功能,可帮助你在应用程序生产环境时监视和管理应用程序。可以使用HTTP的各种请求来监管,审计,收集应用的运行情况,特别对于微服务管理十分有意义.
下面开始演示,首先创建一个普通的web项目:
然后在项目中写一个简单的接口:
运行项目:
接下来加入actuator监控,首先下项目中加入下面的依赖:
加入上面的依赖后,默认会新增一些Endpoints查询来显示系统的信息,Endpoints是actuator非常重要的部分,用来监视程序,和应用交互(如检查信息,)
加上依赖后会有默认的端点,访问这些端点有两个是不需要鉴权直接可以访问的,就是health和info,其它都需要权限,加上依赖后什么都不配置,可以操作一下看看:
首先显示程序运行情况:
显示项目应用信息:
上面两个是不需要鉴权的,下面在没有配置权限的情况下,访问一个需要鉴权的试试:
列出所有环境变量:
可以看到报的是401错误,说明需要登录。
要想访问需要鉴权的端点,一个办法是配置免权限访问,配置如下:
management.security.enabled=false
这样访问需要鉴权的端点就可以不用登陆直接访问了,下面访问三个试试:
显示应用程序中所有spring bean(/beans):
显示所有映射的url整理列表(/mappings):
可以看到,上面圈住的就是自定义的hello接口。
显示所有配置信息(configprops):
上面列举出了三个免鉴权后,访问的例子,其他的端点可以自行试试一一访问查看结果。
上面有个特殊的,就是shutdown端点,使用来优雅的关闭服务的端点,具体使用方法参见本系列教程如何优雅的关闭服务。
上面直接配置的是免鉴权方式访问,这在正式环境中肯定是不行的,要对权限进行配置,可以去掉免鉴权配置,并加上如下依赖:
然后在配置文件中简单配置一个账号:
接下来访问mappings端点,可以看到弹出了登录窗口:
在上面输入用户名密码 demo/demo ,就可以成功访问端点:
上面的简单的security的测试功能,完整的使用教程,参加本系列的security文章。
除了访问默认的接口端点,还可以在此基础自定义端点返回内容,比如要定义info端点的返回内容,就需要重写InfoContributor类的contribute方法,可以单独加一个类如下:
访问端点结果如下:
上面就是自定义端点返回内容。
代码地址: https://gitee.com/blueses/spring-boot-demo