Melody 监控(四十九)

news2024/11/25 0:55:53

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

上一章简单介绍了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-parameters
  init-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


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

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

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

相关文章

我的GIT练习Four

目录 前言 GIT安装教程 Git作者 GIT优点 GIT缺点 为什么要使用 Git GIT练习Four C1&#xff1a;初始化项目 C2&#xff1a;设计项目首页 C3&#xff1a;设计登录页面 C4&#xff1a;实现登录功能 C5&#xff1a;设计后台页面 C6&#xff1a;设计注册页面 C7&#xf…

Yolov5轻量化:CVPR2023|RIFormer:无需TokenMixer也能达成SOTA性能的极简ViT架构

1.RIFormer介绍 论文:https://arxiv.org/pdf/2304.05659.pdf 本文基于重参数机制提出了RepIdentityFormer方案以研究无Token Mixer的架构体系。紧接着,作者改进了学习架构以打破无Token Mixer架构的局限性并总结了优化策略。搭配上所提优化策略后,本文构建了一种极致简单且…

第五期:字符串的一些有意思的操作

文章目录 1. 替换空格2. 字符串的左旋转3. 答案代码3.1 替换空格3.2 字符串的左旋转 PS&#xff1a;每道题解题方法不唯一&#xff0c;欢迎讨论&#xff01;每道题后都有解析帮助你分析做题&#xff0c;答案在最下面&#xff0c;关注博主每天持续更新。 1. 替换空格 题目描述 请…

Microsoft SQL Server 2019 详细安装教程

文章目录 系列文章目录前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一、SqlServer2019安装步骤 双击运行好的setup.exe 选择安装&#xff0c;点击第一个全新独立安装 默认点击下一步 勾选介绍&#xff0c;点击下一步 点击下一步 点击下一步 勾选需要…

容器镜像分析工具dive

概述 dive是一个容器镜像分析工具&#xff0c;可以直观的看到容器每一层变动了哪些文件&#xff0c;每一层占用的磁盘空间&#xff0c;这样也就可以看到镜像的历史构建过程&#xff1b;同时也可以看到镜像的磁盘空间使用率&#xff0c;面对特别大的镜像文件是&#xff0c;可以…

问道手游-0基础架设教程

前言 本次教程使用的是问道魔改版的一个服务端、问道传奇、里面地图玩法基本与传奇类似 准备工具 1、Windows系统服务器一台 2、问道传奇服务端 开始架设 1、把准备好的问道传奇服务端解压到服务器D盘根目录记住必须得是根目录 不在根目录会导致快捷方式失效&#xff08;服务器…

ChatGPT新突破:打造自己的智能机器人控制系统

&#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是Zeeland&#xff0c;全栈领域优质创作者。&#x1f4dd; CSDN主页&#xff1a;Zeeland&#x1f525;&#x1f4e3; 我的博客&#xff1a;Zeeland&#x1f4da; Github主页: Undertone0809 (Zeeland) (github.com)&…

【ArcGIS Pro二次开发】(35):三调三大类面积统计

根据《第三次全国国土调查技术规程》&#xff0c;三调中的地类可以归纳为土地管理法中规定的三大类用地。 我们可以在三调中直接统计出这三大类用地的面积。主要方法是在ArcGIS中将这三大类对应的用地提取出来&#xff0c;再进行统计。不过每次都要在复制一长串的筛选语句&…

Android Small框架增量升级方案

篇首语&#xff1a;本文由小常识网(cha138.com)小编为大家整理&#xff0c;主要介绍了Android Small框架增量升级方案相关的知识&#xff0c;希望对你有一定的参考价值。 背景 随着业务的发展&#xff0c;安装包的体积也在不断的增大&#xff0c;这时候&#xff0c;如果要版本…

vscode下,camke构建QT项目成功后,Cmake/Launch无法出现程序窗口的原因和解决方式

由于可执行程序根目录下没有 qt 相关 dll 文件&#xff0c;直接运行会出现一闪而过的问题&#xff0c;所以需要进入 build目录&#xff0c;终端运行类似如下指令&#xff1a; D:\QT\5.15.2\mingw81_64\bin\windeployqt.exe .\test001.exe 注意&#xff1a;环境变量不能配置ms…

计算机视觉特征图可视化与注意力图可视化(持续更新)

1.YOLOv5 特征图可视化 可视化代码&#xff1a; def feature_visualization(x, module_type, stage, n2, save_dirPath(runs/detect/exp)):"""x: Features to be visualizedmodule_type: Module typestage: Module stage within mod…

前端工程化-NPM

前端工程化-NPM 1&#xff0e;什么是NPMNPM安装基本使用 1&#xff0e;什么是NPM NPM代表npmjs.org这个网站&#xff0c;这个站点存储了很多Node.js的第三方功能包。 NPM的全称是Node Package Manager&#xff0c;它是一个Node.js包管理和分发工具&#xff0c;已经成为非官方的…

DR模式 LVS负载均衡群集部署

DR模式 LVS负载均衡群集部署 一、LVS-DR工作原理1.数据包流向分析2.LVS-DR中的ARP问题3.LVS-DR模式的特点 二、LVS-DR部署1.部署NFS服务器2.配置2台节点服务器3.部署调度服务器 一、LVS-DR工作原理 1.数据包流向分析 &#xff08;1&#xff09;客户端发送请求到 Director Serv…

Spring Cloud Ribbon源码解析,Ribbon为什么可以实现负载均衡,为什么可以用服务名调用

文章目录 一、Ribbon概述1、Ribbon简单使用&#xff08;1&#xff09;引包&#xff08;2&#xff09;使用方式一&#xff1a;RestTemplateLoadBalanced&#xff08;3&#xff09;使用方式二&#xff1a;LoadBalancerClient 2、问题来了 二、前置知识回顾1、复习Qualifier的作用…

时序逻辑与组合逻辑

目录 一、概念 二、区别 一、概念 数字电路按照逻辑功能一般可以分为组合逻辑和时序逻辑。组合逻辑电路是指不含有任何存储器件&#xff08;一般指寄存器&#xff09;的电路&#xff0c;它的输出只和当前电路的输入有关&#xff1b;时序逻辑电路含有存储器件&#xff0c;可以…

[PyTorch][chapter 38][ResNet ]

前言&#xff1a; 论文地址&#xff1a; https://arxiv.org/pdf/1512.03385.pdf 残差网络是由来自Microsoft Research的4位学者提出的卷积神经网络&#xff0c;在2015年的ImageNet大规模视觉识别竞赛&#xff08;ImageNet Large Scale Visual Recognition Challenge, ILSVRC&am…

[ATL/WTL]_[初级]_[如何获取ListView点击的单元格区域]

场景 在做Win32/WTL开发时&#xff0c;CListViewCtrl控件是常用的表格控件。有时候自绘listview时&#xff0c;需要在单元格上绘制小图标&#xff0c;并且小图标能响应鼠标点击的操作。 那么如何实现判断是否点击了小图标呢&#xff1f; 说明 要响应点击单元格上的小图标&…

MongoDB笔记

mongoDB基础知识 MongoDB的三个核心特性&#xff1a;灵活设计&#xff08;No Schema&#xff09;、高可用和分布式&#xff08;可平行扩展&#xff09;&#xff0c;另外MongoDB自带数据压缩功能&#xff0c;使得同样的数据存储所需的资源更少。 No Schema&#xff08;BJSON&a…

NeRF-Diffusion系列文章阅读

文章目录 前置知识《Latent-NeRF for Shape-Guided Generation of 3D Shapes and Textures》【CVPR23】《NeRDi: Single-View NeRF Synthesis with Language-Guided Diffusion as General Image Priors》【CVPR23】《SparseFusion: Distilling View-conditioned Diffusion for …

【系统找不到D盘指定驱动设备之解决方法】

文章目录 1.原因2.解决经过3.最终解决办法 1.原因 今天在搞课设&#xff0c;突然之间电脑一顿卡&#xff0c;然后整个电脑屏幕空白&#xff0c;D盘以及所有的安装软件都不见了。点击屏幕出现提示系统找不到指定驱动设备等等提示&#xff0c;查看此电脑发现D盘神奇的消失了。 …