应用级监控方案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.mzph.cn/news/2363.shtml

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

相关文章

dataframe基础操作

目录 用法&#xff1a;DataFrame.drop(labelsNone,axis0, indexNone, columnsNone, inplaceFalse) 参数说明&#xff1a; labels 就是要删除的行列的名字&#xff0c;用列表给定 axis 默认为0&#xff0c;指删除行&#xff0c;因此删除columns时要指定axis1&#xff1b; index…

【Git 快速了解】

Git简单了解 一、控制系统 分布式版本控制系统 git 集中式版本控制系统 svn cvs二、安装Git sudo apt install git sudo apt search git 三、配置git环境 参数&#xff1a;–globle :长命令表示配置整个git环境 git config --global user.name “你的用户名” git config -…

torch中 contiguous(), .view(), .reshape(), .permute(), .transpose()的区别与联系

文章目录 1、张量的数据存储2、张量的连续性&#xff1a;contiguous3、.view() 和 .reshape()4、.permute() 和 .transpose()5、总结 1、张量的数据存储 在pytorch中&#xff0c;张量的存储实际上分为两个部分&#xff0c;一部分是张量的头信息&#xff0c;包括张量的shape&am…

随手笔记——Ceres 求解曲线拟合问题

这里写目录标题 说明步骤源代码 说明 Google Ceres 是一个广泛使用的最小二乘问题求解库。在 Ceres 中&#xff0c;只需按照一定步骤定义待解的优化问题&#xff0c;然后交给求解器计算即可。 步骤 定义每个参数块。 参数块通常为平凡的向量&#xff0c;但是在 SLAM 里也可以…

vue3,elementPlus和自己封装,点击 新增添加表单,删除表单,提交数据

ElementPlus下的form也有新增表单 如果你写H5等没找到合适的 自己也可以进行封装 实现3个代码讲解:1&#xff1a;ElementPlus的代码 2&#xff1a;自己书写的代码 3&#xff1a;自己把2的代码进行封装 1&#xff1a;ElementPlus的运行效果 点击提交 1&#xff1a;ElementPlus…

BrowserRouter刷新404解决方案

1、本地开发环境 在js脚本命令里加上 --history-api-fallback "scripts": {"serve": "webpack serve --config webpack.dev.js --history-api-fallback" }2、生产环境&#xff0c;可以修改 nglnx 配置&#xff1a; server {listen XXXX; //端口号…

Python教程(3)——python开发工具vscode的下载与安装

Python的开发工具有很多款&#xff0c;很多都是非常好用的&#xff0c;其中vscode作为其中一款Python的开发工具&#xff0c;是非常轻量级的&#xff0c;今天我们来介绍一下vs code的下载与安装。 vscode的下载与安装 首先需要到vscode的官网&#xff0c;这个谷歌或者百度一下…

Windows上传ios dsym到Bugly

首先下载符号表工具腾讯 Bugly SDK下载 (qq.com) dsym 可以在 wIndow-Organizer-找到版本 右键show In Finder buglyqq-upload-symbol.jar 在上面得文件同级目录下 进入cmd 输入一下命令 需要修改成你自己得信息 java -jar buglyqq-upload-symbol.jar -appid d83b04b3c3 -ap…

hadoop分布式系统复习题 选择题

1、以下哪一项不属于 Hadoop 可以运行的模式&#xff1f; 互联模式 2、下面哪个程序负责 HDFS 数据存储&#xff1f; Datanode 3、HDFS 中的 block 默认保存__3 _份。 4、配置Hadoop时&#xff0c;JAVA_HOME包含在哪一个配置文件中 hadoop-env.sh 。 5、 Hadoop fs中的-get和-p…

VSCode 注释后光标快速定位下一行

VSCode默认用 Ctrl / 注释一行时&#xff0c;光标停留在该行中。下面介绍如何注释后&#xff0c;光标会自动移动到下一行。 1.【View】 ->【Extensions】->【查找并安装Multi-command 扩展】 2.【File 】 -> 【Preferences 】->【Keyboard Shortcuts】&#xff08…

【人工智能】xAI——“X宇宙”又增添了一位新成员

个人主页&#xff1a;【&#x1f60a;个人主页】 &#x1f31e;热爱编程&#xff0c;热爱生活&#x1f31e; 文章目录 前言xAI团队成员做解开宇宙本质的AI 前言 有人问他&#xff0c;xAI公司是干啥的&#xff1f;马斯克的回答引用了其偶像、科幻作家道格拉斯・亚当斯的话&…

Python实现将pdf,docx,xls,doc,wps,zip,xlsx,ofd链接下载并将文件保存到本地

前言 本文是该专栏的第31篇,后面会持续分享python的各种干货知识,值得关注。 在工作上,尤其是在处理爬虫项目中,会遇到这样的需求。访问某个网页或者在采集某个页面的时候,正文部分含有docx,或pdf,或xls,或doc,或wps,或ofd,或xlsx,或zip等链接。需要你使用python自…

写给前端工程师的Dart教程(3):类的基础与命名构造函数

题解 | #删除链表峰值# 更多关于算法题解、软件开发面经、机器学习算法面经、各企业面试问题记录&#xff0c;关注Fintech砖&#xff0c;持续更新中。https://www.nowcoder.com/use 题解 | #牛群的重新分组# 链表模拟题 知识点链表模拟题意分析以k个结点为一组翻转链表, 剩下…

【运维小知识】(四)——linux常用命令

运维专栏&#xff1a;运维小知识 目录 1.&#x1f341;&#x1f341;用mv命令修改文件名 2.&#x1f343;&#x1f343;创建及删除文件夹即文件夹下所有文件 3.&#x1f342;&#x1f342;移动文件夹并重命名 4.&#x1f33f;&#x1f33f;复制文件 5.&#x1f344;&#x…

Python 算法基础篇之字符串操作:索引、切片、常用方法

Python 算法基础篇之字符串操作&#xff1a;索引、切片、常用方法 引言 1. 字符串的概念和创建2. 字符串的索引3. 字符串的切片4. 字符串的常用方法 a ) 查找子字符串 b ) 替换子字符串 c ) 拆分和连接字符串 总结 引言 字符串是一种常见的数据类型&#xff0c;在 Python 中对…

ARM微控制器 AM2432BSEFHIALXR、AM2432BSFFHIALV技术参数(32位MCU)

1、AM2432BSEFHIALXR 32位MCU采用293引脚FCCSP封装&#xff0c;工作频率最高可达800MHz。该微控制器专为需要结合处理和实时通信的工业应用而构建&#xff0c;例如远程I/O模块和电机驱动器。 核心处理器&#xff1a;ARM Cortex-M4F&#xff0c;ARM Cortex-R5F 内核规格&#xf…

pytest 禁用警告信息(忽略警告信息输出)

如图示例代码&#xff0c;提示test_001这个case 存在警告 新增pytest.ini 配置文件 [pytest] filterwarnings errorignore::UserWarning

携带时间戳主动写入数据到prometheus service(可乱序、go)

使用到的github公开项目 https://github.com/castai/promwrite Prometheus版本2.45.0 拉下来装依赖&#xff0c;然后使用 client_test.go t.Run(“write with custom options”, func(t *testing.T) 这个测试用例里面&#xff0c;删掉srv初始化的部分&#xff0c;这个是模拟一…

本地生活直播,和电商直播有什么不一样?

直播正在成为零售业的标配&#xff0c;当下最新的一条赛道是“本地生活直播”。 &#xff08;商家开始在美团等平台进行本地生活直播。摄影&#xff1a;李崧稷&#xff09; 今年618&#xff0c;在老牌电商平台拉着无数网店&#xff0c;拼尽全力想要堆高销量的时候&#xff0c;一…

微信小程序导入微信地址

获取用户收货地址。调起用户编辑收货地址原生界面&#xff0c;并在编辑完成后返回用户选择的地址。 1&#xff1a;原生微信小程序接口使用API&#xff1a;wx.chooseAddress(OBJECT) wx.chooseAddress({success (res) {console.log(res.userName)console.log(res.postalCode)c…