专栏首页mySoulSpring Boot 应用监控
原创

Spring Boot 应用监控

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

端点配置

在Spring Boot 中添加端点配置相当的简单。

只需要添加 spring-boot-starter-actuator

添加相关的依赖

        <!-- https://mvnrepository.com/artifact/org.springframework.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

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

端点响应缓存

对于一些不带参数的端点将会进行缓存。

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://localhost:8091
        allowed-methods: *

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

配置信息可视化

添加相关的依赖。

        <!-- https://mvnrepository.com/artifact/de.codecentric/spring-boot-admin-starter-server -->
        <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://localhost:8080/index.html

再次添加client端

<!-- https://mvnrepository.com/artifact/de.codecentric/spring-boot-admin-starter-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://localhost:8080

此时查看admin

查看其健康度

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Struts 拦截器

    需要继承该抽象类,并实现其方法 即 com.opensymphony.xwork2.interceptor.AbstractInterceptor 抽象类

    mySoul
  • css3过渡

    transition 为一个简写属性,是一个transition-property (定义过渡的属性的名称)以及 transition-duration (定义...

    mySoul
  • jQuery (二)

    还可以使用三个值,第一值为事件,第二个值为Event对象的data属性,在调用最后一个处理函数的时候,会将第二个值作为对象的data属性,这样即可避免使用闭包操...

    mySoul
  • Spring Boot Server容器配置

    参数配置容器 server.xx开头的是所有servlet容器通用的配置,server.tomcat.xx开头的是tomcat特有的参数,其它类似。 所有参数绑...

    Java技术栈
  • SpringBoot 源码解析——源码模块功能分析

    可以看见整体的结构目录是比较清晰的,主要源码模块分为 spring-boot-project 和 spring-boot-tests 两个,其中第一个是源码...

    zhisheng
  • SpringBoot核心【starter启动器】

      SpringBoot为我们提供了简化企业级开发绝大多数场景的starter pom,只要使用了应用场景所需要的start pom,相关的技术配置将会消除,就...

    用户4919348
  • Spring Boot-2.配置基础

    Spring Boot通常以一个名为*Application的类作为入口类,入口类里的main方法(即标准的Java应用的入口方法)作为Spring Boot应...

    悠扬前奏
  • 深入浅析Spring-boot-starter常用依赖模块

    2.针对日常企业应用研发各种场景的Spring-boot-starter自动配置依赖模块,且“开箱即用”(约定spring-boot-starter- 作为命名...

    技术zhai
  • 机器学习和深度学习视频资料精选(附学习资料)

    pandax视频教程 链接: https://pan.baidu.com/s/1pLqavVX 密码: fath python入门到精通 链接: http...

    华章科技
  • 机器学习和深度学习视频资料精选(附学习资料)

    来源:大数据挖掘DT数据分析 本文长度为633字,建议阅读3分钟。 本文为你介绍机器学习和深度学习的视频资料。 第一部分 基础语言 pandax视频教程链接: ...

    数据派THU

扫码关注云+社区

领取腾讯云代金券