SpringCloud微服务实战系列(十六)应用监控之SpringBootAdmin的使用

SpringCloud微服务实战系列(十六)应用监控之SpringBootAdmin的使用

一、概述

Actuaotr是spring boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,针对微服务而言它是必不可少的一个环节。

spring-boot-actuator中已经内置了非常多的Endpoints(health、info、beans、httptrace、shutdown)等等,同时也允许我们自己扩展自己的端点.

但是这样监控也有一些问题:第一,所有的监控都需要调用固定的接口来查看,如果全面查看应用状态需要调用很多接口,并且接口返回的 JSON 信息不方便运营人员理解;第二,如果 Spring Boot 应用集群非常大,每个应用都需要调用不同的接口来查看监控信息,操作非常繁琐低效。在这样的背景下,就诞生了另外一个开源软件:Spring Boot Admin。

Spring Boot Admin 是一个管理和监控 Spring Boot 应用程序的开源软件,每个应用都认为是一个客户端,通过 HTTP 或者使用 Eureka 注册到 admin server 中进行展示,Spring Boot Admin UI 部分使用 Vue.js 将数据展示在前端。

当然,如果就一个SpringBoot应用,使用Spring Boot Admin就显得多余了点,可以查看《SpringBoot入门建站全系列(二十九)Actuator服务监控及SpringBootMonitor单机监控页面》,这篇文章使用改造后的SpringBootMonitor对单机进行监控。

首发地址:
品茗IT-首发

如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以加入我们的java学习圈,点击即可加入,共同学习,节约学习时间,减少很多在学习中遇到的难题。

下面讲述Spring Boot Admin的使用方法。

二、建立AdminServer

因为使用Spring Boot Admin,需要建立一个监控中心AdminServer,收集各个客户端上送的监控信息,因此,首先要建好AdminServer。

2.1 引入依赖

需要引入spring-boot-starter-web和spring-boot-admin-starter-server.

依赖如下:

<dependency>
	<groupId>org.springframework.bootgroupId>
	<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
	<groupId>de.codecentricgroupId>
	<artifactId>spring-boot-admin-starter-serverartifactId>
	<version>2.1.5version>
dependency>

2.2 配置文件

这里使用yaml文件写配置,配置文件application.yml:

application.yml:

server:
   port: 8888
spring:
   application:
      name: AdminServer

这里,只需要配置端口和应用名即可。

2.3 启动

使用main直接启动即可。需要使用注解@EnableConfigServer开启监控数据收集服务。

ConfigServerApplication:

package cn.pomit.springbootwork.config.server;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;

@EnableConfigServer
@SpringBootApplication
public class ConfigServerApplication {
     
	public static void main(String[] args) {
     
		SpringApplication.run(ConfigServerApplication.class, args);
	}
}

三、客户端接入Admin监控

3.1 引入依赖

需要引入spring-boot-starter-web和spring-boot-starter-actuator、spring-boot-admin-starter-client.

依赖如下:

<dependency>
	<groupId>org.springframework.bootgroupId>
	<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
	<groupId>org.springframework.bootgroupId>
	<artifactId>spring-boot-starter-actuatorartifactId>
dependency>
<dependency>
	<groupId>de.codecentricgroupId>
	<artifactId>spring-boot-admin-starter-clientartifactId>
	<version>2.1.5version>
dependency>

3.2 配置文件

这里使用yaml文件写配置application.yml:

application.yml:

server:
   port: 8111
spring:
   application:
      name: AdminClient
   boot:
      admin:
         client:
            url: http://localhost:8888
management:
   endpoints:
      web:
         exposure:
#加载所有的端点,默认只加载了info、health
            include: '*'

这里面,包含了端口、应用名、监控中心信息。

  • spring.boot.admin.client.url指明了监控服务所在地址。
  • management.endpoints.web.exposure是actuator的配置。

3.3 启动

AdminClientApplication :

package cn.pomit.springbootwork.admin.client;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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


四、查看监控

访问监控服务的地址:http://127.0.0.1:8888/#/applications, 注意,这个地址是AdminServer的,不是客户端的。

SpringCloud微服务实战系列(十六)应用监控之SpringBootAdmin的使用_第1张图片

如上图所示,开启中的应用有一个,就是AdminClient。点击对应应用,可以进入详情界面:

SpringCloud微服务实战系列(十六)应用监控之SpringBootAdmin的使用_第2张图片

品茗IT-博客专题:https://www.pomit.cn/lecture.html汇总了Spring专题、Springboot专题、SpringCloud专题、web基础配置专题。

快速构建项目

Spring项目快速开发工具:

一键快速构建Spring项目工具

一键快速构建SpringBoot项目工具

一键快速构建SpringCloud项目工具

一站式Springboot项目生成

Mysql一键生成Mybatis注解Mapper

Spring组件化构建

SpringBoot组件化构建

SpringCloud服务化构建

喜欢这篇文章么,喜欢就加入我们一起讨论SpringCloud使用吧!
品茗IT交流群

你可能感兴趣的:(SpringCloud专题,springbootadmin,spring,boot,监控,分布式监控)