服务监控之spring-boot-admin

Posted jmcui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务监控之spring-boot-admin相关的知识,希望对你有一定的参考价值。

一、概述

?开始阅读这篇文章之前,建议先阅读下《SpringBoot 之Actuator》,该篇文章提到 Spring Boot Actuator 提供了对单个Spring Boot的监控,信息包含:应用状态、内存、线程、堆栈等等,比较全面的监控了Spring Boot应用的整个生命周期。但是美中不足的是:

  1. 所有的监控都需要调用固定的接口来查看,如果全面查看应用状态需要调用很多接口,并且接口返回的 Json 信息不方便运营人员理解;
  2. 如果Spring Boot 应用集群非常大,每个应用都需要调用不同的接口来查看监控信息,操作非常繁琐低效。

?在这样的背景下,就诞生了另外一个开源软件:Spring Boot Admin。那么什么是 Spring Boot Admin 呢?Spring Boot Admin 是一个针对 Spring Boot Actuator 进行UI美化封装的监控工具。集群的每个应用都认为是一个客户端(或者说实例),通过HTTP或者使用 Eureka 注册到 Spring Boot Admin Server中进行展示,Spring Boot Admin UI 使用AngularJs将数据展示在前端。

?下面将给大家介绍如何使用Spring Boot Admin对Spring Boot应用进行监控。

二、spring-boot-admin-starter-server

下面介绍 spring-boot-admin-server 的构建,要监控的每个客户端(或者说实例),都可以把 Actuator 数据注册到 server 中进行 UI 渲染展示。

1. pom.xml

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

2. application.yml

server:
  port: 3333

spring:
  application:
    name: monitor

3. Application.java

@SpringBootApplication
@EnableAdminServer
public class Application 

    public static void main(String[] args) 
        SpringApplication.run(Application.class);
    

做完以上动作,我们一个 spring-boot-admin-server 项目就搭建好了。

三、spring-boot-admin-starter-client

我们已经有了一个 spring-boot-admin-server,现在要做的就是如何把客户端(或者说实例)的 Actuator 数据注册到 Server 中。

1. pom.xml

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

2. application.yml

spring:
  application:
    name: dubbo-provider
  boot:
    admin:
      enabled: true
      client:
        instance:
          name: $spring.application.name
          prefer-ip: true
        url: http://127.0.0.1:3333
management:
  endpoints:
    web:
      exposure:
        include: '*'

如此,我们就把客户端(或者说实例)的 Actuator 数据注册到 Server 中了。

结语

1. 效果图

技术图片
技术图片

2.源代码地址

Github 演示代码地址:https://github.com/JMCuixy/dubbo-demo

以上是关于服务监控之spring-boot-admin的主要内容,如果未能解决你的问题,请参考以下文章

十springboot 优雅集成spring-boot-admin 实现程序监控

SpringBoot系列——admin服务监控

spring boot/cloud 应用监控

使用SpringBoot Admin监控SpringCloud微服务

Spring Boot Admin 微服务监控管理

Spring Boot Admin 微服务监控管理