当前位置: 首页 > news >正文

Melody 监控(四十九)

当新的世界出现,请立即向他奔去

上一章简单介绍了Spring Boot Actuator详解(四十八), 如果没有看过,请观看上一章

一. JavaMelody

一.一 什么是 Java Melody

JavaMelody是一个方便的JavaJavaEE Web 应用程序监控工具

它允许自动存储由 Web 应用程序的实际操作产生的统计数据和错误,以供以后评估。

JavaMelody 很容易集成到应用程序本身中,因此无需安装或修改 Web 服务器配置。

需要注意的是,JavaMelody 工具并不是用来产生数据的,它的功能是对应用程序的实际运行进行测量和统计
它主要基于用户自己使用应用程序的请求统计和演化图的管理。如您所见,它主要用于质量或生产环境。

JavaMelody 在开源许可下分发,可以安全地在生产环境中的应用程序中使用。
JavaMelody 很容易集成到大多数应用程序中(不需要配置文件或数据库)并且相当轻量级。
JavaMelody 可以安全地激活,因为它在工具和我们的应用程序之间创建了一个几乎透明的层。
它不会在性能方面产生任何类型的下降。

一.二 JavaMelody 为我们提供了哪些信息?

正如我们在介绍中所讨论的,JavaMelody 是一种工具,

用于根据用户的使用情况测量和计算有关应用程序实际性能的统计信息。

它允许优化应用程序,有助于:

  1. 获取有关平均响应时间和执行次数的数据。
  2. 在趋势不好时做出决定,避免出现重大问题。
  3. 找出响应时间最有限的原因。
  4. 验证优化产生的实际改进。

统计图表:

包含的图表显示了以下指标随时间的演变:

  • http 查询、sql 查询、jsf 或 strut 操作、jsf 页面或业务外观方法产生的执行次数、平均执行时间和错误百分比。
  • java内存
  • 中央处理器 Java。
  • 用户会话数和 jdbc 连接数。

image-20230608170152614

指标统计:

预定义计数器(http 查询、sql 查询、jsf 或 strut 操作、jsf 页面或业务外观方法)的统计信息包含在以下信息中:

执行次数、平均执行时间、CPU 时间和错误百分比的摘要。
这些请求超过某个阈值的时间百分比。
对于每个 http 请求,它指示响应流的大小、平均 sql 执行次数和平均 sql 时间。

image-20230608170231358

系统信息:

image-20230608170330965

二. 与老系统整合,添加监控

二.一 pom.xml 添加依赖

  <!--添加 javamelody监控--><dependency><groupId>net.bull.javamelody</groupId><artifactId>javamelody-spring-boot-starter</artifactId><version>1.91.0</version></dependency>

二.二 application.yml 配置

# javamelody 监控
javamelody:# 启用JavaMelody自动配置(可选,默认值:true)enabled: true# 要从监视中排除的数据源名称(可选,以逗号分隔)#  excluded-datasources: secretSource,topSecretSource# 启用对Spring服务和控制器的监视(可选,默认值:true)spring-monitoring-enabled: true# JavaMelody的初始化参数(可选)# See: https://github.com/javamelody/javamelody/wiki/UserGuide#6-optional-parametersinit-parameters:# 记录http请求log: true# 从监视中排除图像,css,字体和js网址url-exclude-pattern: (/webjars/.*|/css/.*|/images/.*|/fonts/.*|/js/.*)# 汇总http请求中的数字#http-transform-pattern: \d+# 添加基本身份验证,没有生效# authorized-users: admin:{SHA-256}6ca13d52ca70c883e0f0bb101e425a89e8624de51db2d2392593af6a84118090# authorized-users: admin:abc123# 更改默认存储目录:#storage-directory: /tmp/javamelody# 更改默认的“ / monitoring”路径:#monitoring-path: /admin/performance

二.三 启动验证

端口是 8082 , 项目路径为 /

http://localhost:8082/monitoring 查看监控

请添加图片描述

二.四 相应配置

二.四.一 修改访问路径

init-parameters:# 记录http请求log: true# 从监视中排除图像,css,字体和js网址url-exclude-pattern: (/webjars/.*|/css/.*|/images/.*|/fonts/.*|/js/.*)# 汇总http请求中的数字#http-transform-pattern: \d+# 更改默认的“ / monitoring”路径:monitoring-path: /admin/performance

之前的链接会变成 404

image-20230608170933662

采用新地址进行访问:

http://localhost:8082/admin/performance

image-20230608171027407

二.五 在放置到 linux 遇到的问题

二.五.一 与 Spring Security 关联时

image-20230608171855086

image-20230608171919831

二.五.二 监控资源后端报错 500

image-20230608172012636

发现,没有字体

解决方案: 安装 FontConfig 组件

yum install fontconfig
fc-cache --force

重启 Java 应用, 这个时候就会展示出来了, 但会发现,图片是乱码的.

二.五.三 解决图片乱码问题

参考教程: https://blog.csdn.net/Darling_qi/article/details/120485688

主要原因是 Linux 系统不支持中文

  1. 安装 Linux 字体程序
yum -y install fontconfig
  1. 查看已经安装的字体 和支持中文的字体
查看已安装的字体:fc-list
查看已安装的中文字体:fc-list :lang=zh
  1. 安装中文字体

在 /usr/share/fonts 目录下处理, 如果没有的话,创建该目录

mkdir -p /usr/share/fonts
  1. 引入字体文件

在 windows 系统中, 找到 msyh.ttc和msyhbd.ttc 2个文件

image-20230608172638067

直接将字体文件上传到该目录下即可

  1. 安装字体索引
yum install mkfontscale
  1. 生成字体索引
mkfontscale
  1. 验证结果

image-20230608172753010

重启 Java 应用,发现中文字体是正常的,乱码问题解决。

image-20230608172922028


谢谢您的观看,如果喜欢,请关注我,再次感谢 !!!

相关文章:

Melody 监控(四十九)

当新的世界出现&#xff0c;请立即向他奔去 上一章简单介绍了Spring Boot Actuator详解(四十八), 如果没有看过,请观看上一章 一. JavaMelody 一.一 什么是 Java Melody JavaMelody是一个方便的Java或JavaEE Web 应用程序监控工具。 它允许自动存储由 Web 应用程序的实际操…...

Shell脚本管道符常用搭配命令

1.sort sort命令——以行为单位对文件内容进行排序&#xff0c;也可以根据不同的数据类型来排序比较原则是从首字符向后&#xff0c;依次按ASCII码值进行比较&#xff0c;最后将他们按升序输出。 sort [选项] 文件名 cat file | sort [选项] 常用选项 选项作用-n按照数字进行…...

基于html+mysql+Spring+mybatis+Springboot的Springboot宠物医院管理系统

运行环境: 最好是java jdk 1.8&#xff0c;我在这个平台上运行的。其他版本理论上也可以。 IDE环境&#xff1a; Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以&#xff0c;如果编译器的版本太低&#xff0c;需要升级下编译器&#xff0c;不要弄太低的版本 tomcat服务器环…...

算法模板(3):搜索(5):其他

搜索 模拟退火 模拟退火一个很关键的是&#xff0c;看看枚举到每一个方案是不是可能的。 3167. 星星还是树 在二维平面上有 n 个点&#xff0c;第 i 个点的坐标为 ( x i , y i ) (x_i,y_i) (xi​,yi​)。请你找出一个点&#xff0c;使得该点到这 n 个点的距离之和最小。这…...

AWS CodeWhisperer 心得体会:安装与使用

大家好&#xff0c;今天我要和大家分享一下我在使用 AWS CodeWhisperer 这个工具时的心得体会。首先&#xff0c;让我们了解一下什么是 AWS CodeWhisperer。 什么是 AWS CodeWhisperer&#xff1f; AWS CodeWhisperer 是一个用于帮助开发者在 AWS 云平台上更轻松地编写、测试…...

高级查询 — 子查询

关于嵌套查询&#xff08;子查询&#xff09; 1.概述 子查询是在一个查询中嵌套另一个查询的查询语句。内部查询从外部查询或数据库中提取数据&#xff0c;然后使用这些数据来执行内部查询。出现在其他语句中的 select 语句&#xff0c;称为嵌套查询或子查询。外部的查询语句…...

霍夫变换(Hough Transform)

文章目录 1. 什么是霍夫变换2. 霍夫直线检测2.1 霍夫直线检测的具体步骤2.2 霍夫直线检测的优缺点2.3 OpenCV中霍夫直线检测的应用2.3.1 标准霍夫检测2.3.2 概率霍夫检测 3. 霍夫圆检测4. 源码仓库地址 1. 什么是霍夫变换 霍夫变换(Hough Transform)是图像处理中的一种特征提取…...

【每日挠头算法题(2)】压缩字符串|仅执行一次字符串交换能否使两个字符串相等

文章目录 一、压缩字符串思路 二、仅执行一次字符串交换能否使两个字符串相等思路1&#xff1a;计数法思路2&#xff1a;模拟法 总结 一、压缩字符串 点我直达~ 思路 使用双指针法 大致过程如下&#xff1a; 使用双指针&#xff0c;分别读&#xff08;read&#xff09;&…...

V4L2框架解析

和你一起终身学习&#xff0c;这里是程序员Android 经典好文推荐&#xff0c;通过阅读本文&#xff0c;您将收获以下知识点: 一、概览二、流程简介三、关键结构体四、模块初始化五、处理用户空间请求 一、概览 相机驱动层位于HAL Moudle与硬件层之间&#xff0c;借助linux内核驱…...

Trie树模板与应用

文章和代码已经归档至【Github仓库&#xff1a;https://github.com/timerring/algorithms-notes 】或者公众号【AIShareLab】回复 算法笔记 也可获取。 文章目录 Trie树&#xff08;字典树&#xff09;基本思想例题 Trie字符串统计code关于idx的理解 模板总结应用 最大异或对分…...

【华为OD统一考试B卷 | 200分】跳格子游戏(C++ Java JavaScript Python)

文章目录 题目描述输入描述输出描述用例C++javajavaScriptpython题目描述 地上共有N个格子,你需要跳完地上所有的格子,但是格子间是有强依赖关系的,跳完前一个格子后,后续的格子才会被开启,格子间的依赖关系由多组steps数组给出,steps[0]表示前一个格子,steps[1]表示st…...

该选哪个语言进修呢?

前言&#xff1a; 如今&#xff0c;计算机编程已经成为了许多工作领域中的必备技能。但是&#xff0c;现在的计算机语言有很多&#xff0c;这可能会让我们感到困惑&#xff1a;我应该从哪个语言开始呢&#xff1f;在这篇博客中&#xff0c;我们将详细分析当前流行的一些计算机…...

数据库实验三 数据查询一

任务描述 本关任务&#xff1a;按条件查询数据表的所有字段 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 如何查询数据表的所有字段 相关知识 查询数据表 命令格式&#xff1a; select * from 数据表 where 查询条件 任务要求 打开province数据库 第一题 查询街…...

【Python百日进阶-Web开发-Peewee】Day244 - 数据库 Postgresql、CockroachDB

文章目录 六、数据库6.1 初始化数据库6.2 使用 Postgresql6.2.1 隔离级别 6.3 使用 CockroachDB 六、数据库 http://docs.peewee-orm.com/en/latest/peewee/database.html PeeweeDatabase对象表示与数据库的连接。该类Database使用打开数据库连接所需的所有信息进行实例化&…...

Vue 中的列表渲染

Vue 中的列表渲染 在 Vue 中&#xff0c;列表渲染是非常常见的操作。它允许我们将一个数组中的数据渲染为一个列表&#xff0c;从而实现数据的展示和交互。在本文中&#xff0c;我们将探讨 Vue 中的列表渲染的基本原理和用法&#xff0c;并给出一些实例代码来帮助读者更好地理…...

java 中的关键字

1. 面向对象编程(OOP) - 把程序中的实体看做对象&#xff0c;而不是过程或函数。OOP有3个基本特征&#xff1a;封装&#xff0c;继承和多态。 2. 类(Class) - 一个用于描述对象属性和方法的蓝图。 3. 对象(Object) - 类的实例化&#xff0c;也就是一个具体的实体。 4. 方法(Met…...

python序列化和结构化数据详解

序列化和结构化数据是计算机程序中非常重要的概念&#xff0c;它们的原理和应用在许多应用程序中都是必不可少的。Python作为一种高级编程语言&#xff0c;在序列化和结构化数据方面提供了很多优秀的解决方案。在本文中&#xff0c;我们将详细介绍Python中序列化和结构化数据的…...

PoseiSwap的趋势性如何体现?

DEX 代表了一种先进的意识形态&#xff0c;相对于 CEX 其更强调无许可、去中心化以及公开透明。然而随着 DeFi 赛道逐渐从 2021 年年底的高峰逐渐转向低谷&#xff0c;DEX 整体的交易量、TVL等数据指标也开始呈现下滑的趋势&#xff0c;DEX 正在面临发展的新瓶颈期。 在这样的背…...

西南交通大学智能监测 培训课程练习4

2023.056.07和09培训 项目实战 目录 一、infracore&#xff08;基础核心层&#xff09; 1.1database 1.2config 1.3util 二、业务领域模块 2.1structure模块 2.1.1domain层 2.1.2application层 2.1.3adapter层 2.2sensor模块 2.2.1domian层 2.2.2application层 2.2.…...

设备树的引入及简明教程

首先说明&#xff0c;设备树不可能用来写驱动。 设备树只是用来给内核里的驱动程序&#xff0c;指定硬件的信息。比如LED驱动&#xff0c;在内核的驱动程序里去操作寄存器&#xff0c;但是操作哪一个引脚&#xff1f;这由设备树指定。 需要编写设备树文件(dts: device tree s…...

MM32F3273G8P火龙果开发板MindSDK开发教程12 -获取msa311加速器的敲击事件

MM32F3273G8P火龙果开发板MindSDK开发教程12 -获取msa311加速器的敲击事件 1、功能描述 msa311可以识别单击、双击事件&#xff0c;类似手机上的点击返回&#xff0c;双击截屏功能。 单击&#xff0c;双击都能产生中断事件。 中断事件产生后&#xff0c;从对应的状态寄存器读…...

Maven聚合

在实际的开发过程中&#xff0c;我们所接触的项目一般都由多个模块组成。在构建项目时&#xff0c;如果每次都按模块一个一个地进行构建会十分得麻烦&#xff0c;Maven 的聚合功能很好的解决了这个问题。 聚合 使用 Maven 聚合功能对项目进行构建时&#xff0c;需要在该项目中…...

[架构之路-211]- 需求- 软架构前的需求理解:ADMEMS标准化、有序化、结构化、层次化需求矩阵 =》需求框架

目录 前言&#xff1a; 一、什么是ADMES: 首先&#xff0c;需求是分层次的&#xff1a; 其次&#xff0c;需求是有结构的&#xff0c;有维度的 再次&#xff0c;不同层次需求、不同维度需求之间可以相互转化&#xff08;难点、经验积累&#xff09; 最终&#xff0c;标准…...

基于前推回代法的连续潮流计算研究【IEEE33节点】(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

【双向链表】

双向链表 带头双向循环链表的实现1. 函数的声明2. 函数的实现3. 主函数测试 带头双向循环链表的实现 今天我们来实现一下带头双向循环链表&#xff0c;顾名思义&#xff0c;带头就是有哨兵位&#xff0c;哨兵位不是链表的头&#xff0c;它是连接头节点的一个节点&#xff0c;方…...

POSTGRESQL NEON - Serverless 式的POSTGRESQL 数据库的独特技能 分支数据

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到2群&#xff08;共…...

数据分布——长尾分布的处理

前言 长尾分布在分类任务中会提到这个名,这是因为长尾分布这个现象问题会导致在训练过程中会出现出错率高的问题&#xff0c;影响了实验结果。 这里要说的是&#xff0c;长尾分布是一种现象&#xff0c;有的地方说是一种理论或定律&#xff0c;我感觉这样说不太确切&#xff0…...

集合导题、刷题、考试全套完整流程,专业强大的功能,提高刷题学习效率和企业的培训效率

土著刷题微信小程序v1.15&#xff0c;主要是迭代了考试模块的进阶功能&#xff0c;对考试模块进行了一次升级改造。 由于在v1.15开发期间&#xff0c;收到了违规内容整改的通告&#xff0c;为了遵守相关法律法规&#xff0c;让小程序能够平稳安全地运营下去&#xff0c;我们特此…...

【机器学习】采样方法

文章目录 采样方法11.1 简介11.2 常见采样方法11.2.1 均匀分布采样11.2.2 逆变换采样11.2.3 拒绝采样11.2.4 重要采样11.2.5 Metropolis方法11.2.6 Metropolis-Hasting 算法11.2.7 吉布斯采样 采样方法 11.1 简介 什么是采样 从一个分布中生成一批服从该分布的样本&#xff0c…...

Seata TCC 模式理论学习、生产级使用示例搭建及注意事项 | Spring Cloud55

一、前言 通过以下系列章节&#xff1a; docker-compose 实现Seata Server高可用部署 | Spring Cloud 51 Seata AT 模式理论学习、事务隔离及部分源码解析 | Spring Cloud 52 Spring Boot集成Seata利用AT模式分布式事务示例 | Spring Cloud 53 Seata XA 模式理论学习、使用…...

网站备案主体是/福州seo代理商

derby模块抽象 我已经发布了许多有关Derby的博客&#xff1a; 同一主机上的多个Derby网络服务器 Apache Derby数据库用户和权限与Maven和内存中Derby数据库的集成测试 这本不打算是一个系列。 但是多年来&#xff0c;我越来越多地使用Derby。 最近&#xff0c;我开始将Derby用作…...

合肥专业网站制作团队/泉州网站建设优化

题图&#xff1a;Photo by Andres Urena on Unsplash最近Google用不了&#xff0c;是不是有种不会编程的感觉&#xff1f;难道只能将就的用百度了&#xff1f;莫慌&#xff0c;莫慌&#xff0c;不要放弃治疗&#xff0c;还是有一些替代方法的&#xff0c;推荐4个搜索工具给你&a…...

微信搜一搜seo/搜索引擎优化seo什么意思

很多小白经常问我学Python要至少掌握哪些知识&#xff0c;学好了能做什么工作&#xff0c;往哪些方向发展&#xff0c;有没有前景等&#xff0c;我理解小白的迷茫和担心自己学完了找不到好工作的困扰&#xff0c;但我实在不愿意对每个人讲重复的话&#xff0c;今天就把小白们关…...

哪个网站可以做任务赚钱的/sem竞价开户

1.分页 web必备的功能 1)批量制造测试数据 定义一个空列表用于存储 orm对象 ,models.表名(字段...)创建orm对象append到列表 ,使用bulk_create(对象列表)一次性提交 ,避免了多次与数据库连接损耗 #脚本加载django环境 import osif __name__ "__main__":os.environ.s…...

钢铁网站模板/网站维护费一年多少钱

[PHP] 纯文本查看 复制代码public function excel(){//如果需要动态获取表头就自己查表&#xff0c;方法下面不多举例&#xff0c;毕竟不同效果不同写法&#xff0c;这个需要根据自己需求&#xff1b;以下导出代码&#xff0c;支持DIY表格导出&#xff0c;具体的看自己理解能力…...

ps拼合网站截图怎么做/广告外链购买交易平台

微信双开一般来说问题不大&#xff0c;但仍需节制覆盖全平台&#xff1a;Windows、Mac、iOS、Android微信&#xff0c;这个App&#xff0c;已经成为了不可或缺的存在&#xff1b;而越来越多的朋友拥有不止一个微信号。为了适应这个趋势&#xff0c;越来越多手机支持微信双开&am…...