Spring Boot Admin监控中心详细讲解
你心心念念想得到的人,也许正是别人已经玩腻了的人!!!所以,我们现在正在想学习的东西,正是人家已经玩了很久已经很腻的人了~~~所以现在立刻马上开始
Spring Boot Admin 是个什么东东?为什么要用他?
Spring Boot Admin简介:
Spring Boot Admin 是一个管理和监控Spring Boot 应用程序的开源软件。每个应用都认为是一个客户端,通过HTTP或者使用 Eureka注册到admin server中进行展示,Spring Boot Admin UI部分使用AngularJs将数据展示在前端。
Spring Boot Admin 是一个针对spring-boot的actuator接口进行UI美化封装的监控工具。他可以:在列表中浏览所有被监控spring-boot项目的基本信息,详细的Health信息、内存信息、JVM信息、垃圾回收信息、各种配置信息(比如数据源、缓存列表和命中率)等,还可以直接修改logger的level。
这篇文章给大家介绍如何使用Spring Boot Admin对Spring Boot应用进行监控。
Admin Server: pom文件引入admin-server、admin-server-ui
<dependencies><!-- <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency> --><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-server</artifactId><version>1.5.6</version></dependency><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-server-ui</artifactId><version>1.5.6</version></dependency></dependencies>
配置文件:
server.port=8070
服务启动类:
package com.inspire.efficacy.admin;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;import de.codecentric.boot.admin.config.EnableAdminServer;@SpringBootApplication
@EnableAdminServer
public class SpringBootAdminApp {public static void main(String[] args) {SpringApplication.run(SpringBootAdminApp.class, args);}
}
服务启动,浏览器访问:http://10.2.8.42:8070/
Admin Client:
配置文件信息:
spring.boot.admin.url=http://10.2.8.42:8070
management.security.enabled=false
pom文件依赖关系:
<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId><version>1.5.6</version></dependency>
启动类:
package com.inspire.efficacy.basicdata;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.transaction.annotation.EnableTransactionManagement;@EnableDiscoveryClient
@SpringBootApplication
@EnableTransactionManagement
public class EfficiencyBasicdataApp {public static void main(String[] args) {SpringApplication.run(EfficiencyBasicdataApp.class, args);}
}
配置完成之后,启动Client端服务,再次访问服务:http://10.2.8.42:8070
可以看到客户端的相关信息:
首页会展示被监控的各个服务,点击详情可以查看某个服务的具体监控信息
通过上图可以看出,Spring Boot Admin以图形化的形式展示了应用的各项信息,这些信息大多都来自于Spring Boot Actuator提供的接口。
===================至此,spring boot admin就全部配置完成了=====================================
把项目放到linux服务器上后,就完全不好使了。
服务器是A、B两台,A主要放admin server B主要放admin client,问题出现在 admin server上注册的admin client
显示http://localhost:2100 所有的服务都是offline ,查询资料是因为注入监控中心是根据hosts里面的名称来找的,所有
vim /etc/hosts改掉对应关系就可以了。
============================================================================================
接下来我们给监控中心加登录页,避免裸奔,以及生产环境避免所有人都可以登录
首先pom文件增加
<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-server-ui-login</artifactId><version>1.5.6</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId><version>1.4.5.RELEASE</version></dependency>
增加配置信息:
package com.inspire.efficacy.admin.config;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.builders.WebSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true, proxyTargetClass = true)
public class SecuritySecureConfig extends WebSecurityConfigurerAdapter {private static Logger logger = LoggerFactory.getLogger(SecuritySecureConfig.class);@Overridepublic void configure(WebSecurity web) throws Exception {//忽略css.jq.img等文件web.ignoring().antMatchers("/**.html","/**.css", "/img/**", "/**.js","/third-party/**");}@Overrideprotected void configure(HttpSecurity http) throws Exception { logger.info("configure method has been invoked start...");http.csrf().disable() //HTTP with Disable CSRF.authorizeRequests() //Authorize Request Configuration.antMatchers( "/login","/api/**","/**/heapdump","/**/loggers","/**/liquibase","/**/logfile","/**/flyway","/**/auditevents","/**/jolokia").permitAll() //放开"/api/**":为了给被监控端免登录注册并解决Log与Logger冲突.and().authorizeRequests().antMatchers("/**").hasRole("USER").antMatchers("/**").authenticated().and() //Login Form configuration for all others.formLogin().loginPage("/login.html").loginProcessingUrl("/login").permitAll().defaultSuccessUrl("/").and() //Logout Form configuration.logout().deleteCookies("remove").logoutSuccessUrl("/login.html").permitAll().and().httpBasic();logger.info("configure method has been invoked end...");}}
application.properties文件中:
server.port=8070
spring.application.name=Spring Boot Admin Web
spring.boot.admin.url=http://localhost:${server.port}
#\u8BA9\u63A7\u5236\u5668\u8F93\u51FA\u7684json\u683C\u5F0F\u66F4\u7F8E\u89C2
spring.jackson.serialization.indent-output=true
#\u5141\u8BB8\u533F\u540D\u7528\u6237\u5B8C\u5168\u8BBF\u95EEhealth\u7AEF\u70B9
endpoints.health.sensitive=false
#spring boot default user.name='user'
security.user.name=admin
#spring boot dafault user.password \u9879\u76EE\u542F\u52A8\u65F6\u6253\u5370\u5728\u63A7\u5236\u53F0
security.user.password=admin
security.basic.enabled=false
management.security.enabled=false
所有的配置都加上后,访问localhost:8070 可以完全访问登录页:
Spring Boot Admin监控中心详细讲解相关推荐
- Spring Boot Admin:微服务应用监控
摘要 Spring Boot Admin 可以对SpringBoot应用的各项指标进行监控,可以作为微服务架构中的监控中心来使用,本文将对其用法进行详细介绍. Spring Boot Admin 简介 ...
- Spring Boot Admin的使用
文章目录 配置Admin Server 配置admin client 配置安全主键 Hazelcast集群 Spring Boot Admin的使用 前面的文章我们讲了Spring Boot的Actu ...
- 《深入理解 Spring Cloud 与微服务构建》第十五章 微服务监控 Spring Boot Admin
<深入理解 Spring Cloud 与微服务构建>第十五章 微服务监控 Spring Boot Admin 文章目录 <深入理解 Spring Cloud 与微服务构建>第十 ...
- 五分钟学会 Spring Boot Admin:微服务应用监控(小白必看,一看就会教程)
Spring Boot Admin:微服务应用监控 Spring Boot Admin 简介 监控信息演示 结合注册中心使用 功能演示 添加登录认证 文末福利 Spring Boot Admin 可以 ...
- Spring Boot Admin 2.1.0 全攻略
点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! Spring Boot Admin是一个开源社区项目,用于管理和监控SpringBoot应用程序. ...
- Spring Boot Admin –用于管理Spring Boot应用程序的Admin UI
作为微服务开发的一部分,我们许多人都将Spring Boot与Spring Cloud功能一起使用. 在微服务领域,我们将有许多Spring Boot应用程序将在相同/不同的主机上运行. 如果将Spr ...
- MOSS 代替Spring Boot Admin 的服务治理工具
1.1 什么是服务治理 服务治理,我也称之为微服务治理,是指用来管理微服务的整个生命周期.包括应用的创建,服务名的规范,服务的上下线,服务的迁移,整个服务的生老病死等方方面面的治理. 1.2 Moss ...
- Spring Boot Admin工程搭建(Eureka)
其实网上有很多资料都说得很详细,但有时按照他们的例子去做了,就会出现各种各种的问题,归其原因,是因为版本的问题,所以我来贴一下完整的示例. 先来看看pom文件 <?xml version=&qu ...
- SpringBoot实战(十三):Spring Boot Admin 动态修改日志级别
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 之前关于线上输出日志一直有个困惑:如何可以动态调整的日志级别,来保证系统在正常运行时性 ...
最新文章
- 分布式消息队列Kafka集群安装
- QT的QDesignerContainerExtension类的使用
- Spring字段依赖注入示例
- mysql dml ddl优先级_MYSQL入门操作和常规DML、DDL、DQL使用
- 多线程Thread类创建多线程
- 在CentOS 6安装Mysql问题
- Kaldi AMI数据集脚本学习4---train_mono.sh
- 4K视频在线看,网速跟不上怎么办?
- 启动Flume Agent出现“A fatal error occurred while running“解决方法
- 数字证书格式转换:.key和.crt转换成.pem格式
- imac 升级 ssd_如何在较旧的2007-2009 iMac中安装SSD
- [狗子的PM之路]数据埋点
- 一次买房子血淋淋的教训
- 数据结构学习(考研408)
- mahout第一篇-----Mahout学习路线图
- 垃圾收集器回收种类 以及七种垃圾收集器
- Word2013使用 插入题注的方式为word自带编辑器编辑的公式进行编号
- openssl s_server s_client 相关命令参数
- linux命令:nl命令
- 使用html与css实现一个漂亮的网页
热门文章
- Linux mail命令使用和sendmail配置
- 速看!2022年6月编程语言排行榜出炉!第一名太牛啦
- STM32H743使用PA0,PA1作为ADC输入的坑!!
- 如何制作Excel斜线表头
- Excel基础操作(数据分析)归纳笔记
- 易基因|Science:单细胞甲基化测序鉴定哺乳动物的新神经元亚型和调节元件
- python混淆矩阵,详解使用python绘制混淆矩阵(confusion_matrix)
- java中什么叫服务?
- su切换特别慢 linux,秋明 | 系统su切换用户时间非常长
- linux u盘空间越小 写入越慢,解决U盘容量变小问题