Spring Boot Admin

概述

Spirng Boot Admin 登录页面
  • Spring Boot Admin是一个用于管理Spring Boot应用的监控工具,它允许你查看和管理多个Spring Boot应用实例。用于应用信息进行界面化的展示,常常辅助我们开发人员快速查看服务运行状态
  • 在微服务架构中,Spring Boot Admin通常作为一个独立的微服务运行,作为监控服务端可以单独部署和启动
  • 但在我们公司内部微服务架构中,我们使用Spring Boot Admin与Eureka注册中心进行集成,以便自动发现并监控注册在Eureka中的服务实例。这种集成方式可以减少对客户端应用的单独配置,实现更加自动化和集中化的监控管理

监控功能

  • 显示应用程序的监控状态
  • 应用程序上下线监控(部署过50+应用到正式环境时用于确定应用是否发布成功)
  • 查看 JVM,线程信息(遇到OOM时使用过)
  • 可视化的查看日志以及下载日志文件
  • 动态切换日志级别
  • Http 请求信息跟踪
  • 其他功能点……

项目实战

创建一个标准的springboot项目

pom添加依赖

<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-server</artifactId><version>版本号</version>
</dependency>

yml配置Spring Boot Admin Server属性

bootstrap/application.yml配置SpringBoot Admin Server属性:端口号,服务名,用户登录信息等

# 端口
server:port: 90040 
spring:application:name: monitor-server# config client 配置中心configprofiles:active: prodcloud:config:fail-fast: trueusername: configpassword: cofinglabel: trunkprofile: ${spring.profiles.active} #prod  # 取哪個版本的配置文件#uri: http://localhost:9090/ # Config Server URI, 无Eureka Server才需要配置discovery:enabled: trueservice-id: cdp-config-serverinetutils:ignored-interfaces: # 配置Eureka Client註冊到Eureka服務器時,需要忽略的網卡清單。僅針對運行環境(主機)存在多網卡的情景。- "docker.*"  # 忽略并避免使用docker網卡IP註冊- "veth.*"    # 忽略并避免使用docker環境下容器的虛擬網卡- "virbr0"    # 忽略并避免使用 KVM創建的提供NAT模式網卡IP註冊 - "kbr0"      # 忽略并避免使用自定義的基於OpenvSwitch技術構建的docker物理主機通信虛擬網IP註冊- "VMware.*"  # 忽略并避免使用vmware網卡IP註冊main:allow-bean-definition-overriding: truemanagement:endpoints:web:exposure:include: "*"endpoint:health:show-details: ALWAYS# 和Eureka instance进行集成
eureka:instance:prefer-ip-address: trueinstance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${server.port}# 注意:如果应用存在上下文,则必须设置health-check-url-path和status-page-url-path#health-check-url: http://${spring.cloud.client.ip-address}:${server.port}${server.servlet.context-path}/actuator/healthhealth-check-url-path: /actuator/health#status-page-url: http://${spring.cloud.client.ip-address}:${server.port}${server.servlet.context-path}/actuator/infostatus-page-url-path: /actuator/infohome-page-url-path: /metadata-map:management:context-path: /actuator  # spring boot admin获取客户端的默认端点路径前缀为"/actuator":因为客户端有上下文路径,故需要通过eureka client告知admin serveruser:  # 如果不配置则无法获取 /actuator/health信息,提示401name: monitor  #SpringBootAdmin本身作为一个Eureka客户端被发现,这里由于SpringBootAdmin需要进行登录,因此,此处配置SpringBootAdmin登录时使用的用户名password: monitor2024.--- # prod为正式Docker配置环境,使用"---"间隔不同环境
spring:profiles: prod
eureka:client:serviceUrl: defaultZone:  http://admin:admin.@peer1:8761/eureka/,http://admin:admin.@peer2:8762/eureka/  # 高可用地址
在config配置中心动态拉取springboot admin服务应用对应的配置文件信息:
spring:# 安全配置security:user:name: monitor# password: ENC(YTz0WOWB8fm4wvHNRsjKoHxFNo3T64D1)password: monitor2024.#jasypt 正式环境需要加密,对应ENC(YTz0WOWB8fm4wvHNRsjKoHxFNo3T64D1)
#jasypt:#encryptor:#password: monitor2024 # 密钥盐/passsword salt

创建启动类

package com.monitor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import com.ulisesbocchio.jasyptspringboot.annotation.EnableEncryptableProperties;
import de.codecentric.boot.admin.server.config.EnableAdminServer;/*** * @ClassName: MonitorApplication* @Description: 应用监控服务端启动类* @author test**/
@SpringBootApplication
@EnableAutoConfiguration
@EnableAdminServer
@EnableDiscoveryClient
@EnableEncryptableProperties
public class MonitorApplication {public static void main( String[] args ){SpringApplication.run(MonitorApplication.class, args);}
}

启动主启动类

Spring Boot Admin Server启动后,通过http:localhost(或者部署的服务器IP):90040/,随后输入正确登录用户信息(monitor/monitor2024),验证通过后我们就可以查看已经正常启动的服务以及对应的运行状态等信息~

应用配置信息

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

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

相关文章

微信小程序:6.事件

什么事事件 事件就是渲染层到逻辑层的通讯方式&#xff0c;比如提交表单&#xff0c;按钮点击都可以看作一个事件。 小程序中常用的事件 事件对象属性列表 当事件回调时&#xff0c;会收到一个事件对象event&#xff0c;他详细属性如夏表所示&#xff1a; target和curren…

微信小程序关于主包大小不能超过1.5MB的问题

常规的解决办法有以下几种 1、把资源文件改成远程服务器的&#xff0c;比如png这些 2、进入如图的分析页面&#xff0c;能明确知道你哪个插件包太大&#xff0c;我这里之前echart的包就1mb&#xff0c;现在给他缩减到了500kb的样子 3、解决vant等npm包太大的问题&#xff0c…

map与forEach的区别

JavaScript中的map和forEach都是数组原型上的方法&#xff0c;它们都可以用来遍历数组&#xff0c;但是它们之间存在一些基本的区别&#xff1a; 1.map方法&#xff1a; map会创建一个新数组&#xff0c;其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。 它返回…

SpringSecurity + Oauth2 + jwt实现单点登录

文章目录 前言一、springsecurity oauth2 redis方式的缺点二、oauth2认证的4种模式的选择三、认证服务器的编写 第一步、创建WebSecurity配置类第二步、创建jwt仓库配置类第三步、创建UserDetailsService类第四步、创建认证服务器配置类 四、测试认证服务器的功能 1.创建Login…

【文章复现】基于主从博弈的社区综合能源系统分布式协同 优化运行策略

随着能源市场由传统的垂直一体式结构向交互竞争型 结构转变,社区综合能源系统的分布式特征愈发明显,传统 的集中优化方法难以揭示多主体间的交互行为。该文提出一 种基于主从博弈的社区综合能源系统分布式协同优化运行 策略,将综合能源销售商作为领导者,新能源冷热电联供运…

vivado 使用“链路 (Links)”窗口查看和更改链路设置

使用“链路 (Links) ”窗口查看和更改链路设置 创建链路后 &#xff0c; 就会将其添加到“ Links ”视图 &#xff08; 请参阅下图 &#xff09; 中 &#xff0c; 该视图是更改链路设置和查看状态的主要方法 &#xff0c; 也是最佳方法。 “ Links ”窗口中的每一行都对应 1 …

Qt窗口全屏显示方法

要在Qt中设置窗口全屏显示&#xff0c;可以采取以下方法&#xff1a; 使用showFullScreen()方法&#xff1a; 对于QWidget对象&#xff0c;可以直接调用showFullScreen()方法来实现全屏显示。 QWidget w; w.showFullScreen();使用setWindowState()方法&#xff1a; 可以通过…

5、Flink事件时间之Watermark详解

1&#xff09;生成 Watermark 1.Watermark 策略简介 为了使用事件时间语义&#xff0c;Flink 应用程序需要知道事件时间戳对应的字段&#xff0c;即数据流中的每个元素都需要拥有可分配的事件时间戳。 通过使用 TimestampAssigner API 从元素中的某个字段去访问/提取时间戳。…

新媒体运营-----短视频运营-----PR视频剪辑----抠像及美颜磨皮

新媒体运营-----短视频运营-----PR视频剪辑-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/138079659 文章目录 1. 超级键抠像绿(蓝)幕背景2. 常规视频抠像3. 美颜磨皮 1. 超级键抠像绿(蓝)幕背景 如果我们的素材是在摄影棚进行…

sql server判断表是否存在,要是存在删除

在 SQL Server 中&#xff0c;你可以使用系统视图或者查询系统表来判断表是否存在&#xff0c;并且可以通过 DROP TABLE 语句来删除表。以下是对应的操作示例&#xff1a; 判断表是否存在 使用系统视图 sys.tables&#xff1a; IF EXISTS (SELECT * FROM sys.tables WHERE n…

积极应对半导体测试挑战 加速科技助力行业“芯”升级

在全球半导体产业高速发展的今天&#xff0c;中国“芯”正迎来前所未有的发展机遇。AI、5G、物联网、自动驾驶、元宇宙、智慧城市等终端应用方兴未艾&#xff0c;为测试行业带来新的市场规模突破点&#xff0c;成为测试设备未来重要的增量市场。新兴领域芯片产品性能不断提升、…

Java8 Stream常见用法

Stream流的常见用法&#xff1a; 1.利用stream流特性把数组转list集合 //定义一个数组Integer[] array {5,2,1,6,4,3};//通过stream特性把数组转list集合List<Integer> list Arrays.stream(array).collect(Collectors.toList());//打印结果System.out.println(list);…

Socket套接字(TCP流)篇

Socket套接字 ServerSocketSocket案例演示小结 ServerSocket ServerSocket是创建TCP服务端Socket的API. ServerSocket构造方法: 方法签名方法说明ServerSocket(int port)创建一个服务端套接字Socket,并绑定到指定端口 ServerSocket方法: 方法签名方法说明Socket accept()开始…

在Ubuntu上安装JDK(Java Development Kit)

1、更新索引包在终端中执行以下命令&#xff0c;更新包索引&#xff1a; sudo apt update2、安装默认JDK版本&#xff1a;在Ubuntu 20.04及以上版本中&#xff0c;默认提供 OpenJDK作为JDK的选择。可以通过以下命令安装OpenJDK&#xff1a; sudo apt install default-jdk 这…

浅谈数据库、数据仓库、数据湖

这几年随着大数据的来临&#xff0c;数据仓库&#xff0c;数据湖炒的火热&#xff0c;但是他们跟传统的数据库有什么区别&#xff0c;今天我来简单的梳理一下他们的区别&#xff0c;如有不完整之处&#xff0c;请大家留言补充。 数据库、数据仓库和数据湖的定义 数据库&#…

Kubernetes - CentOS7搭建k8s_v1.18集群高可用(kubeadm/二进制包部署方式)实测配置验证手册

Kubernetes - CentOS7搭建k8s集群高可用&#xff08;kubeadm/二进制包部署方式&#xff09;实测配置验证手册 前言概述&#xff1a; 一、Kubernetes—k8s是什么 Kubernetes 这个名字源于希腊语&#xff0c;意为“舵手“或”飞行员"。 Kubernetes&#xff0c;简称K8s&#…

计算机网络大框架图形

如标题&#xff0c;精心画了一个计算机网络的框架性的图&#xff0c;包含了计算机网络的核心思想&#xff0c;在此分享和备份下。各层具体协议参考TCP/IP常用协议栈图解-CSDN博客

[论文阅读] 3D感知相关论文简单摘要

Adaptive Fusion of Single-View and Multi-View Depth for Autonomous Driving 提出了一个单、多视图融合深度估计系统&#xff0c;它自适应地集成了高置信度的单视图和多视图结果 动态选择两个分支之间的高置信度区域执行融合 提出了一个双分支网络&#xff0c;即一个以单…

uniapp 微信小程序 获取openid,手机号进行登录,配合后端

流程&#xff1a;登录注册功能,通过uni.getUserProfile获取wxcode,通过wxcode传给后端获取openid,sessionkey,unionid。 通过<u-button type"success" open-type"getPhoneNumber" getphonenumber"decryptPhoneNumber">一键登录</u-butt…

HTML批量文件上传方案——图像预览方式

作者:私语茶馆 1.HTML多文件上传的关键方案 多文件上传包括:文件有效性校验,文件预览、存储和进度展示多个方面,本章节介绍的是文件预览的实现方案。 2.文件上传前预览 2.1.效果 选择文件前: 选择文件后: 2.2.CSS文件代码 StorageCenter.css代码 html {font-family:…