使用springbootadmin监控springcloud微服务

自行车上的程序员      2022-04-06     458

关键词:

spring-boot admin的github地址:https://github.com/codecentric/spring-boot-admin

 

本文基于SpringCloud的环境和配置上增加配置信息,而不是从0开始的配置。

一、搭建admin服务端

1、引入pom

<properties>
    <spring-boot-admin-starter-client.version>1.5.6</spring-boot-admin-starter-client.version>
    <spring-boot-admin-serve.version>1.5.7</spring-boot-admin-serve.version>
    <spring-boot-admin-serve-ui.version>1.5.7</spring-boot-admin-serve-ui.version>
</properties>

<dependencies>
    <!-- 增加admin server 和 ui支持 -->
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-server</artifactId>
        <version>${spring-boot-admin-serve.version}</version>
    </dependency>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-server-ui</artifactId>
        <version>${spring-boot-admin-serve-ui.version}</version>
    </dependency>

    <!-- 增加对hystrix的UI支持,需要服务依赖了hystrix -->
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-server-ui-hystrix</artifactId>
        <version>1.5.7</version>
    </dependency>
    <!-- 增加对turbine的集成支持,需要指定相关turbine参数信息 -->
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-server-ui-turbine</artifactId>
        <version>1.5.4</version>
    </dependency>
</dependencies>

2、application.properties

# 应用名称
# 这个变量必须写在这里,因为项目启动的时候需要记录日志文件,如果写在git上讲导致生成bootstrap.log和springAppName_IS_UNDEFINED.log
spring.application.name=crm-admin-server
# 服务端口
server.port=21500

spring.profiles.active=local
# 非本地的启动,注册中心采用启动参数传入,本地测试也在启动参数中注入
eureka.client.serviceUrl.defaultZone=http://127.0.0.1:20000/eureka/

eureka.instance.lease-renewal-interval-in-seconds=2
eureka.instance.lease-expiration-duration-in-seconds=6
eureka.instance.preferIpAddress=true
eureka.client.registryFetchIntervalSeconds=2

#禁用管理的鉴权
management.security.enabled=false
#开启shutdown
endpoints.shutdown.enabled=true
#禁用shutdown的鉴权
endpoints.shutdown.sensitive=false
#开启重启支持
endpoints.restart.enabled=true

#admin管理的端点(actuator)
spring.boot.admin.routes.endpoints=env,metrics,dump,jolokia,info,configprops,trace,logfile,refresh,flyway,liquibase,heapdump,loggers,auditevents,hystrix.stream
# turbine服务id
spring.boot.admin.turbine.location=crm-turbine

3、Main方法

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

import de.codecentric.boot.admin.config.EnableAdminServer;

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

 

二、admin客户端

1、引用pom

对于SpringCloud项目来说会默认依赖actuator,只要再加入如下依赖即可

<dependency>
      <groupId>org.jolokia</groupId>
      <artifactId>jolokia-core</artifactId>
</dependency>

当然,简单省事的方案就是直接引用spring-boot-admin-starter-client

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

2、application.properties

# 禁用actuator管理端鉴权
management.security.enabled=false
# 启用shutdown   host:port/shutdown
endpoints.shutdown.enabled=true
# 禁用密码验证
endpoints.shutdown.sensitive=false
# 开启重启支持
endpoints.restart.enabled=true

# admin的log选项卡用
logging.file=/data/logs/crm/${spring.application.name}.log

3、logback-spring.xml中增加对JMX的支持

<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
    
    <jmxConfigurator/>

这样做的好处是可以在admin的ui界面动态改变某些的日志级别。

 

三、访问Spring Boot Admin UI界面

 

Admin Server的配置文件:

spring.boot.admin.routes.endpoints=env,metrics,dump,jolokia,info,configprops,trace,logfile,restart,shutdown,refresh,heapdump,loggers,auditevents,hystrix.stream
# turbine服务id
spring.boot.admin.turbine.location=crm-admin-server

spring.boot.admin.turbine.clusters=default
turbine.clusterNameExpression=new String("default")
#设置需要监控的serviceId
turbine.app-config=crm-security-rest,crm-security-service,crm-basic-rest,crm-basic-service,crm-customer-open-service,crm-customer-rest,crm-customer-service,crm-report-rest,crm-report-service,crm-gateway,crm-inside-gateway
#同一主机上的服务通过host和port的组合来进行区分
turbine.combine-host-port=true

spring.mail.host=smtp.exmail.qq.com
spring.mail.username=xx@qq.com
spring.mail.password=xxxxxx

spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.properties.mail.smtp.socket.factory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.socket.factory.fallback=false
spring.mail.properties.mail.smtp.port=465
spring.mail.properties.mail.transport.protocol=smtp

#需要忽略的状态改变通知,逗号分隔,例如不通知离线到上线的状态,则填写为OFFLINE:UP
#spring.boot.admin.notify.mail.ignore-changes=
#接收通知的邮箱地址,逗号分隔
spring.boot.admin.notify.mail.to=yangzhilong@qq.com
#需要抄送的邮箱地址,逗号分隔
#spring.boot.admin.notify.mail.cc=test1@qq.com
#邮件发送者,大部分情况与登录名相同
spring.boot.admin.notify.mail.from=${spring.mail.username}
#邮件主题,默认是:#{application.name} (#{application.id}) is #{to.status}
spring.boot.admin.notify.mail.subject=${spring.profiles.active} profile's #{application.name} (#{application.id}) is #{to.status}
#邮件内容,默认是:#{application.name} (#{application.id})\nstatus changed from #{from.status} to #{to.status}\n\n#{application.healthUrl}
spring.boot.admin.notify.mail.text=${spring.profiles.active} profile's #{application.name} (#{application.id})\nstatus changed from #{from.status} to #{to.status}
#Comma-delimited list of status changes to be ignored. Format: "<from-status>:<to-status>". Wildcards allowed.默认值:"UNKNOWN:UP"
#spring.boot.admin.notify.mail.ignore-changes=

 

实战:使用springbootadmin实现运维监控平台

...性能数据呢?在这样的背景下,就诞生了另一个开源软件SpringBootAdmin。下面就来介绍什么是SpringBootAdmin以及如何使用SpringBootAdmin搭建完整的运维监控平台。一、什么 查看详情

指标监控神器springbootadmin保姆级教程

SpringBootAdmin基于SpringBootAdmin的开源产品很多,我们选择这个:https://github.com/codecentric/spring-boot-admin1.搭建Admin服务器创建建对应的SpringBoot项目,添加相关依赖<dependency><groupId>de.codecentric</gr 查看详情

spring-boot之admin服务监控-9

  一、SpringBootAdmin用于管理和监控一个或者多个SpringBoot程序。SpringBootAdmin分为Server端和Client端,Client端可以通过向HttpServer端注册,也可以结合SpringCloud的服务注册组件Eureka进行注册。SpringBootAdmin提供了用AngularJs写的Ul界面,用... 查看详情

springbootadmin微服务监控管理

...项目:https://github.com/codecentric/spring-boot-admin功能特性SpringBootAdmin为注册的应用程序提供以下功能:显示健康状况显示详细信息,例如JVM和内存指标mi 查看详情

springboot监控-springbootadmin(代码片段)

01:SpringBoot高级–SpringBoot监控02:SpringBoot监控-SpringBootAdmin1.SpringBootAdmin使用游览器地址栏访问SpringBoot的监控信息太繁琐了,所以SpringBootAdmin就诞生了,以UI界面的方式来显示监控信息。SpringBootAdmin说明:SpringBootAdmi... 查看详情

springboot度量指标监控与健康检查和可视化监控应用springbootadmin

...            使用可视化监控应用SpringBootAdmin  使用步骤:    SpringBootAdmin的使用是需要建立服务端和客户端的    服务端:独立的项目,会将收集到的数据在自己的图形界面中展示   查看详情

springcloud微服务监控springbootadmin

1.简介SpringBootAdmin是一个管理和监控SpringBoot应用程序的开源软件。SpringBootAdmin分为Server端和Client端,SpringBootAdminUI部分使用AngularJs将数据展示在前端。2.工程架构EurekaServer:服务注册中心,端口为8761。AdminServer:用于对微服务系... 查看详情

使用springbootadmin监控应用状态(代码片段)

1SpringBootActuatorSpringBootActuator是SpringBoot提供的对应用的自省和监控功能,如健康检查,审计,指标收集,HTTP跟踪等,可以帮助开发和运维人员监控和管理SpringBoot应用。该模块采集应用的内部信息,并暴露... 查看详情

物联网架构成长之路(30)-springbootadmin微服务webui监控

...要观察各个微服务的运行状态,因此SpringBoot生态提供了SpringBootAdmin这个组件来实现微服务管理WEBUI。但是整体的注册中心还是基于Eureka,只是WebUI是用这个SpringBootAdmin来显示而已。具体的结构如下所示1.Eureka服务  这个没什么... 查看详情

springcloud-springbootadmin服务监控(十三)

springcloud笔记推荐文章前言SpringBootAdmin是一个管理和监控你的SpringBoot应用程序的应用程序。这些应用程序通过SpringBootAdminClient(通过HTTP)注册或者使用SpringCloud(例如Eureka)发现。UI只是SpringBootActuator端点上的一个AngularJs应用程... 查看详情

springbootadmin微服务监控管理

...项目:https://github.com/codecentric/spring-boot-admin功能特性SpringBootAdmin为注册的应用程序提供以下功能:显示健康状况显示详细信息,例如JVM和内存指标micrometer.io指标数据源指标缓存指标显示构建信息编号关注并下载日志... 查看详情

springbootadmin监控包括链路追踪失效解决方案~~~(代码片段)

...追踪失效解决方案:调研了很多监控系统,发现Springbootadmin可以通过简单的配置实现对Springboot的监控。https://blog.csdn.net/qq_39375329/article/details/110639509直接上代码pom.xml<!--spring-boot-admin,必须有actuator监控中心--><de... 查看详情

springbootadmin2实例状态监控详解(代码片段)

其他相关文章:SpringBootAdmin参考指南SpringBootAdmin服务离线、不显示健康信息的问题SpringBootAdmin2@EnableAdminServer的加载SpringBootAdmin2AdminServerAutoConfiguration详解在微服务中集成SpringBootAdmin的主要作用之一就是用来监控服务的实例... 查看详情

springboot学习----springbootadmin(代码片段)

什么是SpringBootAdminSpringBootAdmin是一个管理和监控SpringBoot应用程序的开源软件,SpringBootAdmin的GitHub地址https://github.com/codecentric/spring-boot-admin他是一个基于C/S架构的实现。它可以通过HTTP或者Eureka注册到adminserver中进行展示,通过它... 查看详情

springcloud学习springbootadmin(代码片段)

SpringBootAdmin用于管理和监控一个或者多个SpringBoot程序新建spring-boot-admin-serverpom<parent><artifactId>spring-cloud-parent</artifactId><groupId>com.karonda</groupId><version>1.0. 查看详情

springbootadmin监控搭建-nacos版本(代码片段)

SpringBootAdmin介绍SpringBootAdmin是github上一款用于SpringBoot的监控管理的开源项目,通过http直接注册或者通过注册中心注册的方式,实现了SpringBoot应用上的一些常见监控项,具体功能点如下:显示应用程序的监控状态应用程序上... 查看详情

如何配置 spring boot admin 以传递额外的 headers

】如何配置springbootadmin以传递额外的headers【英文标题】:Howtoconfigurespringbootadmintopassadditionalheaders【发布时间】:2019-09-1318:49:25【问题描述】:我正在为我的项目使用SpringBootAdmin插件。我想使用我的SpringBootAdmin项目监控的应用程... 查看详情

springcloud第十三篇|springbootadmin服务监控

本文是SpringCloud专栏的第十三篇文章,了解前十二篇文章内容有助于更好的理解本文:SpringCloud第一篇|SpringCloud前言及其常用组件介绍概览SpringCloud第二篇|使用并认识Eureka注册中心SpringCloud第三篇|搭建高可用Eureka注册中心SpringCloud... 查看详情