首页 > 其他分享 >SpringBootAdmin_监控

SpringBootAdmin_监控

时间:2023-09-25 18:44:53浏览次数:46  
标签:web 监控 builder SpringBootAdmin boot 端点 true

监控的意义

  • 监控服务状态是否宕机
  • 监控服务运行指标(内存、虚拟机、线程、请求等)
  • 监控日志
  • 管理服务(服务下线)

监控的实施方式

大部分监控平台都是主动拉取监控信息,而不是被动地等待应用程序传递信息

应用程序要设置:是否能被监控、开放那些信息给显示监控信息的服务器(监控平台)

可视化监控平台

Spring Boot Admin :开源社区项目,用于监督和管理SpringBoot应用程序,
客户端注册到服务端后,通过HTTP请求方式,服务端定期从客户端获取对应信息,
并通过UI界面展示对应信息

服务端

  • 坐标↓(可以在创建时在Ops中勾选)
<properties>
    <java.version>1.8</java.version>
    <spring-boot-admin.version>2.7.4</spring-boot-admin.version>
</properties>

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

<dependencyManagement>
<dependencies>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-dependencies</artifactId>
        <version>${spring-boot-admin.version}</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
</dependencies>
</dependencyManagement>

  • 将程序配成一个web服务↓
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

  • 配置端口,使用时要防止与本机的其他应用程序的端口冲突
server:
  port: 8080

  • 在主启动类开启AdminServer:@EnableAdminServer

客户端

  • 客户端创建时要勾选Ops下的Client,而且必须是web程序

  • 要在配置文件中设置被哪个服务端监控

server:
  port: 80

spring:
  boot:
    admin:
      client:
        url: http://localhost:8080

  • 在客户端配置哪些信息可以被监控↓
spring:
  boot:
    admin:
      client:
        url: http://localhost:8080

management:
  endpoint: # 这里设置对外开放是否开放对应功能
    health:
      enabled: true  # health端点必须开放
      show-details: always
    info:
      enabled: true
  endpoints:
    web:
      exposure:
        include: "*"  # 配在web端能不能看到,默认是health
    enabled-by-default: true   # 开放所有端点

监控原理

Actuator

actuator提供了SpringBoot生产就绪功能,通过端点的配置与访问,获取端点信息
端点描述了一组监控信息,SpringBoot提供了多个内置端点,也可以根据需要自定义端点信息
访问当前应用的所有端点信息:/actuator
访问端点详细信息:/actuator/端点名称

info端点指标控制

management:
  endpoint: # 这里设置对外开放是否开放对应功能
    health:
      show-details: always
      enabled: true
    info:
      enabled: true
  endpoints:
    web:
      exposure:
        include: "*"  # 配在web端能不能看到,默认是health
    enabled-by-default: true

info:
  appName: @project.artifactId@
  version: @project.version@
  author: 王东林   # 在info中配置一个值叫:author,具体值是:王东林
复杂的info信息(在Client端设置)
@Component
public class InfoConfig implements InfoContributor {
    @Override
    public void contribute(Info.Builder builder) {
        builder.withDetail("runTime", System.currentTimeMillis());

        Map infoMap = new HashMap();
        infoMap.put("buildTime", "2006");
        builder.withDetails(infoMap);  //支持链式编程
    }
}

health端点指标控制

  • 自定义健康指标↓
@Component
public class HealthConfig extends AbstractHealthIndicator {
    @Override
    protected void doHealthCheck(Health.Builder builder) throws Exception {
        boolean condition = false;
        if (condition) {
            builder.status(Status.UP);
            builder.withDetail("haha1", "哈哈1");
            builder.withDetail("haha2", "哈哈2");
            builder.withDetail("haha3", "哈哈3");
        } else {
            builder.status(Status.OUT_OF_SERVICE);
            builder.withDetail("上线了吗?", "并没有");
        }

    }
}

image-20230829114105572

metrics端点指标控制

  • metrics 即性能指标
  • 自定义metrics端点↓

39420416932807952

自定义监控

@Component
//声明该类是端点,id是访问名称,第二个参数是是否默认开启
@Endpoint(id = "pay", enableByDefault = true)
public class PayEndpoint {

    @ReadOperation    //声明当读取该端点调用该方法
    public Object pay() {
        Map payMap = new HashMap();
        payMap.put("level", 600);
        payMap.put("level2", 1000);
        payMap.put("level5", 9999);
        return payMap;
    }
}

标签:web,监控,builder,SpringBootAdmin,boot,端点,true
From: https://www.cnblogs.com/dong-lin/p/17728598.html

相关文章

  • 视频监控/视频汇聚/安防视频监控平台EasyCVR配置集群后有一台显示离线是什么原因?
    开源EasyDarwin视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视频定时轮播。视频监控汇聚平台EasyC......
  • 视频监控系统/视频汇聚平台EasyCVR有下级平台注册时出现断流情况该如何排查解决?
    视频汇聚/视频云存储/集中存储/视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、云存储、智能分析等,视频智能分析平台EasyCVR融合性强、开放度高、部署轻快,在智慧工地、智慧园区、智慧......
  • TP-LINK设备在防视频监控EasyCVR平台上无法使用语音对讲功能该如何解决?
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,也具备接入AI智能分析的......
  • 视频监控/视频汇聚/安防视频监控平台EasyCVR配置集群后有一台显示离线是什么原因?
    开源EasyDarwin视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视频定时轮播。视频监控汇聚平台EasyC......
  • 视频监控系统/视频汇聚平台EasyCVR有下级平台注册时出现断流情况该如何排查解决?
    视频汇聚/视频云存储/集中存储/视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、云存储、智能分析等,视频智能分析平台EasyCVR融合性强、开放度高、部署轻快,在智慧工地、智慧园区、智慧......
  • 国标GB28181安防视频平台EasyGBS视频监控/存储系统设计要点
    国标GB28181安防视频平台EasyGBS视频监控存储系统设计要点,是指在国家标准GB28181框架下,针对安防视频平台的设计要点进行详细的探讨和说明。GB28181是中国公安部颁布的关于公共安全视频监控系统的相关标准,旨在规范和管理公共安全视频监控系统的建设、运营和维护。存储的设计宗旨:......
  • TP-LINK设备在防视频监控EasyCVR平台上无法使用语音对讲功能该如何解决?
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,也具备接入AI智能分析的......
  • 国标GB28181安防视频平台EasyGBS视频监控系统前端存储与中心存储
    在EasyGBS视频监控系统中,前端存储通常采用高性能的NVR(网络视频录像机)或NAS(网络附加存储)设备来实现。这些设备具有高容量、高速度和稳定性的特点,能够支持多路高清视频流的同时传输和存储,确保系统在处理大量视频数据时仍能保持流畅运行。1.前端存储前端存储是指视频信息存于视频......
  • EasyGBS云存储方案让视频监控的存储与数据挖掘更有保障
    EasyGBS云存储方案为视频监控的存储与数据挖掘提供了更为可靠的保障。随着视频监控系统的广泛应用,海量的视频数据需要被高效地存储和管理,以应对日益增长的数据量和复杂的应用场景。而传统的本地存储方式往往面临着容量限制、数据冗余和安全性问题。EasyGBS云存储方案是一种基于......
  • 分析:EasyGBS视频监控存储的技术与用什么方案去解决它
    在当今社会,视频监控系统已经成为了保障公共安全和提高生活质量的重要手段。随着科技的不断发展,视频监控技术也在不断进步,从最初的模拟监控到现在的数字监控,再到即将到来的智能监控。在这个过程中,存储技术作为视频监控系统的核心技术之一,也得到了迅速的发展。EasyGBS作为一种视频监......