《走近云计算》阅读笔记16--.基于Linux的云监控系统的数据监测的实现
来源:互联网 发布:大型网络手游 编辑:程序博客网 时间:2024/06/11 20:00
数据监测的分为3个部分:
1.数据采集:DataCollection数据采集器
(1)CPU数据采集:通过读取/proc目录下的stat文件内容。
需要以cpu开头的第一行的数据。
fileCPU = new FileInputStream("/proc/stat");
DataInputStream dataCPU = new DataInputStream(fileCPU);
CPURate = dataCPU.readLine();
String[] CPUString = CPURate.replaceAll(" "," ").split("\\s");
String user = CPUString[2];
String nice = CPUString[3];
String system = CPUString[4];
String idle = CPUString[5];
//再用这些数据计算成CPU的使用率
(2)内存数据的采集:/proc/meminfo
需要第四行和第五行数据
FileInputStream fileMem;
fileMem = new FileInputStream("/proc/meminfo");
DataInputStream dataMem = new DataInputStream(fileMem);
for(int i =0;i<3;i++){
dataMem.readLine();}
memTotal= dataMem.readLine().replaceAll("[^0-9]","");
memFree = dataMem.readLine().replaceAll("[^0-9]","");
(3)由于CPU利用率和内存利用率的数据是实时变化的,还可以定时地采集数据,通过训话,设置该线程的睡眠时间。
2.数据传输
(1)各个节点服务器将采集的的数据传输给SocketClient对象
new SocketClient(CPURate+" "+memRate).send();
用send()函数将数据发送到服务器端
(2)服务器端等待节点计算机的连接,如果获得连接,创建新的线程接收数据
new ServerThread(Socket sock)
(3)调用SaveData类的save()将数据保存到数据库
(4)由于节点信息是定时采集和发送的,因此数据库中的数据也是动态变化的
3.数据实时显示
利用ExtJs技术来实现数据的实时显示。
(1)通过设置监控系统的阈值,如果超过阈值会显示节点的CPU使用率,监测界面上就会出现警告信息。
(2)动态刷新数据,用ExtJs提供了定时器setInterval(loaddata,'2000‘)。
loaddata是一个函数名,2000是时间间隔,2s
function loaddata(){ form.getForm().load({url:'datacollection.jsp?noden='+nodenum'});}
4.云监控系统设备参数采集的实现
集群中的节点计算机数量是不固定的,如果业务量较大,需要增加节点。这时,就要在设备配置功能上进行结点的配置。
设备参数采集的方法:
(1)根据节点机的具体情况动态配置
(2)通过人工的方法,在挂载该节点之前,手工配置到系统中。
当监控的集群数量较少时,采用手工的配置方法,将参数录入数据库中。
点击save保存入库,点击Activate将设备激活。
5.云控制系统节点控制的实现
控制远程节点计算机的启动,停止,节点计算机收到命令后,启动相关命令实现管理。
- 《走近云计算》阅读笔记16--.基于Linux的云监控系统的数据监测的实现
- 《走近云计算》阅读笔记15--.基于Linux的云监控系统的界面实现
- 《走近云计算》阅读笔记14--云监控的实现
- 《走近云计算》阅读笔记3--亚马逊的云服务
- 《走近云计算》阅读笔记9--Flex的应用
- 《走近云计算》阅读笔记10--并行集群的搭建
- 《走近云计算》阅读笔记13--云登录主服务器的实现
- 《走近云计算》阅读笔记1--云计算的孕育期间
- 《走近云计算》阅读笔记5--云计算界面的交互技术--RIA
- 《走近云计算》阅读笔记11--云登陆前的交互技术难点
- 《走近云计算》阅读笔记12--云登录模块的功能分析
- 《走近云计算》阅读笔记6--界面交互技术的比较--FLEX vs Ajax
- 《走近云计算》阅读笔记8--Flex开发环境的搭建及应用
- 《走近云计算》阅读笔记4--弹性云计算
- 《走近云计算》阅读笔记2--Google App Engine概述
- 基于SNMP协议的电信网络监测系统的实现
- 基于SNMP协议的电信网络监测系统的实现
- 基于 Flex+GoogleMap+PHP 的远程实时数据监测系统
- JQuery Ajax中文乱码问题
- 《走近云计算》阅读笔记14--云监控的实现
- 《走近云计算》阅读笔记15--.基于Linux的云监控系统的界面实现
- Oracle 9i中几个服务的作用
- ORA-00604,ORA-12705解决办法
- 《走近云计算》阅读笔记16--.基于Linux的云监控系统的数据监测的实现
- Advertising备忘录
- javaweb 开发网上书店--之验证码
- uva489 Hangman Judge
- Ubuntu服务器版本root密码问题
- 一直以来伴随我的一些学习习惯(part1)
- Shell命令编写——查看当前登陆用户的登录时间ac,last
- hibernate——继承关系以及三个subclass标签的区别
- 网站新建备注