应用级监控方案Spring Boot Admin

在这里插入图片描述

1.简介

Spring Boot Admin为项目常用的监控方式,可以动态的监控服务是否运行和运行的参数,如类的调用情况、流量等。其中分为server与client:

  • server: 提供展示UI与监控服务。
  • client:加入server,被监控的项目。

同时在监控的过程中spring-boot-starter-actuator也被经常提及,actuator使用后,会在被项目内部打上探针,提供一系列的监控api接口,如堆内存、栈内存等。下文数据为actuator提供。
在这里插入图片描述

2.server端

2.1 新建springboot项目

这里不多说常用方法新建springboot项目。

2.2 修改pom文件

由于使用了spring cloud alibaba生态,所以这里将nacos包也加入了,请自行选择。

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><optional>true</optional></dependency><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-server</artifactId><version>2.2.0</version></dependency><!-- SpringCloud Alibaba Nacos --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!-- SpringCloud Alibaba Nacos Config --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency></dependencies>

2.3 修改yml文件

server端暂无其他配置。

server:port: 8008servlet:context-path: /monitor
spring:application:name: monitor-resource # Eureka页面显示

2.4 修改

加入@EnableAdminServer注解。

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

访问ip:端口/context-path就可以访问了。页面如下。
在这里插入图片描述

3.client端

3.1 修改pom文件

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId><version>2.2.0</version></dependency>

3.2 修改yml文件

在有context-path情况下,需要加入特殊配置,否则报错。本文为nacos中的配置,请参考。

server:port: 8008servlet:context-path: /monitor
spring:application:name: monitor-resource boot:admin:client:api-path:url: http://127.0.0.1:8008/monitor  # 这里为server地址,如果有context-path需要加入instance:prefer-ip: true # 使用ip注册进来management-url: /monitorcloud:nacos:discovery:# 服务注册地址server-addr: ip:8848metadata:   # 如果有context-path需要加上,否者报错management:context-path: ${server.servlet.context-path}/actuatorconfig:# 配置中心地址server-addr: ip:8848# 配置文件格式file-extension: yml
management:  # actuator配置endpoint:health:show-details: alwaysendpoints:enabled-by-default: trueweb:exposure:include: '*'

启动后即可加入server服务,页面展示如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.Security

4.1 修改pom文件。

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency>

4.2 修改application.xml文件

加入登录账号密码。

spring:security:user:name: "admin"password: "1qaz@WSX"

4.3 新增登入登出配置

这里需要配置登入登出的页面地址,同其他博文相同配置。

@Configuration
public class SecuritySecureConfig extends WebSecurityConfigurerAdapter {private final String adminContextPath;public SecuritySecureConfig(AdminServerProperties adminServerProperties) {this.adminContextPath = adminServerProperties.getContextPath();}@Overrideprotected void configure(HttpSecurity http) throws Exception {// @formatter:offSavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();successHandler.setTargetUrlParameter( "redirectTo" );http.authorizeRequests().antMatchers( adminContextPath + "/assets/**" ).permitAll().antMatchers( adminContextPath + "/login" ).permitAll().anyRequest().authenticated().and().formLogin().loginPage( adminContextPath + "/login" ).successHandler( successHandler ).and().logout().logoutUrl( adminContextPath + "/logout" ).and().httpBasic().and().csrf().disable();}
}

再次登录可以看到需要账号登录。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/20391.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

遥感云大数据在灾害、水体与湿地领域案例实践及GPT【洪涝灾害、洪水敏感性和风险模拟、河道轮廓监测、地下水变化、红树林遥感制图】

近年来遥感技术得到了突飞猛进的发展&#xff0c;航天、航空、临近空间等多遥感平台不断增加&#xff0c;数据的空间、时间、光谱分辨率不断提高&#xff0c;数据量猛增&#xff0c;遥感数据已经越来越具有大数据特征。遥感大数据的出现为相关研究提供了前所未有的机遇&#xf…

换零钱II:Python代码解Java题目

银行现存零钱面值种类动态变化但数量无限&#xff0c;类方法change()完成指定金额的最少零钱个数兑换。 (本笔记适合学透python基本数据结构&#xff0c;熟悉class的基构造&#xff0c;对类内全局变量有一定认的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1…

从CPU缓存结构到原子操作

文章目录 一、CPU缓存结构1.1 CPU的多级缓存1.2 Cache Line 二、写回策略三、缓存一致性问题及解决方案3.1 缓存一致性问题3.2 解决方案3.2.1 总线嗅探3.2.2 事务的串行化3.2.3 MESI 四、原子操作4.1 什么是原子操作4.2 c 标准库的原子类型4.2.1 atomic<T\>4.2.2 is_lock…

这款语音同声翻译软件为你提供智能翻译体验

林娜&#xff1a;嘿&#xff0c;你知道吗&#xff1f;现在有很多语音翻译软件可以帮助我们进行实时的语言翻译&#xff01; 罗伟&#xff1a;真的吗&#xff1f;有什么语音翻译软件呢&#xff1f;能告诉我一些详情吗&#xff1f; 林娜&#xff1a;当然&#xff0c;接下来我将…

SpringBoot+JWT实现单点登录解决方案

一、什么是单点登录? 单点登录是一种统一认证和授权机制&#xff0c;指在多个应用系统中&#xff0c;用户只需要登录一次就可以访问所有相互信任的系统&#xff0c;不需要重新登录验证。 单点登录一般用于互相授信的系统&#xff0c;实现单一位置登录&#xff0c;其他信任的…

AI热潮中的黑马:曾经的显卡制造商是如何跻身AI巨头之列的?

导读&#xff1a;在芯片行业的风云变幻中,英伟达如何从一家显卡制造商翻身成为AI巨头?面对行业迭代速度极快、激烈竞争和显著的高成本特点,英伟达是如何构建属于自己的护城河,又是如何突破技术瓶颈,跑在前列的呢?他们是如何将"摩尔定律"推进到更高阶段创造出属于自…

性能测试工具 Jmeter 测试 Dubbo 接口脚本编写

目录 前言&#xff1a; 1、背景 2、工具准备 3、创建一个 maven 项目&#xff0c;此处可以创建一个 quickstart&#xff0c;参考截图 4、以上配置完毕后&#xff0c;开始撸代码 5、上面那个类是不需要从 jmeter 中获取参数&#xff0c;如果要从 jmeter 中获取相关的参数&…

bio、nio、aio、io多路复用

BIO-同步阻塞IO NIO-同步非阻塞IO 不断的重复发起IO系统调用&#xff0c;这种不断的轮询&#xff0c;将会不断地询问内核&#xff0c;这将占用大量的 CPU 时间&#xff0c;系统资源利用率较低 IO多路复用模型-异步阻塞IO IO多路复用模型&#xff0c;就是通过一种新的系统调用&a…

实现跨语言互动:如何在Python中调用Java的JavaParser库解析Java源代码

1、背景 在多语言开发环境中&#xff0c;我们经常需要进行跨语言的操作。有时&#xff0c;我们可能会在Python环境下需要使用Java的库或者功能。这个博客将展示如何在Python中调用Java的JavaParser库来解析Java源代码。 2、需求 在许多软件开发场景中&#xff0c;我们可能需…

如何在MySQL中安装示例数据库sakila

就像 SQLServer 示例数据库一样,MySQL 也有示例数据库,比如sakila;Sakila 数据库最初由 MySQL AB 文档团队的前成员 Mike Hillyer 开发,旨在提供一个标准模式,可用于书籍、教程、文章、示例等中的示例,它包含示例视图、存储过程和触发器。 以下是在服务器上安装sakila数…

【NLP】使用 LSA、PLSA、LDA 和 lda2Vec 进行主题建模

一、说明 本文是对主题建模及其相关技术的更新全面概述。在自然语言理解&#xff08;NLU&#xff09;任务中&#xff0c;有一个镜头层次结构&#xff0c;通过它我们可以提取含义 - 从单词到句子到段落到文档。在文档级别&#xff0c;理解文本的最有用方法之一是分析其主题&…

springboot 集成Druid的监控数据库连接池的最佳实践

免费的chatgpt福利送上 http://124.220.104.235:31105/web/chatgpt 1.数据库连接池介绍 1.1JDBC数据库连接池的必要性 在使用开发基于数据库的web程序时&#xff0c;传统的模式基本是按以下步骤 在主程序&#xff08;如servlet、beans&#xff09;中建立数据库连接 进行sql…