使用SpringBoot Admin监控SpringCloud微服务
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= spring.profiles.active=local
# 非本地的启动,注册中心采用启动参数传入,本地测试也在启动参数中注入
eureka.client.serviceUrl.defaultZone=http://127.0.0.1:/eureka/ eureka.instance.lease-renewal-interval-in-seconds=
eureka.instance.lease-expiration-duration-in-seconds=
eureka.instance.preferIpAddress=true
eureka.client.registryFetchIntervalSeconds= #禁用管理的鉴权
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=
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=
使用SpringBoot Admin监控SpringCloud微服务的更多相关文章
- 使用springboot Admin 2.0.6版本 集成监控springcloud微服务应用
一 新建 添加依赖 <dependencies> <dependency> <groupId>de.codecentric</groupId> < ...
- SpringCloud微服务(04):Turbine组件,实现微服务集群监控
本文源码:GitHub·点这里 || GitEE·点这里 写在前面,阅读本文前,你需要了解熔断器相关内容 SpringCloud微服务:Hystrix组件,实现服务熔断 一.聚合监控简介 1.Dash ...
- SpringCloud微服务学习笔记
SpringCloud微服务学习笔记 项目地址: https://github.com/taoweidong/Micro-service-learning 单体架构(Monolithic架构) Mon ...
- springcloud微服务实战:Eureka+Zuul+Feign/Ribbon+Hystrix Turbine+SpringConfig+sleuth+zipkin
相信现在已经有很多小伙伴已经或者准备使用springcloud微服务了,接下来为大家搭建一个微服务框架,后期可以自己进行扩展.会提供一个小案例: 服务提供者和服务消费者 ,消费者会调用提供者的服务,新 ...
- SpringCloud微服务简介(一)
Spring Cloud简单认识 微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务.这些小的Web服务可以独立地编译及部署,并通过 ...
- springcloud微服务实战:Eureka+Zuul+Ribbon+Hystrix+SpringConfig
原文地址:http://blog.csdn.net/yp090416/article/details/78017552 springcloud微服务实战:Eureka+Zuul+Ribbon+Hyst ...
- SpringCloud微服务:基于Nacos组件,整合Dubbo框架
源码地址:GitHub·点这里 || GitEE·点这里 一.基础组件简介 1.Dubbo框架 Dubbo服务化治理的核心框架,之前几年在国内被广泛使用,后续由于微服务的架构的崛起,更多的公司转向微服 ...
- SpringCloud微服务项目实战 - API网关Gateway详解实现
前面讲过zuul的网关实现,那为什么今天又要讲Spring Cloud Gateway呢?原因很简单.就是Spring Cloud已经放弃Netflix Zuul了.现在Spring Cloud中引用 ...
- 08 . Jenkins之SpringCloud微服务+Vue+Docker持续集成
简介 大致流程 /* 1.开发人员每天把代码提交到Gitlab代码仓库 2.jenkins从gitlab中拉取项目源码,编译并打包成war包,然后构建Docker镜像,将镜像上传到Harbor私有仓库 ...
随机推荐
- DBMS_OUTPUT包学习
DBMS_OUTPUT包中的其他方法和函数的用法,所以这次特地来研究一下. 先简单的讲解一下这个包的所有procedure的含义及作用: ----------------------- 1. ...
- 【BZOJ 3294】[Cqoi2011]放棋子
题解: 一道很经典的组合数+dp 首先考虑f[i][j][k]表示前k种颜色正好占据了i行j列 转移的话就是枚举第k种颜色占据了几行几列 通过自身转移 然后其在内部的相对顺序是不确定的所以要乘以组合数 ...
- [转]一个研究生毕业以后的人生规划[ZZ]
只有选择去国内的大公司或外企才是出路 文章转载如下: 我今年39岁了, 25岁研究生毕业,工作14年,回头看看,应该说走了不少的弯路,有一些经验和教训.现在开一个小公司,赚的钱刚够养家糊口的.看看这些 ...
- 【开源小软件 】Bing每日壁纸 V1.2.1
Bing每日壁纸发布V1.2版本,下载地址Release V1.2.1 该小软件可以自动获取Bing的精美图片设置为壁纸,并且支持随机切换历史壁纸,查看壁纸故事. 本次新增国际化支持,以及桌面widg ...
- python常用内建模块--datetime
datetime模块中的datetime类: 获取当前时间:datetime.now() 当前操作系统时区时间,date.utctime(UTC时间) 转换成时间戳:timestamp() 和具体时区 ...
- Linux && 与 ||
一.&& && 表示前一条命令执行成功时,才执行后一条命令 ,如 echo '1‘ && echo '2' || 表示上一条命令执行失败后,才执行下一条 ...
- SqlServer 添加用户 添加角色 分配权限
转载自:https://www.cnblogs.com/accumulater/p/6158387.html --创建一个简单的登录,登录名为:newlogin:登录密码:123456:默认数据库 ...
- Unity 之 添加背景音乐 以及 Slider控制
游戏音频分为背景音乐与环境音乐两种.Audio Clip(音频剪辑)有四种音乐格式.MP3:适合较长音频,作为背景音乐.Ogg:适合较长音频,作为背景音乐.Wav:适合较短音频,作为环境音乐.Ai ...
- bootstrap table使用总结
使用bootstrap table可以很方便的开发后台表格,对数据进行异步更新,编辑.下面就来介绍一下bootstrap table的详细使用方法: 因为之前在官网也找了很久的教程,源码感觉隐藏的比较 ...
- 【转】一张图解析FastAdmin中的表格列表的功能
一张图解析FastAdmin中的表格列表的功能 功能描述请根据图片上的数字索引查看对应功能说明. 1.时间筛选器如果想在搜索栏使用时间区间进行搜索,则可以在JS中修改修改字段属性,如 {field: ...