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 配置中心config
  profiles:
    active: prod
  cloud:
    config:
      fail-fast: true
      username: config
      password: cofing
      label: trunk
      profile: ${spring.profiles.active} #prod  # 取哪個版本的配置文件
      #uri: http://localhost:9090/ # Config Server URI, 无Eureka Server才需要配置
      discovery:
        enabled: true
        service-id: cdp-config-server
        
    inetutils:
      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: true

management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: ALWAYS
    
# 和Eureka instance进行集成
eureka:
  instance:
    prefer-ip-address: true
    instance-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/health
    health-check-url-path: /actuator/health
    #status-page-url: http://${spring.cloud.client.ip-address}:${server.port}${server.servlet.context-path}/actuator/info
    status-page-url-path: /actuator/info
    home-page-url-path: /
    metadata-map:
      management:
        context-path: /actuator  # spring boot admin获取客户端的默认端点路径前缀为"/actuator":因为客户端有上下文路径,故需要通过eureka client告知admin server
      user:  # 如果不配置则无法获取 /actuator/health信息,提示401
        name: 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),验证通过后我们就可以查看已经正常启动的服务以及对应的运行状态等信息~

应用配置信息

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

中科院突破:TalkingGaussian技术实现3D人脸动态无失真,高效同步嘴唇运动!

DeepVisionary 每日深度学习前沿科技推送&顶会论文分享&#xff0c;与你一起了解前沿深度学习信息&#xff01; 引言&#xff1a;探索高质量3D对话头像的新方法 在数字媒体和虚拟互动领域&#xff0c;高质量的3D对话头像技术正变得日益重要。这种技术能够在虚拟现实、电影…

谷粒商城实战(020 RabbitMQ-消息确认)

Java项目《谷粒商城》架构师级Java项目实战&#xff0c;对标阿里P6-P7&#xff0c;全网最强 总时长 104:45:00 共408P 此文章包含第258p-第p261的内容 消息确认 生产者 publishers 消费者 consumers 设置配置类 调用api 控制台 抵达brocker 代理 新版本ReturnCallbac…

【webrtc】MessageHandler 8: 基于线程的消息处理:处理音频输入输出断开

m98代码,看起来m114 去掉了MessageHandler :音频的录制和播放 都使用了on message,但只是用来通知并处理流的断开的。AAudioRecorder AAudioRecorder 处理流断开 OnErrorCallback :有可能 错误回调是别处来的,是其他线程, 但是这个错误的处理要再自己的线程执行: 音频播…

北京大学肖臻老师《区块链技术与应用》P14(ETH概述)和P15(ETH账户)

1️⃣ 参考 北京大学肖臻老师《区块链技术与应用》 P14 - ETH概述篇P15 - ETH账户篇 1️⃣4️⃣ETH概述 ① 比特币与以太坊的对比 比特币&#xff08;区块链 1.0&#xff09;以太坊&#xff08;区块链 2.0&#xff09;出块时间大约10 min十几秒mining puzzle计算密集型Memo…

【计算智能】基本遗传算法在优化问题中的应用与实验【理论到程序】

文章目录 1. 引言&#xff1a;遗传算法简介2. 基本遗传算法&#xff08;SGA&#xff09;2.1 基本遗传算法的构成要素1. 染色体编码2. 适应度函数3. 遗传算子 2.2 实验设计与方法1. 算法流程2. 伪代码3. python实现1. 导入模块2. 目标函数 f(x)3 初始化种群4. 计算适应度5. 选择…

Django后台项目开发实战二

我们的需求是开发职位管理系统 三个功能&#xff1a; 管理员发布职位候选人能浏览职位用户能投递职位 第二阶段 创建应用 jobs&#xff0c;实现职位数据的建模 python manage.py startapp jobs 然后再 setting .py 注册应用&#xff0c;只需添加应用名称到最后一行 INST…

VTK —— 二、教程六 - 为模型加入3D微件(按下i键隐藏或显示)(附完整源码)

代码效果 本代码编译运行均在如下链接文章生成的库执行成功&#xff0c;若无VTK库则请先参考如下链接编译vtk源码&#xff1a; VTK —— 一、Windows10下编译VTK源码&#xff0c;并用Vs2017代码测试&#xff08;附编译流程、附编译好的库、vtk测试源码&#xff09; 教程描述 本…

探索未来道路:智慧高速系统架构的革命性进步

随着科技的飞速发展&#xff0c;智慧高速系统架构正在成为道路交通领域的一项重要创新。这一系统结合了先进的信息技术和智能化设备&#xff0c;为高速公路提供了全新的管理和服务模式&#xff0c;极大地提升了交通运输效率和安全性。本文将深入探讨智慧高速系统架构的革命性进…

ping命令操作记录

1&#xff0c;ping 主机可查看主机是否在线 2&#xff0c;ping -a参数&#xff0c;解析主机的名称 3&#xff0c;ping -r 跟踪打印路由信息 ping命令的作用&#xff1a;确认目标主机是否存活&#xff0c;确定网络是否畅通 ping的原理&#xff1a;ping发送ICMP&#xff08;互联…

【算法】【贪心算法】【leetcode】870. 优势洗牌

题目地址&#xff1a;https://leetcode.cn/problems/advantage-shuffle/description/ 题目描述&#xff1a; 给定两个长度相等的数组 nums1 和 nums2&#xff0c;nums1 相对于 nums2 的优势可以用满足 nums1[i] > nums2[i] 的索引 i 的数目来描述。 返回 nums1 的任意排列&…

Open CASCADE学习|BRepFill_SectionPlacement

BRepFill_SectionPlacement 是一个与计算机辅助设计&#xff08;CAD&#xff09;相关的术语&#xff0c;通常用于指代一个几何对象或操作&#xff0c;它是Open CASCADE Technology&#xff08;OCCT&#xff09;中的一个类。Open CASCADE Technology是一个开源的CAD内核&#xf…

AnomalyGPT——使用大型视觉语言模型进行工业异常检测的算法解析与应用

1.概述 工业缺陷检测是工业自动化和质量控制中的一个重要环节&#xff0c;其目的是在生产过程中识别和分类产品或组件中的缺陷&#xff0c;以确保最终产品的质量满足既定标准。这项技术的应用可以显著提高生产效率&#xff0c;降低成本&#xff0c;并减少由于缺陷产品导致的潜…

数据挖掘之基于K近邻算法的原油和纳斯达克股票数据预测分析

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 在当今日益复杂的金融市场中&#xff0c;准确地预测原油价格和纳斯达克股票市场的走势对于投资者、政…

【docker 】Windows10安装 Docker

安装 Hyper-V Hyper-V 是微软开发的虚拟机&#xff0c;仅适用于 Windows 10。 按键&#xff1a; win键X &#xff0c;选着程序和功能 在查找设置中输入&#xff1a;启用或关闭Windows功能 选中Hyper-V 点击确定 安装 Docker Desktop for Windows Docker Desktop 官方下载…

【漏洞复现】zookeeper AdminServer 未授权访问漏洞

0x01 产品简介 ZooKeeper 是一个集中式服务&#xff0c;用于维护配置信息、命名、提供分布式同步和提供组服务。ZooKeeper的AdminServer是其管理界面的一部分&#xff0c;通常用于监控ZooKeeper集群的状态和执行一些管理操作。AdminServer提供了Web-based的管理和监控功能&…

Springboot+Vue项目-基于Java+MySQL的入校申报审批系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

从MySQL+MyCAT架构升级为分布式数据库,百丽应用OceanBase 4.2的感受分享

本文来自OceanBase的客户&#xff0c;百丽时尚的使用和测试分享 业务背景 百丽时尚集团&#xff0c;作为国内大型时尚鞋服集团&#xff0c;在中国超过300个城市设有直营门店&#xff0c;数量超过9,000家。集团构建了以消费者需求为核心的垂直一体化业务模式&#xff0c;涵盖了…

Nginx实现端口转发与负载均衡配置

前言&#xff1a;当我们的软件体系结构较为庞大的时候&#xff0c;访问量往往是巨大的&#xff0c;所以我们这里可以使用nginx的均衡负载 一、配置nginx实现端口转发 本地tomcat服务端口为8082 本地nginx端口为8080 目的&#xff1a;将nginx的8080转发到tomcat的8082端口上…

SpringCloud学习笔记(二)Ribbon负载均衡、Nacos注册中心、Nacos与Eureka的区别

文章目录 4 Ribbon负载均衡4.1 负载均衡原理4.2 源码解读4.3 负载均衡策略4.3.1 内置的负载均衡策略4.3.2 自定义负载均衡策略4.3.2.1 方式一&#xff1a;定义IRule4.3.2.2 方式二&#xff1a;配置文件 4.4 饥饿加载 5 Nacos注册中心5.1 认识和安装Nacos5.2 服务注册到Nacos5.3…

Bert基础(二十一)--Bert实战:文本摘要

一、介绍 1.1 文本摘要简介 文本摘要&#xff08;Text Summarization&#xff09;&#xff0c;作为自然语言处理&#xff08;NLP&#xff09;领域的一个分支&#xff0c;其核心目标是从长篇文档中提取关键信息&#xff0c;并生成简短的摘要&#xff0c;以提供对原始内容的高度…