2.5K Star,一个高性能、无侵入的性能监控和统计工具!
2023-03-07 09:47:43 时间
将开源小分队设为星标 精品文章第一时间读
大家好,我是爱撸代码的开源大叔!
服务器监控对于网站的运行至关重要,它可以帮助我们及时发现问题,并采取相应的措施。
今天大叔给大家推荐一款好用的性能监控和统计工具 -- MyPerf4J。
功能特性
- 高性能:单线程1600 万次/秒 ,每次记录花费 63 纳秒
- 无侵入:采用 JavaAgent 方式,不用修改应用代码
- 高实时: 支持秒级统计,最低统计粒度为 1 秒,是全量统计,不丢失任何一次记录
- 监控指标:JVM Metrics和 Method Metrics,具体包括Thread,Memory,ByteBuff,GC,Class,Compilation,FileDescriptor,RPS,Count,Avg,Min,Max,StdDev,TP50, TP90, TP95, TP99, TP999, TP9999, TP100等指标
安装部署
下载并解压 MyPerf4J-ASM.zip
修改 MyPerf4J.properties
配置文件中 app_name
、metrics.log.xxx
和 filter.packages.include
的配置值
在 JVM 启动参数里加上两个参数:
-javaagent:D:\\MyPerf4J-ASM-3.3.0-SNAPSHOT\\MyPerf4J-ASM-3.3.0-SNAPSHOT.jar
-DMyPerf4JPropFile=D:\\MyPerf4J-ASM-3.3.0-SNAPSHOT\\MyPerf4J.properties
下载安装InfluxDB v2.x,并创建buckets,命名为MyPerf4J
修改MyPerf4J.properties配置文件
metrics.exporter = http.influxdb
influxdb.version=2.1
influxdb.orgName=org #根据实际配置修改
influxdb.host=127.0.0.1
influxdb.port=8086 #根据实际配置修改
influxdb.username=test #根据实际配置修改
influxdb.password=12345678 #根据实际配置修改
influxdb.database=MyPerf4J #根据实际配置修改,是bucket的名称
安装 Grafana,选择版本8.4.0
导入Method Dashboard 和 JVM Dashboard
配置时注意:
Grafana 中的数据源名称是 InfluxDB,Query Language 是 Flux
修改 JVM Variables:
# Application
import "influxdata/influxdb/schema"
schema.tagValues(
bucket: "MyPerf4J",
tag: "AppName",
predicate: (r) => true,
start: -7d
)
# Host
import "influxdata/influxdb/schema"
schema.tagValues(
bucket: "MyPerf4J",
tag: "host",
predicate: (r) => true,
start: -7d
)
监控效果
项目地址
https://github.com/LinShunKang/MyPerf4J
总结
MyPerf4J 是一个高并发、低延迟的高性能 Java 应用性能监控和统计工具。支持 log 文件和 InfluxDB 数据存储,在实际中使用InfluxDB 比较方便,可以使用 Grafana 可视化实时监控服务器,感兴趣的小伙伴赶快去试试吧。
写在最后
问君能有几多愁,开源项目解千愁,我们下期再见!
相关文章
- 新功能 — AWS App Runner:几分钟内就可通过代码创建可扩展、安全的 Web 应用程序
- 如何使用新的 AWS Application Migration Service 进行直接迁移
- AWS Local Zones 现已在波士顿、迈阿密和休斯敦开放
- 使用Amazon Global Accelerator 服务加速传统互联网游戏
- Sagemaker Neo优化目标检测模型加速推理
- 使用反向代理在混合云场景下进行Amazon ECR 镜像推拉
- 利用跟踪事件建立资源和托管区域记录之间的联动机制
- 开发者的无服务入门课程:第一部分
- 即快又省的规划 EC2 实例机型升级
- 使用Gateway Load Balancer实现集中的网络流量深度检测
- Amazon DeepRacer 设备软件现已开源
- 在中国区实现 SCP 功能的替代方案
- 一键部署在钉钉群里自动创建 AWS Support Case 无服务器解决方案
- java.lang.NoClassDefFoundError
- Amazon Interactive Video Service (Amazon IVS) 直播过程中生成多个点播文件的合并
- Amazon Nimble Studio – 在云中构建创意工作室
- Java Websocket实例
- 开始使用 Amazon FSx 文件网关实现对云中文件服务器数据的快速缓存式访问
- RENGA公司使用Amazon CodeGuru实现代码审查自动化
- 基于 AWS IoT 证书授权最终用户访问云上资源