关于用sigar+jfreechart做系统监控并在web前台展示的问题

问题描述

经理给我分了个系统监控的模块,要求实时的监控服务器的CPU、内存的使用率以及磁盘的使用情况,要求不高,只是把监控数据拿到然后在前台做个展示,但是要求是数据实时变化的动态图表。奈何本人未毕业实习生,以前没接触过此类相关的问题,经过初步Google加百度之后,选择了用sigar来获取监控信息,用jfreechart来绘图。用swing测试效果时没问题,发现还挺简单,但是接下来要将jfreechart集成进ssh并且在jsp上面能展示实时的动态图时,我就懵了。本来考虑的是将jfreechart生成的图保存到工程目录,然后在jsp里面读取并且通过ajax不停的局部刷新,此时问题来了:①放在webroot下的image文件夹里面的图在本地能即时更新,但是jsp读的是tomcat下面的image,那里面的没有更新②即使是能够读取到图了,但是由于是不停的去刷新jfreechart生成的整张图,肯定会有闪烁,展示效果会很不好,不懂如何解决想到这两个问题之后觉得这样子做可能不好,于是就想到用applet。将jfreechart生成的图画到applet上面,做一个动态的applet然后放到jsp上面去。但是在jsp加载applet的时候又不停的报错,因为sigar使用log4j记了日志,web服务器不允许。因为觉得用applet的展示效果可能会好点,于是就想那就用java自带的OperatingSystemMXBean与ManagementFactory来写个类获取系统信息替换掉sigar,得是能得到,效率真不敢恭维(主要是获取CPU信息的时候用了Runtime.getRuntime()调了dos,特别慢),动态效果根本出不来。这几种方法都试了都调试不成功之后我今天上午就卡在这儿了,不知道怎么继续,所以才来此求助,恳请各位支支招。感激不尽。

解决方案

解决方案二:
画图换amcharts.挺简单的。java后端把数据以json格式传到页面,amcharts拿到json数据对象,就可以出图。实时刷新只需更新图形绑定的数据源。看个例子就欧了
解决方案三:
自己去下载个amcharts包,里面有例子
解决方案四:
同意楼上观点,amcharts很强大,现阶段貌似是将xml文件的数据存储方式转换为json方式。只要修改嵌入在js的json便可实时更新。
解决方案五:
引用1楼secretx的回复:

画图换amcharts.挺简单的。java后端把数据以json格式传到页面,amcharts拿到json数据对象,就可以出图。实时刷新只需更新图形绑定的数据源。看个例子就欧了

openflashchart您用过吗?同事说试一下这个,所以在研究一下,不知道哪个比较好
解决方案六:
引用3楼NNTT2010的回复:

同意楼上观点,amcharts很强大,现阶段貌似是将xml文件的数据存储方式转换为json方式。只要修改嵌入在js的json便可实时更新。

funshionchartfree可以做动态的图吗?
解决方案七:
引用5楼xing13146的回复:

引用3楼NNTT2010的回复:同意楼上观点,amcharts很强大,现阶段貌似是将xml文件的数据存储方式转换为json方式。只要修改嵌入在js的json便可实时更新。funshionchartfree可以做动态的图吗?

楼主说的我不是很清楚,但是,只要是读取配置文件或者某种数据格式的文件都可以做成实时更新的操作。
解决方案八:
引用6楼NNTT2010的回复:

引用5楼xing13146的回复:引用3楼NNTT2010的回复:同意楼上观点,amcharts很强大,现阶段貌似是将xml文件的数据存储方式转换为json方式。只要修改嵌入在js的json便可实时更新。funshionchartfree可以做动态的图吗?楼主说的我不是很清楚,但是,只要是读取配置文件或者某种数据格式的文件都可以做成实时更新的……

谢谢你的回答我所说的实时更新是类似任务管理器的那种图表,放到jsp的话刷新不会有闪烁吗?还有amcharts能画仪表盘图吗,我好像没看到。
解决方案九:
引用7楼xing13146的回复:

引用6楼NNTT2010的回复:引用5楼xing13146的回复:引用3楼NNTT2010的回复:同意楼上观点,amcharts很强大,现阶段貌似是将xml文件的数据存储方式转换为json方式。只要修改嵌入在js的json便可实时更新。funshionchartfree可以做动态的图吗?楼主说的我不是很清楚,但是,只要是读取配置文件或……

仪表图有没有我不是很清楚,如果实在没有的话,ChartDirector倒有仪表工具图。嗯,那种刷新是联动页面一起刷新的。
解决方案十:
引用8楼NNTT2010的回复:

引用7楼xing13146的回复:引用6楼NNTT2010的回复:引用5楼xing13146的回复:引用3楼NNTT2010的回复:同意楼上观点,amcharts很强大,现阶段貌似是将xml文件的数据存储方式转换为json方式。只要修改嵌入在js的json便可实时更新。funshionchartfree可以做动态的图吗?楼主说……

最终选定了RGraph,已经画出了第一个动态仪表图,在前端成功运行,效果挺不错的,就是对浏览器负载有点大。谢谢你了,就你一直回复我,真心感谢,这些天都急死了
解决方案十一:
引用9楼xing13146的回复:

引用8楼NNTT2010的回复:引用7楼xing13146的回复:引用6楼NNTT2010的回复:引用5楼xing13146的回复:引用3楼NNTT2010的回复:同意楼上观点,amcharts很强大,现阶段貌似是将xml文件的数据存储方式转换为json方式。只要修改嵌入在js的json便可实时更新。funshionchar……

呵呵,我也没帮到什么。。RGraph我也没听说过,我有空去研究研究。那楼主的实时更新是仪表图随着页面一起刷新的还是其他更好的方法??
解决方案十二:
出差才回。不管是用json还是xml,原理一样,数据源变化后,然后update一下图形,amcharts图形就能刷新了。但是呢,刷新会有闪烁,而且好像刷新不能记录之前图形的状态,比如不能记录之前图形的缩放状态(滑动条位置)。openflashchart这个没有用过。一般不讲究性能,会用amcharts画图,要求性能的会用cacti
解决方案十三:
我想问一下用amcharts画仪表盘图时怎么设置气泡提示信息?
解决方案十四:
楼主你好,最近我也在做这个,巧的是我也是个实习生,你能把你做的那个demo发给我参考参考吗?这是我的邮箱739306112@qq.com,十分感谢。

时间: 2024-09-20 16:38:08

关于用sigar+jfreechart做系统监控并在web前台展示的问题的相关文章

CentOS上使用sysstat做系统监控测试

先安装sysstat yum -y install systat 然后,再改一下任务计划 [root@localhost sa]# cat /etc/cron.d/sysstat # Run system activity accounting tool every 10 minutes*/1 * * * * root /usr/lib64/sa/sa1 1 1# 0 * * * * root /usr/lib64/sa/sa1 600 6 &# Generate a daily summary

linux的系统监控命令介绍

linux系统监控有以下命令: uptime:显示系统负载情况 mpstat:显示 CPU 性能 free:显示内存使用情况 vmstat:显示虚拟内存使用情况 iostat:显示系统 I/O 活动 netstat:显示网络的活动 df/du:显示磁盘使用情况 1. uptime fdipzone@ubuntu:~$ uptime 00:06:00 up 32 min, 2 users, load average: 0.00, 0.03, 0.07 00:06:00 表示当前时间 32min 表

怎样把U盘做系统修复启动盘

  有很多用户喜欢把U盘量产成CD-ROM来做系统修复启动盘,那么量产前到底需要作哪些准备呢?下面将为你解答. 一.量产第一要事就是先用最新版芯片精灵(ChipGenius)检测自已U盘的主控型,做到心中有数,再根据上面的链接下载量产工具.再根据主控型号在站内搜索一下,多看几篇量产教程.做到心中有数再动手.另外量产前要先备份U盘的数据,因为一旦量产就会破坏U盘上的所有文件 二.工具版本:每个主控方案的量产工具都有很多个版本,量产前最好多看看会员的量产经验,看大家使用的是什么版本及注意事项.下载量

Grafana+Prometheus系统监控之webhook

概述 Webhook是一个API概念,并且变得越来越流行.我们能用事件描述的事物越多,webhook的作用范围也就越大.Webhook作为一个轻量的事件处理应用,正变得越来越有用. 准确的说webhoo是一种web回调或者http的push API,是向APP或者其他应用提供实时信息的一种方式.Webhook在数据产生时立即发送数据,也就是你能实时收到数据.这一种不同于典型的API,需要用了实时性需要足够快的轮询.这无论是对生产还是对消费者都是高效的,唯一的缺点是初始建立困难. Webhook有

建设DevOps统一运维监控平台,全面的系统监控你做好了吗?

随着Devops.云计算.微服务.容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器.虚拟机.物理机不一而足.面对动辄几百上千个虚拟机.容器,数十种要监控的对象,现有的监控系统还能否支撑的住?来自于容器.虚拟机.物理机.网络设备.中间件的指标数据如何采用同一套方案快速.完整的收集和分析告警?怎样的架构.技术方案才更适合如此庞大繁杂的监控需求呢 一.统一监控平台架构解析 先做一下回顾,统一监控平台由七大角色构成:监控源.数据采集.数据存储.数

Linux系统监控常用命令

1.PID.TID的区分 uid是user id,即用户id,root用户的uid是0,0为最高权限, gid是group id,用户组id,使用 id 命令可以很简单的通过用户名查看UID.GID:~$ id bingyueuid=1000(bingyue) gid=1000(bingyue) groups=1000(bingyue)~$ id rootuid=0(root) gid=0(root) groups=0(root) pid是process id,即进程id,可以通过pid找到这个

Linux 系统监控、诊断工具之 IO wait

Linux 系统监控.诊断工具之 IO wait 1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器硬件配置一样,部署的软件都一样,却单单这一台负载有问题,初步猜测可能硬件有问题了. 同时,我们还需要把负载有异常的罪魁祸首揪出来,到时候从软件.硬件层面分别寻找解决方案. 2.排查: 从 top 中可以看到 load average 偏高,%wa 很

大白菜怎么做系统,大白菜超级U盘启动盘制作方法

很多白菜不知道怎么使用工具,你只要做系统的话按照以下步骤: 1,首先插上u 盘,点击归还空间,提示ok 2,点击一键制作,提示成功即可. 3,下载系统iso文件,解压iso文件,提取中间的system.gho文件一般xp在600-700之间,win7在2-3g,直接复制到u盘究可以了 前提是你的u盘能装的下system.gho文件,恢复的时候选择你放在u盘里的文件. 就是U盘,先要做启动的,然后再把镜像复制进u盘. 大白菜超级U盘启动盘制作(u盘装系统图解教程) (1)盘启动盘制作前准备(注意操

centos 5.X安装网络和系统监控管理平台:OpenNMS简介

关于OpenNMS:OpenNMS是一个企业级基于Java/XML的分布式网络和系统监控管理平台.OpenNMS是你管理网络的绝好工具,它能够显示你网络中各中终端和服务器的状态和配置,为你方便地管理网络提供有效的信息.OpenNMS是世界上第一个用开放原始码模式开发的企业级网络管理系统.和其它复杂.功能强大的系统一样,需要费一点心力来安装和设置. OpenNMS使用PostgreSQL数据库,并且要求能够以postgres用户的身份通过TCP/IP协议连接到PostgreSQL. 系统支持:目前