1. 下载zabbix java gateway源码。

2. 修改zabbix-java源码

3.修改JMXItemChecker,增加如下代码:

/**

* @des get cpu usage

* @return

*/

private float getCpuUsage()

{

float cpuUsage = 0;

try

{

ObjectName operateObjectName = new ObjectName("java.lang:type=OperatingSystem");

ObjectName runtimeObjName = new ObjectName("java.lang:type=Runtime");

long processCpuTime = Long.parseLong(mbsc.getAttribute(operateObjectName, "ProcessCpuTime").toString());

int availableProcessors = Integer.parseInt(mbsc.getAttribute(operateObjectName, "AvailableProcessors").toString());

long upTime = Long.parseLong(mbsc.getAttribute(runtimeObjName, "Uptime").toString());

logger.info("===2======processCpuTime: " + processCpuTime);

logger.info("===2=====upTime: " + upTime);

if (prevUpTime > 0L && upTime > prevUpTime)

{

logger.info("===3=======");

long elapsedCpu  = processCpuTime - prevProcessCpuTime;

long elapsedTime = upTime - prevUpTime;

// cpuUsage could go higher than 100% because elapsedTime

// and elapsedCpu are not fetched simultaneously. Limit to

// 99% to avoid Plotter showing a scale from 0% to 200%.

cpuUsage = Math.min(99F, elapsedCpu / (elapsedTime * 10000F * availableProcessors));

logger.info("===2=====cpuUsage: " + cpuUsage);

}

logger.info("===4=======");

prevUpTime = upTime;

prevProcessCpuTime = processCpuTime;

}

catch(Exception e)

{

e.printStackTrace();

}

return cpuUsage;

}

java监控cpu绘图,java gateway监控cpu使用率相关推荐

  1. zabbix的安装(一)监控os资源:内存,cpu,io,负载,带宽

    一.Linux下开源监控系统简单介绍 1)cacti:存储数据能力强,报警性能差 2)nagios:报警性能差,存储数据仅有简单的一段可以判断是否在合理范围内的数据长度,储存在内存中.比如,连续采样数 ...

  2. linux 监控网络IO、磁盘、CPU、内存

    linux 监控网络IO.磁盘.CPU.内存 CPU:vmstat ,sar –u,top 磁盘IO:iostat –xd,sar –d,top 网络IO:iftop -n,ifstat,dstat ...

  3. Android整机性能监控:多核CPU相关数据的获取(使用率、主频)

    根据最近的调研,Android整机的性能主要有如下方面: 1.CPU 2.内存 3.耗电量 4.网络 本文着重介绍CPU相关数据的获取,在多核情况下,对每个CPU运行情况进行监控,获取相关的属性. A ...

  4. java 通过snmp协议获取物理机CPU、内存容量及使用率,存储的容量及使用率

    java 用snmp协议获取物理机CPU.内存容量及使用率,存储的容量及使用率,java获取trap告警 一.SNMP简介 1.什么是snmp 二.SNMP获取信息步骤 1.开启SNMP 2.MIB文 ...

  5. java gc占用cpu问题_Java进程占用CPU高的问题跟踪

    http://www.cublog.cn/u/12331/showart_255325.htmlWebLogic高cpu消耗诊断一例故障分析报告故障描述2007-3-6日上午,在系统监控时发现WebL ...

  6. java jnotify_java JNotify (基于内核)实时监控文件

    JNotify 下载地址 jnotify(包含dll与so).rar win 将dll文件放入  jdk bin目录下 linux 将so文件放入  jdk bin目录下 maven增加JNotify ...

  7. 【Java 虚拟机原理】Dalvik 虚拟机 ( 简介 | CPU 指令集 | Dalvik 虚拟机内存 )

    文章目录 一.Dalvik 虚拟机简介 二.CPU 指令集 三.Dalvik 虚拟机内存 一.Dalvik 虚拟机简介 Android 5.05.05.0 之前使用的是 Dalvik 虚拟机 , 5. ...

  8. java解析日志数据_Java实时监控日志文件并输出的方法详解

    Java实时监控日志文件并输出的方法详解 想在前台显示数据同步过程中产生的日志文件,在网上找到解决方案,做了代码测试好用.这里做个记录 java.io.RandomAccessFile可以解决同时向文 ...

  9. 【JVM性能调优】使用jstack找出最耗CPU的java线程

    jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体的代码,所以它在JVM性能调优中很常见.下面我们在找出某个java进程中最耗CPU的线程,并定位堆栈信息,使用到的命令有:ps.top.p ...

最新文章

  1. oracle 数据导出
  2. Zookeeper_zkClientAPI讲解
  3. 74cms3.0安装以及cmsSQL注入漏洞详解
  4. 【java】从进程角度理解java
  5. IntelliJ IDEA 配置chrome插件调试js代码
  6. 自然语言处理概念及发展
  7. win7下安装VC6LineNumberAddin方法[VC6行号插件]
  8. 数理统计-随机变量的数字特征:期望、方差、协方差、矩、协方差矩阵
  9. Android界面布局基本属性
  10. VB添加TTS语音合成
  11. npm安装github包
  12. Golang代码测试:一点到面用测试驱动开发
  13. Java8日期时间API
  14. 关于货币流动的一点思考
  15. 机器学习实战----初识泰坦尼克
  16. 工信部:将实施国家软件重大工程解决关键软件“卡脖子”问题丨权威发布
  17. Android 存储相册,Android 相册图片存储
  18. C语言——测试电脑大小端
  19. 为什么人人都应该玩儿点儿DIY?
  20. Ubuntu21.10配置阿里云DNS方法

热门文章

  1. 什么是UNIX时间戳? 时间戳有什么用?
  2. java入门好学吗_java好学吗?我是小白中的小白,零基础...
  3. 计算机应用的毕业论文论文,计算机应用本科毕业论文
  4. 廖雪峰讲python高阶函数求导_廖雪峰python课程笔记
  5. java输出hello java_eclipse输出Hello World的实现方法
  6. 0行代码拿210万年薪,ChatGPT催生新型「程序员」岗:工作纯靠和AI聊天
  7. Proteus仿真stc89c51正反调速控制uln2003步进电机
  8. Android 友盟统计集成
  9. Windows 解决端口占用
  10. 深度学习基础篇【5】从0开始搭建YOLOV5 并进行测试