关于java:三步为你的Springboot集成Actuator监控功能

36次阅读

共计 1990 个字符,预计需要花费 5 分钟才能阅读完成。

前言

有时候咱们想要实时监控咱们的应用程序的运行状态,比方实时显示一些指标数据,察看每时每刻拜访的流量,或者是咱们数据库的拜访状态等等。这时候就须要 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

咱们拜访就会呈现这样的画面,看着有点难看,不过有了这些信息,还能够格式化显示,目前也有很多开源的我的项目能够主动实现。

其余的端口如下:能够把下面的地址的 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,这个比较简单。

正文完
 0