springBootAdmin监控内存日志堆栈

news2024/9/21 14:32:51

概述

我的spring-boot版本:2.7.7
我的spring-boot-admin版本:2.7.10
jdk:1.8

平时测试环境服务不多的情况下,用linux命令看下日志和堆栈也不麻烦。但是要是服务数量上来了,有10几个服务这个时候用命令看已经有点麻烦了。特别是对于上了微服务的项目来说,服务更多。

可以用springBootAdmin方便我们日常监控服务情况.

springBootAdmin大致就是起一个服务端接收客户端的注册,然后通过利用springbootactuator接口抓取客户端的具体服务信息.

server

先上pom依赖,我这边对应的版本号声明在父pomdependencyManagement中了,要单独部署的话,需要声明下version.

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

        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
        </dependency>

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


        <!--springboot admin 安全相关-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

yml配置
为了安全搞了个密码,需要配置下拦截器

server:
  port: 9090
spring:
  application:
    name: adminserver
  security:
    user:
      name: admin
      password: ccc123456

拦截器

package com.xxx.xxx.config;

import de.codecentric.boot.admin.server.config.AdminServerProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
import org.springframework.security.web.csrf.CookieCsrfTokenRepository;

@Configuration
public class SecuritySecureConfig extends WebSecurityConfigurerAdapter {

    private final String adminContextPath;

    public SecuritySecureConfig(AdminServerProperties adminServerProperties) {
        this.adminContextPath = adminServerProperties.getContextPath();
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
        successHandler.setTargetUrlParameter("redirectTo");
        successHandler.setDefaultTargetUrl(adminContextPath + "/");
        http.authorizeRequests()
                //1.配置所有静态资源和登录页可以公开访问
                .antMatchers(adminContextPath + "/assets/**").permitAll()
                .antMatchers(adminContextPath + "/login").permitAll()
                .anyRequest().authenticated()
                .and()
                //2.配置登录和登出路径
                .formLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and()
                .logout().logoutUrl(adminContextPath + "/logout").and()
                //3.开启http basic支持,admin-client注册时需要使用
                .httpBasic().and()
                .csrf()
                //4.开启基于cookie的csrf保护
                .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
                //5.忽略这些路径的csrf保护以便admin-client注册
                .ignoringAntMatchers(
                        adminContextPath + "/instances",
                        adminContextPath + "/actuator/**"
                );
    }

}

然后访问 localhost:9090就可以用配置的namepassword登录spring-boot-admin的监控了.

client

client就比较简单了,

先上springBootAdmin相关依赖

<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>
</dependency>

yml配置

--- # Actuator 监控端点的配置项
management:
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: ALWAYS
    logfile:
      external-file: /logs/xxx-xxx/sys-console.log


--- # 监控中心配置
spring.boot.admin.client:
  # 增加客户端开关
  enabled: true
  url: http://localhost:9090
  instance:
    service-host-type: IP
  #和server端的配置对应
  username: admin
  password: ccc123456

运行client后就可以在spring boot admin的管理界面看到服务注册上来了,然后就能在界面上看到日志,堆栈相关信息了

在这里插入图片描述

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

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

相关文章

安装了pyintaller后出现:‘pyinstaller‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

2023年7月31日&#xff0c;周一上午 我昨天晚上也遇到了这个问题&#xff0c;后来解决了 目录 出错原因解决方法怎么找到Scripts文件夹 出错原因 出现这个错误是因为你没给python的Scripts文件夹添加环境变量&#xff0c; Scripts存放着pip安装包时产生的可执行文件。 解决…

线性代数的学习和整理2:线性代数的基础知识(整理ing)

目录 0 写在前面的话 网上推荐的线性代数的课程 1 线性代数和矩阵的各种概念 1.1 各种逻辑图 2 关于线性代数入门的各种灵魂发问 2.1 什么是线性&#xff0c;什么是线性相关 &#xff1f; 为什么叫线性变换&#xff1f; 为什么叫线性代数&#xff1f; 2.2 线性代数是人造…

轻量级的工作流引擎:提质增效+灵活简便+拖拽式设计

低代码开发市场现在正是蓬勃发展的时期&#xff0c;由于低代码技术平台能够为当代企业节省很多宝贵时间&#xff0c;实现提质增效的办公效率&#xff0c;因此获得了大家的认可与喜爱。其中&#xff0c;工作流引擎是当中的主要功能&#xff0c;其拖拽式设计、易操作等优势特点也…

Linux 学习记录60(ARM篇)

Linux 学习记录60(ARM篇) 本文目录 Linux 学习记录60(ARM篇)一、SPI总线1. 概念2. 硬件连接 二、SPI总线协议三、SPI总线通信模式四、对比IIC总线和SPI总线1. 相同点2. 不同点 思维导图 一、SPI总线 1. 概念 1、SPI总结是Motorola首先提出的全双工三线/四线同步串行总线 2、采…

财务管理软件:推动企业数字化转型的关键驱动力

数字化转型是当下热议的话题&#xff0c;如今许多企业纷纷走向了数字化转型的道路。到底什么是数字化转型呢&#xff1f;财务管理软件如何帮助企业实现数字化转型&#xff1f; 什么是数字化转型&#xff1f; 数字化转型的核心要义是要将适应物质经济的发展方式转变为适应数字经…

二十、像素流送,软件即游戏,SaaG时代到来

有了像素流送插件,就可以在远程计算机上运行虚幻引擎应用,并将其渲染效果和音频流送到任意平台的现代网页浏览器上。此外,还可以在浏览器上与流互动,遥控虚幻引擎应用。 1、启用像素流插件 虚幻编辑器的主菜单中选择 编辑(Edit) > 插件(Plugins),在图像(Graph…

各大互联网公司面经分享:Java 全栈知识 +1500 道大厂面试真题

这篇文章给大家分享一下我遇到的一些质量较高的面试经历&#xff0c;具体经过就不多说了&#xff0c;就把面试题打出来供各位读者老哥参考如有不全的地方&#xff0c;各位海涵。 猿辅导 八皇后问题 求二叉树的最长距离(任意两个节点的路径 中最长的) lru 算法的实现 设计一…

第二季度财报超预期,利润率大幅提高,Meta股价将进一步上涨

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 总结&#xff1a; &#xff08;1&#xff09;Meta&#xff08;META&#xff09;公布了强劲的第二季度财报&#xff0c;超出市场预期&#xff0c;利润率也大幅提高&#xff0c;导致其股价上涨了5%。 &#xff08;2&#xf…

“程序员求职攻略:IT技术岗面试的必备技巧“

文章目录 每日一句正能量前言分享面试IT公司的小技巧IT技术面试有哪些常见的问题&#xff1f;分享总结遇到过的面试题后记 每日一句正能量 人活一世&#xff0c;不在乎朋友多少&#xff0c;不问财富几车&#xff0c;关键看在你最困难的时候&#xff0c;是否有一个伸出援手的人&…

URP基于GL的Unity物体网格线绘制方法参考

直接上代码&#xff1a; using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering;public class GLWireMesh : MonoBehaviour {[Serializable]public class IntPair{public int a;public int b;public IntPair(int a, int b){this.a…

jenkins自定义邮件发送人姓名

jenkins发送邮件的时候发送人姓名默认的&#xff0c;如果要自定义发件人姓名&#xff0c;只需要修改如下信息即可&#xff1a; 系统管理-system-Jenkins Location下的系统管理员邮件地址 格式为&#xff1a;自定义姓名<邮件地址>

洞悉安全现状,建设网络安全防护新体系

一、“网络攻防演练行动“介绍 国家在2016年发布《网络安全法》&#xff0c;出台网络安全攻防演练相关规定&#xff1a;关键信息基础设施的运营者应“制定网络安全事件应急预案&#xff0c;并定期进行演练”。同年“实战化网络攻防演练行动”成为惯例。由公安部牵头&#xff0…

【2023年11月第四版教材】《第1章-信息化发展之<1信息与信息化>》

第01章-信息化发展 1 信息与信息化 大部分为新增内容&#xff0c;预计选择题考4分&#xff0c;案例和论文不考。本章与第三版相同内容将斜体表示。 1 信息与信息化 1、信息是物质、能量及其属性的标示的集合&#xff0c;是确定性的增加。 2、控制论的创始人维纳认为:信息就是信…

easyui主表子表维护页面

easyui主表子表维护页面 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>Title</title><!-- <#include "common.html"/> --><link rel"stylesheet" type&quo…

win10浏览器无法选择双面打印解决方案

win10浏览器无法选择双面打印解决方案 应用场景&#xff1a;当我打开wps设置双面打印某个pdf文件时&#xff0c;屏幕提示我要手动翻页进行双面打印&#xff1f;&#xff01;&#xff01;&#xff01;什么情况。那就使用浏览器打开pdf文件进行打印吧&#xff0c;但是竟然没有双…

兼容性在APP开发中的重要性:一个不可忽视的因素

APP开发过程中&#xff0c;有许多因素需要考虑。其中一个是兼容性。如果 APP无法运行&#xff0c;用户将无法使用它&#xff0c;或者他们无法完成自己的工作。这对用户和公司来说都是非常令人沮丧的。 许多 APP开发公司都有能力解决兼容性问题。然而&#xff0c;一些公司甚至没…

SAP abap sql 语句执行无结果

有些情况下&#xff0c;我们的sql语句执行之后&#xff0c;却没有得到结果&#xff0c;可能是因为条件不对 原因是SAP 中se16n看见的值可能经过转换&#xff0c;例如下面的SQL&#xff0c;就会执行失败&#xff0c;因为SH 实际上是WE转换过来的&#xff0c;这时候我们需要点开详…

C++继承特性(4)——友元与静态

目录 一.继承与友元的关系 二.继承与静态成员的关系 先回顾一下静态成员变量&#xff1a; 运行TestPerson()函数&#xff1a; 测试案例2&#xff1a; 三.练习题&#xff1a; 一.继承与友元的关系 友元关系不能被继承&#xff0c;也就是说父类中的友元函数不能访问子类私…

IT职场笔记

MySQL笔记之一致性视图与MVCC实现 一致性读视图是InnoDB在实现MVCC用到的虚拟结构&#xff0c;用于读提交&#xff08;RC&#xff09;和可重复度&#xff08;RR&#xff09;隔离级别的实现。 一致性视图没有物理结构&#xff0c;主要是在事务执行期间用来定义该事物可以看到什…

Python爬虫+数据可视化:分析唯品会泳衣数据详情

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 唯品会是中国领先的在线特卖会电商平台之一&#xff0c;它以“品牌特卖会”的模式运营&#xff0c;为会员提供品牌折扣商品。 唯品会的商品包括服装、鞋类、箱包、美妆、家居、母婴、食品等各类品牌产品。 这就是今天…