Springboot集成Actuator监控功能详解

 更新时间:2023年09月12日 08:30:29   作者:愚公要移山  
这篇文章主要介绍了Springboot集成Actuator监控功能详解,有时候我们想要实时监控我们的应用程序的运行状态,比如实时显示一些指标数据,观察每时每刻访问的流量,或者是我们数据库的访问状态等等,这时候就需要Actuator了,需要的朋友可以参考下

前言

有时候我们想要实时监控我们的应用程序的运行状态,比如实时显示一些指标数据,观察每时每刻访问的流量,或者是我们数据库的访问状态等等。这时候就需要 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的前缀。现在访问:

//localhost:8081/mappings

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

其他的端口如下:可以把上面的地址的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。

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

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

OK,这个比较简单。

到此这篇关于Springboot集成Actuator监控功能详解的文章就介绍到这了,更多相关Springboot的Actuator监控内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java基于IO流读取文件的方法

    Java基于IO流读取文件的方法

    这篇文章主要介绍了Java基于IO流读取文件的方法,涉及Java文件流操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • java list中包含某个字符串的两种方法实现

    java list中包含某个字符串的两种方法实现

    在Java开发中,经常需要判断一个List中是否包含特定的字符串,包括使用contains()方法和循环遍历判断,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Mybatis使用连表查询的操作代码

    Mybatis使用连表查询的操作代码

    这篇文章主要介绍了Mybatis如何使用连表查询,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • eclipse安装spring ide的步骤详解

    eclipse安装spring ide的步骤详解

    这篇文章主要介绍了eclipse安装spring ide的步骤详解,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Spring自定义参数解析器代码实例

    Spring自定义参数解析器代码实例

    这篇文章主要介绍了Spring自定义参数解析器代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • SpringBoot+ThreadLocal+AbstractRoutingDataSource实现动态切换数据源

    SpringBoot+ThreadLocal+AbstractRoutingDataSource实现动态切换数据源

    最近在做业务需求时,需要从不同的数据库中获取数据然后写入到当前数据库中,因此涉及到切换数据源问题,所以本文采用ThreadLocal+AbstractRoutingDataSource来模拟实现dynamic-datasource-spring-boot-starter中线程数据源切换,需要的朋友可以参考下
    2023-08-08
  • ApiOperation和ApiParam注解依赖的安装和使用以及注意事项说明

    ApiOperation和ApiParam注解依赖的安装和使用以及注意事项说明

    这篇文章主要介绍了ApiOperation和ApiParam注解依赖的安装和使用以及注意事项说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 基于google zxing的Java二维码生成与解码

    基于google zxing的Java二维码生成与解码

    这篇文章主要为大家详细介绍了基于google zxing的Java二维码生成与解码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • SpringBoot异步任务实现下单校验库存的项目实践

    SpringBoot异步任务实现下单校验库存的项目实践

    在开发中,异步任务应用的场景非常的广泛,本文主要介绍了SpringBoot异步任务实现下单校验库存的项目实践,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • SpringBoot中的异步执行方法详解

    SpringBoot中的异步执行方法详解

    这篇文章主要介绍了SpringBoot中的异步执行方法详解,ThreadpoolTaskExecutor不需要手动的创建当前线程池,但往往我们还是会手动指定,具体原因看源码就可以自有判断,需要的朋友可以参考下
    2023-10-10

最新评论