查看原文
其他

Spring Boot 应用监控,早发现早~~

MarkerHub 2022-11-21

小Hub领读:

服务都需要监控,SpringBoot项目中,你常用哪些监控模块呢?actuator?admin?


作者:小小____

https://segmentfault.com/a/1190000022945443

当一个 Spring Boot 应用运行的时候,开发者需要对 Spring Boot 应用进行实时监控,获得项目的报警需求,Spring Boot 提供了,actuator 来帮助开发者获取应用程序运行时的数据。

在 Spring Boot 中添加端点配置相当的简单。
只需要添加 spring-boot-starter-actuator
添加相关的依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>2.3.1.RELEASE</version>
</dependency>

常用的端点如下:

常用端点列举如下,可以一个个详细试一下:

/info        应用基本信息
/health       健康度信息
/metrics      运行指标
/env        环境变量信息
/loggers      日志相关
/dump       线程相关信息
/trace       请求调用轨迹

这些端点大都是默认开启的,如果想要开启一个端点,需要在配置文件中,配置以下内容。

endpoints:
metrics:
sensitive: false

此时 sensitive 是关闭的。

举个例子:
这里举个例子,访问是否在线的接口

localhost:8080/actuator/health

此时浏览器的输出结果为:

端点响应缓存

对于一些不带参数的端点将会进行缓存。搜索公众号:MarkerHub,关注回复[vue]获取前后端入门教程

management:
endpoint:
auditevents:
cache:
time-to-live: 100s

上方的配置说明了缓存达到 100s

路径映射

可以对访问的路径进行映射。

management:
endpoints:
web:
base-path: /
path-mapping:
health: healthcheck

此时访问路径由原先的 localhost:8080/actuator/health 转变为 localhost:8080/healthcheck

CORS

进行跨域操作。
可以通过配置文件,快速的开启 CORS 支持。

management:
endpoints:
web:
cors:
allowed-origins: http:
allowed-methods: *

在上方中,允许处理,来自 http://localhost:8091 的任何请求,允许的方法任意。

添加相关的依赖。

<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.2.3</version>
</dependency>

在启动类上增加相关的注解:

package com.example.demo;

import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@EnableAdminServer
public class DemoApplication {

public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}

}

配置完成以后,输入链接,进行访问。

http:

再次添加 client 端

<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.2.3</version>
</dependency>

书写配置文件

spring:
boot:
admin:
client:
url: http:

此时查看 admin


查看其健康度


(完)

MarkerHub文章索引:(点击阅读原文直达)

https://github.com/MarkerHub/JavaIndex


【推荐阅读】

浅析 VO、DTO、DO、PO 的概念、区别和用处!

面试官:Thread.sleep(0) 有什么用?

SpringSecurity + JWT,从入门到精通!

什么时候线程不安全?怎样做到线程安全?怎么扩展线程安全的类?

万字长文教你如何干掉丑陋的try,catch,写出优雅的代码



好文章!点个在看!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存