springboot——有空监控Admin学习

监控管理对象:程序及状态、日志、服务等
指标:内存、虚拟机、线程请求等

监控的实施:
做监控信息的服务器:获取被监控服务信息并显示
被监控服务:是否启动被监控的配置,被监控的内容的规定

Spring Boot Admin,开源,用于管理,监控SpringBoot应用程序。——客户端注册到服务端,通过HTTP请求方式,服务端定期从客户端获取对应信息,通过UI界面展示对应信息。(非spring官方维护)

Admin服务器:
依赖,需要与spring-boot-----parent版本一致

  1. 依赖:spring-boot-admin-starter-server,(可利用IDEA的框架支持),同时做页面显示,要达成web包(web依赖)
  2. 所需配置:配置号服务器端口
  3. springboot启动类注解:@EnableAdminServer

如何查看:URL:(做监控)服务器端口

被监控服务:

  1. 依赖:spring-boot-admin-starter-client,上同,做出web,
  2. 配置application.yml:
server:
  port: 80

spring:
  boot:
    admin:
      client:
      	#注册地址
        url: http://localhost:8080
#指定需要被监控内容
management:
  endpoint:
  	#有关健康指标:如状态...
    health:  #health为必开项,actuator对外开发多少数据:单一
      show-details: always
  #其他端点
  endpoints:
    web:
      exposure:
        include: "*" #  对web端开放全部端点,控制有关
    #actuator对外开发多少数据:全部
    enabled-by-default: true  #默认true

有关Actuator,通过地点配置与访问,获取端点信息。(client依赖默认有个依赖actuator,利用此jar包可实现外部访问),可通过postman发送访问获取有关actuator的所有信息:http://URL:client端口/actuator
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
有关暴漏端点形式JMX(JConsole)和Web(页面),JMX端点大多是全是开启,web是大多全关闭

有关端点info端点自定义配置(springboot并没有定义有关):
方式1 :通过配置文件静态信息

info:
  #项目有关信息,读取了pom文件
  appName: @project.artifactId@
  version: @project.version@
  #自定义有关内容
  author: 自定义作者

方式2:有关动态信息的配置:(记得加成spring组件)
自定义类,实现InfoContributor,在build.withDatail()方法中放入消息

有关health指标(不能自定义静态配置):health指标是有关项目各组件的状态,单个组件up/down影响整个项目
动态配置:(记得加成spring组件)
自定义类实现HealthIndicator接口或继承AbstractHealthIndicator,builder.withDetail()方法添加,builder.status.(Status.UP)(有4中状态,UNKNOWN/UP/DOWN/OUT_OF_SERVICE,)
举例:

boolean condition = true;
        if(condition) {
            builder.status(Status.UP);
            builder.withDetail("runTime", System.currentTimeMillis());
            Map infoMap = new HashMap();
            infoMap.put("buildTime", "2006");
            builder.withDetails(infoMap);
            builder.status.Status.UP}else{
            builder.status(Status.OUT_OF_SERVICE);
            builder.withDetail("");
            //builder.down();
        }

有关metrics性能指标端点的配置:
模拟:为业务方法,通过形参MeterRegistry的方法做相关配置(实际会在另外运维系统操作)

自定义endpoint的开发:(公司会有专门的业务监控等各自的系统)
通过自定义类:

@Component
//自定义端点名称
@Endpoint(id="pay",enableByDefault = true)
public class PayEndpoint {
    @ReadOperation  //调用pay端点时调取以下方法
    public Object getPay(){
        Map payMap = new HashMap();//模拟json数据
        payMap.put("level 1","300");//给予返回内容类型相关数据
        payMap.put("level 2","291");
        payMap.put("level 3","666");
        return payMap;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot Admin 提供了默认的监控界面和监控指标,但是有时候我们需要根据项目需求进行自定义监控。下面介绍一下如何自定义 Spring Boot Admin 监控。 1. 自定义监控指标 Spring Boot Admin 默认提供了一些监控指标,比如内存使用情况、线程池信息等。但是如果我们需要监控其他的指标,可以通过自定义 Endpoint 的方式来实现。 自定义 Endpoint 需要实现 `org.springframework.boot.actuate.endpoint.Endpoint` 接口,示例代码如下: ```java @Component public class CustomEndpoint implements Endpoint<Map<String, Object>> { @Override public String getId() { return "my-endpoint"; } @Override public boolean isEnabled() { return true; } @Override public boolean isSensitive() { return true; } @Override public Map<String, Object> invoke() { // 获取自定义指标信息 Map<String, Object> customMetrics = new HashMap<>(); customMetrics.put("customMetric1", "value1"); customMetrics.put("customMetric2", "value2"); return customMetrics; } } ``` 在 `invoke()` 方法中返回自定义的指标信息即可。同时需要注意的是,`isEnabled()` 和 `isSensitive()` 方法需要根据实际情况返回是否启用和是否敏感信息。 2. 自定义监控页面 Spring Boot Admin监控页面是基于 [AdminLTE](https://adminlte.io/) 构建的,可以通过自定义 AdminLTE 主题来自定义监控页面。 首先需要创建一个自定义的 AdminLTE 主题,可以在 [AdminLTE ThemeRoller](https://adminlte.io/themes/AdminLTE/index.html#!/custom) 上进行配置和下载。下载后将主题文件放到 Spring Boot Admin 的静态资源目录下即可。 然后在 Spring Boot Admin 的配置文件中添加如下配置: ```yaml spring: boot: admin: ui: custom: brand: primary: "#3c8dbc" title: "Custom Title" ``` 其中 `brand` 和 `title` 分别代表自定义的品牌颜色和标题,根据实际情况进行调整即可。 以上就是自定义 Spring Boot Admin 监控的方法,可以根据实际项目需求进行自定义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值