SpringBootAdmin极简教程

简介: SpringBoot应用可以通过Actuator来暴露应用运行过程中的各项指标,Spring Boot Admin通过这些指标来监控SpringBoot应用,然后通过图形化界面呈现出来。

简介

  • SpringBoot应用可以通过Actuator来暴露应用运行过程中的各项指标,Spring Boot Admin通过这些指标来监控SpringBoot应用,然后通过图形化界面呈现出来。

  • Spring Boot Admin不仅可以监控单体应用,还可以和Spring Cloud的注册中心相结合来监控微服务应用。

  • SpringBootAdmin是C/S架构,client端应用需要注册到server端,需要引入spring-boot-admin-starter-client,但是在SpringCloud微服务架构中,可以通过服务发现来注册,此时client的配置是非必须的。

  • SpringBootAdmin并不是Spring官方的项目,它是一家欧洲公司codecentric的开源项目。github地址:https://github.com/codecentric/spring-boot-admin

下面看几张server端的截图:


功能和特性

SpringBootAdmin主要是围绕Actuator来展开,主要为开发运维人员提供服务监控、
服务管理和报警。

服务监控

  • 应用上、下线状态

  • 监控应用运行过程中的概览信息;

  • 度量指标信息,比如JVM、Tomcat及进程信息;

  • 环境变量信息,比如系统属性、系统环境变量以及应用配置信息;

  • 查看所有创建的Bean信息;

  • 查看应用中的所有配置信息;

  • 查看JVM信息;

  • 查看可以访问的Web端点;

  • 查看HTTP跟踪信息

  • ......

服务管理

  • 动态日志级别更改
  • ......

报警

  • 发送监控邮件
  • 集成各种消息通知
  • ......

服务端

client注册到SpringBootAdmin-Server有两种方式,一种是client引入admin-client依赖,并在配置文件配置admin-server地址;一种是将爱大米将client和admin-server注册到相同的注册中心,通过服务发现将client注册到SpringBootAdmin-Server。本文中主要是演示第二种。

pom


<!-- admin-server -->
<dependency>
  <groupId>de.codecentric</groupId>
  <artifactId>spring-boot-admin-starter-server</artifactId>
  <version>${spring.boot.admin.version}</version>
</dependency>

配置

通过@EnableAdminServer注解开启Admin-Server,@EnableDiscoveryClient注解是将admin-server注册到nacos注册中心,admin-server自己也是一个可被监控的服务。

集群

SpringBootAdmin-Server 支持通过Hazelcast来实现集群的复制。本文档不展开讨论,一般来说SpringBootAdmin为非功能性服务,是否集群其实也不太重要。

客户端

声明式客户端

pom

<!-- SpringBoot Actuator -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>


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

配置

spring.boot.admin.clietn.url:配置admin-server的地址
management.endpoints:actuator暴露的client端程序监控端点

通过注册中心发现

客户端仅需要添加Actuator的starter依赖,然后保证当前微服务应用和Admin-Server注册到同一注册中心即可。

若client服务添加了 context-path ,springBootAdmin-server端是无法通过注册中心监控的,解决办法是在Client端的配置文件中增加如下配置:

spring:
  cloud:
      discovery:
        server-addr: 127.0.0.1:8884
        metadata:
          management:
            context-path: ${server.servlet.context-path}/actuator
目录
相关文章
|
2月前
|
缓存 监控 安全
Enge问题解决教程
Enge问题解决教程
26 0
|
8月前
|
自然语言处理 JavaScript
jedate教程
jedate教程
40 5
|
Unix C语言 C++
C++ 教程
C++ 是一种高级语言,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。C++ 可运行于多种平台上,如 Windows、MAC 操作系统以及 UNIX 的各种版本。 本教程通过通俗易懂的语言来讲解 C++ 编程语言。
|
存储 自然语言处理 搜索推荐
luncne 教程
Lucene是一套用于全文检索和搜寻的开源程序库,提供了一个简单却强大的应用程序接口(API),能够做全文索引和搜寻,在Java开发环境里Lucene是一个成熟的免费开放源代码工具
luncne 教程
|
算法 应用服务中间件 数据库
这或许是我写的最全的BLAST教程
Basic local alignment search tool (BLAST) 包括:blastn, blastp, blastx, tblastn, tblastx等. 使用conda安装即可。
3980 0
|
Web App开发 缓存 网络协议
fildder教程
原文:fildder教程 转载地址:写得很不错的fildder教程   http://kb.cnblogs.com/page/130367/ Fiddler的基本介绍   Fiddler的官方网站:  www.fiddler2.com       Fiddler的官方帮助:http://docs.telerik.com/fiddler/knowledgebase/quickexec   Fiddler官方网站提供了大量的帮助文档和视频教程, 这是学习Fiddler的最好资料。
1504 0
|
Web App开发 缓存 网络协议