【Java】三步为你的Springboot集成Actuator监控功能

三步为你的Springboot集成Actuator监控功能

愚公要移山发布于 今天 04:08

前言

有时候我们想要实时监控我们的应用程序的运行状态,比如实时显示一些指标数据,观察每时每刻访问的流量,或者是我们数据库的访问状态等等。这时候就需要Actuator了。

使用Actuator的好处是,我们可以直接使用这个生产级别的工具,而不需要自己去实现这些东西。Actuator可以自动帮我们自动暴露出这些信息,使用HTTP或者是JMX beans的方式实现。最主要的是我们直接在properties文件中配置即可。

下面看看如何实现:

代码实现

创建一个springboot项目,我使用的是Springboot2.4的版本。

第一步:添加依赖

<!--监控依赖-->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

依赖就这么简单。

第二步:配置

#改变应用程序的端口

server.port=8081

#1、actuator默认只开启了info和health两个端点

#以下配置可以开启所有的端点:

management.endpoints.web.exposure.include= *

#2、开启健康监控数据

management.endpoint.health.show-details=always

#3、启用httptrace端点

management.endpoint.httptrace.enabled=true

#4、每次都要加个actuator前缀太麻烦,改变端点前缀路径

management.endpoints.web.base-path= /

这么增加了几个配置。

现在我们直接访问就可以了。

第三步:直接访问

由于在前面我们配置了自己的base-path。所以不需要增加actuator的前缀。现在访问:

http://localhost:8081/mappings

【Java】三步为你的Springboot集成Actuator监控功能

我们访问就会出现这样的画面,看着有点难看,不过有了这些信息,还可以格式化显示,目前也有很多开源的项目可以自动实现。

其他的端口如下:可以把上面的地址的mappings改变一下就可以了。

EndPoints描述
auditevents公开当前应用程序的审核事件信息。
beans显示应用程序中所有Spring bean的完整列表。
caches暴露可用的缓存。
conditions显示在配置和自动配置类上评估的条件以及它们匹配或不匹配的原因。
configprops显示所有的整理列表@ConfigurationProperties,查看配置属性,包括默认配置
env露出Spring的属性的各种环境变量,后面可跟/{name}查看具体的值
flyway显示已应用的任何Flyway数据库迁移。
health显示应用健康信息,2.0以后需要在配置里show-details打开k开关
httptrace显示HTTP跟踪信息,2.0以后需要手动打开
info显示任意应用信息,是在配置文件里自己定义的
integrationgraph显示Spring Integration图。
loggers显示和修改应用程序中记录器的配置。
liquibase显示已应用的任何Liquibase数据库迁移。
metrics显示指标信息,比如内存用量和HTTP请求计数,后可跟/{name}查看具体值
mappings显示所有@RequestMapping路径的整理列表。
scheduledtasks显示应用程序中的计划任务。
sessions允许从Spring Session支持的会话存储中检索和删除用户会话。
shutdown允许应用程序正常关闭。
threaddump执行线程转储。

OK。基本上是这样。

为Actuator添加安全验证

比如我们的Actuator的端口不想被无关人员看到,于是就可以配置Spring security添加登录。方式如下:

第一步:添加依赖

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-security</artifactId>

</dependency>

第二步:在properties文件中添加配置

#5、端口信息被别人看到了咋办,可以添加个security

spring.security.user.name= fdd

spring.security.user.password= 123456

spring.security.user.roles= ADMIN

这里设置的用户面是fdd,密码123456,角色是ADMIN。

第三步:重新访问上面的端口地址

【Java】三步为你的Springboot集成Actuator监控功能

重新访问相关端口地址,就会被重定向到登录页面。使用配置好的用户名密码登录即可。

OK,这个比较简单。

javaspringboot

阅读 23发布于 今天 04:08

本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议


java小白到架构师系列

avatar

愚公要移山

45 声望

2 粉丝

0 条评论

得票时间

avatar

愚公要移山

45 声望

2 粉丝

宣传栏

前言

有时候我们想要实时监控我们的应用程序的运行状态,比如实时显示一些指标数据,观察每时每刻访问的流量,或者是我们数据库的访问状态等等。这时候就需要Actuator了。

使用Actuator的好处是,我们可以直接使用这个生产级别的工具,而不需要自己去实现这些东西。Actuator可以自动帮我们自动暴露出这些信息,使用HTTP或者是JMX beans的方式实现。最主要的是我们直接在properties文件中配置即可。

下面看看如何实现:

代码实现

创建一个springboot项目,我使用的是Springboot2.4的版本。

第一步:添加依赖

<!--监控依赖-->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

依赖就这么简单。

第二步:配置

#改变应用程序的端口

server.port=8081

#1、actuator默认只开启了info和health两个端点

#以下配置可以开启所有的端点:

management.endpoints.web.exposure.include= *

#2、开启健康监控数据

management.endpoint.health.show-details=always

#3、启用httptrace端点

management.endpoint.httptrace.enabled=true

#4、每次都要加个actuator前缀太麻烦,改变端点前缀路径

management.endpoints.web.base-path= /

这么增加了几个配置。

现在我们直接访问就可以了。

第三步:直接访问

由于在前面我们配置了自己的base-path。所以不需要增加actuator的前缀。现在访问:

http://localhost:8081/mappings

【Java】三步为你的Springboot集成Actuator监控功能

我们访问就会出现这样的画面,看着有点难看,不过有了这些信息,还可以格式化显示,目前也有很多开源的项目可以自动实现。

其他的端口如下:可以把上面的地址的mappings改变一下就可以了。

EndPoints描述
auditevents公开当前应用程序的审核事件信息。
beans显示应用程序中所有Spring bean的完整列表。
caches暴露可用的缓存。
conditions显示在配置和自动配置类上评估的条件以及它们匹配或不匹配的原因。
configprops显示所有的整理列表@ConfigurationProperties,查看配置属性,包括默认配置
env露出Spring的属性的各种环境变量,后面可跟/{name}查看具体的值
flyway显示已应用的任何Flyway数据库迁移。
health显示应用健康信息,2.0以后需要在配置里show-details打开k开关
httptrace显示HTTP跟踪信息,2.0以后需要手动打开
info显示任意应用信息,是在配置文件里自己定义的
integrationgraph显示Spring Integration图。
loggers显示和修改应用程序中记录器的配置。
liquibase显示已应用的任何Liquibase数据库迁移。
metrics显示指标信息,比如内存用量和HTTP请求计数,后可跟/{name}查看具体值
mappings显示所有@RequestMapping路径的整理列表。
scheduledtasks显示应用程序中的计划任务。
sessions允许从Spring Session支持的会话存储中检索和删除用户会话。
shutdown允许应用程序正常关闭。
threaddump执行线程转储。

OK。基本上是这样。

为Actuator添加安全验证

比如我们的Actuator的端口不想被无关人员看到,于是就可以配置Spring security添加登录。方式如下:

第一步:添加依赖

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-security</artifactId>

</dependency>

第二步:在properties文件中添加配置

#5、端口信息被别人看到了咋办,可以添加个security

spring.security.user.name= fdd

spring.security.user.password= 123456

spring.security.user.roles= ADMIN

这里设置的用户面是fdd,密码123456,角色是ADMIN。

第三步:重新访问上面的端口地址

【Java】三步为你的Springboot集成Actuator监控功能

重新访问相关端口地址,就会被重定向到登录页面。使用配置好的用户名密码登录即可。

OK,这个比较简单。

以上是 【Java】三步为你的Springboot集成Actuator监控功能 的全部内容, 来源链接: utcz.com/a/105219.html

回到顶部