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监控内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Boot + Canal 实现数据库实时监控

    Spring Boot + Canal 实现数据库实时监控

    这篇文章主要介绍了Spring Boot + Canal实现数据库实时监控,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • java使用lambda表达式多条件排序方式

    java使用lambda表达式多条件排序方式

    这篇文章主要介绍了java使用lambda表达式多条件排序方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Java ArrayList与LinkedList使用方法详解

    Java ArrayList与LinkedList使用方法详解

    Java中容器对象主要用来存储其他对象,根据实现原理不同,主要有3类常用的容器对象:ArrayList使用数组结构存储容器中的元素、LinkedList使用链表结构存储容器中的元素
    2022-11-11
  • Java中通过ZipOutputStream类如何将多个文件打成zip

    Java中通过ZipOutputStream类如何将多个文件打成zip

    ZipOutputStream 是Java中用于创建ZIP文件的类,它是 java.util.zip 包中的一部分,通过使用 ZipOutputStream ,可以将多个文件压缩到一个ZIP文件中,这篇文章主要介绍了Java中(ZipOutputStream)如何将多个文件打成zip,需要的朋友可以参考下
    2023-09-09
  • 解决Intellij IDEA运行报Command line is too long的问题

    解决Intellij IDEA运行报Command line is too long的问题

    这篇文章主要介绍了解决Intellij IDEA运行报Command line is too long的问题,本文通过两种方案给大家详细介绍,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • 详解SpringBoot中添加@ResponseBody注解会发生什么

    详解SpringBoot中添加@ResponseBody注解会发生什么

    这篇文章主要介绍了详解SpringBoot中添加@ResponseBody注解会发生什么,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • spring AOP代理执行@EnableAspectJAutoProxy的exposeProxy属性详解

    spring AOP代理执行@EnableAspectJAutoProxy的exposeProxy属性详解

    这篇文章主要为大家介绍了spring AOP代理执行@EnableAspectJAutoProxy的exposeProxy属性详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • SpringMVC Restful api接口实现的代码

    SpringMVC Restful api接口实现的代码

    本篇文章主要介绍了SpringMVC Restful api接口实现的代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 详解java数组进行翻转的方法有哪些

    详解java数组进行翻转的方法有哪些

    这篇文章主要介绍了详解java数组进行翻转的方法有哪些,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • SpringBoot分页查询功能的实现方法

    SpringBoot分页查询功能的实现方法

    在实际的项目开发过程中,分页显示是很常见的页面布局,所以学习如何实现分页也是必要的,下面这篇文章主要给大家介绍了关于SpringBoot分页查询功能的实现方法,需要的朋友可以参考下
    2022-06-06

最新评论