学习笔记:JavaEE开发的颠覆者SpringBoot实战(十一)应用监控

039-安全开发-JavaEE应用&SpringBoot框架&Actuator监控泄漏&Swagger自动化 小迪安全2023笔记 阅读详情

一. http

Spring-boot-actuator module 可帮助您在将应用程序投入生产时监视和管理应用程序。您可以选择使用 HTTP 端点或 JMX 来管理和监控您的应用程序。Auditing, health, and metrics gathering 也可以自动应用于您的应用程序。

添加依赖,开启监控

<dependencies>
    <dependency>
        <groupid>org.springframework.boot</groupid>
        spring-boot-starter-actuator</artifactid>
    </dependency>
</dependencies>

特性

Endpoints

Actuator endpoints 允许你去监控和操作你的应用。SpringBoot包含了许多内置的端点,当然你也可以添加自己的端点。比如 health 端点就提供了基本的应用健康信息。

Metrics

Spring Boot Actuator 提供 dimensional metrics 通过集成 Micrometer.

Audit

Spring Boot Actuator 有一套灵活的审计框架会发布事件到 AuditEventRepository。

2.0 更新

基础路径更新

基础路径由 / 调整到 /actuator 下

启动端点 endpoint

默认只启动了 health 和 info 端点,可以通过 application.yml 配置修改:

management:
    endpoints:
        web:
        exposure:
           include: health,info,env,metrics

项目启动时可以看到暴露出来的接口信息:

 

主要的端点

HTTP方法路径描述鉴权
GET/autoconfig查看自动配置的使用情况true
GET/configprops查看配置属性,包括默认配置true
GET/beans查看bean及其关系列表true
GET/dump打印线程栈true
GET/env查看所有环境变量true
GET/env/{name}查看具体变量值true
GET/health查看应用健康指标false
GET/info查看应用信息false
GET/mappings查看所有url映射true
GET/metrics查看应用基本指标true
GET/metrics/{name}查看具体指标true
POST/shutdown关闭应用true
GET/trace查看基本追踪信息true

通过web访问暴露的端点

https://localhost:8077/actuator/metrics

 

{"names":["jvm.memory.max","process.files.max","jvm.gc.memory.promoted","tomcat.cache.hit","system.load.average.1m","tomcat.cache.access","jvm.memory.used","jvm.gc.max.data.size","jvm.memory.committed","system.cpu.count","logback.events","tomcat.global.sent","jvm.buffer.memory.used","tomcat.sessions.created","jvm.threads.daemon","system.cpu.usage","jvm.gc.memory.allocated","tomcat.global.request.max","tomcat.global.request","tomcat.sessions.expired","jvm.threads.live","jvm.threads.peak","tomcat.global.received","process.uptime","tomcat.sessions.rejected","process.cpu.usage","tomcat.threads.config.max","jvm.classes.loaded","jvm.gc.pause","jvm.classes.unloaded","tomcat.global.error","tomcat.sessions.active.current","tomcat.sessions.alive.max","jvm.gc.live.data.size","tomcat.servlet.request.max","tomcat.threads.current","tomcat.servlet.request","process.files.open","jvm.buffer.count","jvm.buffer.total.capacity","tomcat.sessions.active.max","tomcat.threads.busy","process.start.time","tomcat.servlet.error"]}

https://localhost:8077/actuator/metrics/jvm.memory.max

 

{"name":"jvm.memory.max","measurements":[{"statistic":"VALUE","value":3.455057919E9}],"availableTags":[{"tag":"area","values":["heap","nonheap"]},{"tag":"id","values":["Compressed Class Space","PS Survivor Space","PS Old Gen","Metaspace","PS Eden Space","Code Cache"]}]}

Micrometer

Springboot2 在 spring-boot-actuator 中引入了 micrometer ,对 1.x 的 metrics 进行了重构,另外支持对接的监控系统也更加丰富( Atlas、Datadog、Ganglia、Graphite、Influx、JMX、NewRelic、Prometheus、SignalFx、StatsD、Wavefront )。

Prometheus

SpringBoot2.x中的Prometheus应用

Influx

添加依赖

<dependency>
    <groupid>io.micrometer</groupid>
    <artifactid>micrometer-registry-influx</artifactid>
</dependency>

二. JMX

在控制台调用java内置的jconsole来实现JMX监控

打开cmd --> 输入命令:jconsole --> 在jconsole弹出页面选择相应的进程 --> 点击连接

 

三.SSH

spring boot 2.X弃用

SpringBoot从零到精通:JavaEE开发实战全流程 除了内置注解,还可实现Condition接口来自定义判断逻辑:@Override// 使用方式该方式适用于企业内部中间件的灰度发布、功能开关等高级场景。掌握自动配置原理的最终目的,是为了能够将其应用于实际项目中,开发出符合团队规范的通用能力封装。接下来将以“日志初始化模块”为例,完整演示如何从零构建一个可发布的自定义自动配置。目标:创建一个自动配置类,用于根据配置自动初始化 Logback 并添加 MDC 插槽。 阅读详情

相关推荐

从零到一:R与RStudio的安装与配置全攻略

本文提供了R与RStudio的完整安装与配置指南,涵盖Windows、Mac和Linux三大操作系统。从基础环境搭建到高级性能优化,详细介绍了R语言安装、RStudio配置、项目管理和实用技巧,帮助数据科学初学者快速搭建高效的分析工作环境。

weixin_29062671的博客 419

Prometheus监控Java服务,通过Grafana工具将JVM参数可视化,样式4701参数解读

Grafana中JVM模板4701参数含义 https://grafana.com/grafana/dashboards/4701 ID:4701 Quick Facts(概览) Uptime:进程启动时长 Start Time:启动时间 Heap used:堆内存使用率 Java 虚拟机具有一个堆(Heap),堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。 对象的堆内存由称为垃圾回收器的自动内存管理系统回收。堆的大小可以固定,也可以扩大和缩小。堆的内存不

dongxuhao的博客 9117

泛微ecology9 利用字段值动态控制明细表显示与隐藏

本文详细介绍了在泛微ecology9中,如何利用WfForm.bindFieldChangeEvent监听字段变化,结合jQuery动态控制明细表显示与隐藏的实战方法。通过五步操作,可实现根据字段值(如报销类型)智能切换明细表,提升表单交互体验与开发效率,并确保PC与移动端完美兼容。

7z8x2c4v6b9的博客 585

《GC篇》七、GC 调优(实战篇)

7. GC 调优(实战篇)高分配速率(High Allocation Rate)如何测量分配速率?分配速率的意义示例高分配速率对JVM的影响解决方案过早提升(Premature Promotion)如何测量提升速率提升速率的意义示例过早提升的影响解决方案Weak, Soft 及 Phantom 引用弱引用的缺点示例使用非强引用的影响解决方案其他示例RMI 与 GCJVMTI tagging 与 G...

笑小枫 1397

记一次从零到getshell的渗透历程

0x00 前期 拿到测试范围清单后,首先用脚本获取了下各个子站的标题,基本都是XXX管理系统。浏览器查看后,各个子站也大同小异,纯登录系统,带验证码。这些系统基本都是jsp写的,逮到了两个没有验证码的小宝贝,一番暴力破解,小宝贝对我说:别爱我,没结果。又看到了两个站返回的Set-Cookie头:rememberMe=deleteMe; 很明显,这是Apache Shiro。打了一波exp,没有反应,放弃。搞了三天啥都没搞出来,和女朋友出去玩散散心,还是很高兴。 0x01 初显进展 测试范围内有六个门户

CanMeng'Blog - 一个WEB安全渗透的技术爱好者 3968

华为OD新系统机试真题 - API请求日志去重分析

华为OD新系统机试真题【API请求日志去重分析】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD4月15号机试真题【API请求日志去重分析】

qq_45776114的博客 914

JVM (Micrometer)-4701面板参数介绍

grafana JVM (Micrometer)-4701面板参数介绍

拾年一剑 的专栏 1967

8-阿里云服务器 ECS配置R及Studio Server

步骤概览:(首先要明确自己的系统然后进行安装)

hx2024的博客 1570

SpringBoot3+Micormeter监控应用指标

Start time: JVM启动时间 - 即:根据该指标可以知道目前程序启动的时间Uptime: JVM运行时间 - 即:根据该指标可以知道目前程序运行时长通过以上步骤,你已经成功地将 Spring Boot 应用的监控数据集成到 Prometheus 中。Micrometer 作为监控库,提供了丰富的功能,可以帮助你监控应用的各个方面。你可以根据自己的需求,进一步扩展和自定义监控指标。

★【World Of Moshow 郑锴】★ 2480

手把手教你学Simulink——基于Simulink的输入输出线性化精确转矩控制

由于IOFL控制律中实时引入了当前状态的反馈(id​,iq​,ωe​),电感的变化被非线性项自动补偿,转矩仅出现微小幅度的波动(< 2%),展现出极强的参数鲁棒性。:电压方程中的耦合项(ωe​Lq​iq​和 −ωe​Ld​id​)仅通过前馈补偿,当转速 ωe​较高时,微小的前馈误差会导致显著的d-q轴电流交叉耦合;其中,ud​,uq​为定子电压,id​,iq​为定子电流,Rs​为定子电阻,Ls​为定子电感,ωe​为电角速度,ψf​为永磁体磁链,p为极对数。(步长 Ts​=10μs,即100ns?

MHD0815的博客 82

【PCIe 总线及设备入门学习专栏 3.2.2 -- PCIe 中什么是 SR-IOV】

SR-IOV(Single Root I/O Virtualization)是 PCIe 规范中的一种技术,允许物理 PCIe 设备(称为 Physical Function, PF)虚拟化为多个虚拟设备(称为 Virtual Functions, VFs),使多个操作系统或虚拟机能够共享同一个物理设备。SR-IOV:一种 PCIe 虚拟化技术,允许将一个物理 PCIe 设备虚拟化为多个虚拟设备。:物理设备的主要管理接口。:PF 的轻量级副本,分配给虚拟机或操作系统。

CodingCos的博客 1513

【G1GC调优】应用minor GC频繁,major GC偶发,容器重启

认识问题 【业务背景】某个Java业务应用,所有容器实例每天重启一次,minor GC频繁,major GC偶发。 现象是业务每隔30分钟会从商品域拉取全量商品和SKU数据,更新到缓存中。业务侧短期内不好解决这个

简放视野的专栏 1888

真随机数与伪随机数

前面我们学习了LFSR,这个玩意落地到具体的应用是什么呢?没错是寄存器,这里在网络找到了几个回答,这里做个记录,下面一起来学习一下吧。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 1062

JavaEE开发的颠覆者 Spring Boot实战

网站 更多书籍点击进入>> CiCi岛 下载 电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍 电子书下载(皮皮云盘-点击“普通下载”) 购买正版 封页 内容简介 在当今Java EE 开发中,Spring 框架是当之无愧的王者。而Spring Boot 是Spring 主推的基于“习惯优于配置”的原则,让你能够快速搭建应用的框架,从而使得Ja...

CiCi岛的专栏 1514

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

JavaEE开发的颠覆者SpringBoot实战完整清晰版PDF资源下载介绍

JavaEE开发的颠覆者SpringBoot实战完整清晰版PDF资源下载介绍 去发现同类优质开源项目:https://gitcode.com/ 在现代JavaEE开发领域,SpringBoot以其简洁、高效的特性,彻底改变了传统开发模式。以下是《JavaEE开发的颠覆者SpringBoot实战完整清晰版PDF》资源下载的详细介绍,帮助您快速掌握SpringBoot的核心功能及场景应用。 项目介绍 ...

gitblog_06706的博客 477

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

java ee颠覆者怎么样,JavaEE开发的颠覆者读后感摘抄

《JavaEE开发的颠覆者》是一本由汪云飞著作,电子工业出版社出版的平装图书,本书定价:89.00元,页数:524,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助。《JavaEE开发的颠覆者》精选点评:●1 有些潦草,就当技术参考点翻一遍好了 2 实战中过来借鉴,非常感谢,入门最好的书,先从思维上进入springboot的世界●主要介绍spring boot,后面有稍微介绍了下sprin...

weixin_35788914的博客 215

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

JavaEE颠覆者:spring-boot实战随书源码

在当今Java EE 开发中,Spring 框架是当之无愧的王者。而Spring Boot 是Spring 主推的基于“习惯优于配置”的原则,让你能够快速搭建应用的框架,从而使得Java EE 开发变得异常简单。 《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Bo

lice1010的博客 2862

J2EE开发的颠覆者SpringBoot快速入门!

使用“约定优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。

anguser 4008

第39天:安全开发-JavaEE应用&SpringBoot框架&Actuator监控泄漏&Swagger自动化

功能:数据库操作,文件操作,序列化数据,身份验证,框架开发,第三方组件使用等.框架库:MyBatis,SpringMVC,SpringBoot,Shiro,Log4j,FastJson等技术:Servlet,Listen,Filter,Interceptor,JWT,AOP,反射机制待补充安全:SQL注入,RCE执行,反序列化,脆弱验证,未授权访问,待补充安全:原生开发安全,第三方框架安全,第三方组件安全等,架构分析,待补充1、JavaEE-SpringBoot-监控系统-Actuator。

m0_74930529的博客 1424

《javaEE 开发的颠覆者,Spring boot实战》

本书简介 1 推荐使用@configuration @bean 的Java配置来替代xml。 2 习惯优于配置的原则。快速搭建项目 3 在第一部分,介绍了快速Spring4.x各个知识点:基础配置、常用配置、高级配置等。 4 在第二部分,介绍了Spring MVC 的各个知识点。 5 在第三部分,才是核心的介绍Spring boot。 Spring boot 核心 -各种配置

a314773862的博客 7697

《JavaEE开发的颠覆者:Spring Boot实战》笔记

待写

philsonzhao的博客 295

第50天:Web开发-JavaEE应用&SpringBoot栈&Actuator&Swagger&HeapDump&提取自动化

泄漏应用接口:用户登录,信息显示,上传文件等(swagger泄露的接口很多,无法一一测试,需要根据泄露的api接口名字,有针对性的去测试)接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端要先出接口文档,前端根据接口文档来进行项目的开发,双方开发结束后可。参考:https://blog.youkuaiyun.com/lsqingfeng/article/details/123678701。3.X版本访问路径:http://ip:port/swagger-ui/index.html。

wusaicyq的博客 1299

Web开发-JavaEE应用&SpringBoot栈&Actuator&Swagger&HeapDump&提取自动化

知识点: 1、安全开发-JavaEE-常见依赖-Actuator&Swagger 2、安全开发-JavaEE-安全问题-配置安全&接口测试

SuperherRo的博客 1215

学习笔记:JavaEE开发的颠覆者SpringBoot实战(五)spring boot基础

一.概述 1.什么是spring boot 它使用“习惯优于配置”的理念让你的项目快速运行起来。使用它很容易创建一个独立运行,准生产级别的基于spring框架的项目,使用它可以不用或者只需很少的spring配置。 2.spring boot核心功能 独立运行的spring项目:可以以jar包独立运行,运行命令:java -jar xx.jar 内嵌servlet容器:可以选择内嵌tomc...

java_shm的专栏 410

【第39课】安全开发-JavaEE应用&SpringBoot框架&Actuator监控泄漏&Swagger自动化

111功能:数据库操作,文件操作,序列化数据,身份验证,框架开发,第三方组件使用等.框架库:MyBatis,SpringMVC,SpringBoot,Shiro,Log4j,FastJson等技术:Servlet,Listen,Filter,Interceptor,JWT,AOP,反射机制待补充安全:SQL注入,RCE执行,反序列化,脆弱验证,未授权访问,待补充安全:原生开发安全,第三方框架安全,第三方组件安全等,架构分析,待补充。

Lucker_YYY的博客 1139
上一篇: 学习笔记:JavaEE开发的颠覆者SpringBoot实战(十)开发部署与测试
下一篇: 文件上传下载相关处理
夜未眠shm
博客等级 码龄14年 15粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值