求助:关于shell 编程的问题
请各位老师指点:我们正在做一个机群的进程管理系统,现期要求收集结点资源信息。大体思路如下:各结点程序定时收集cpu,内存和硬盘的使用情况,并将之发送到服务器程序的数据表中;服务器程序根据结点的信息,判断哪些cpu空闲(利用率小于50%),哪些忙(利用率大于50%),等等,并将之发送到进程控制数据库。小弟是linux生手,只懂得分析结构,却编不出程序,后悔当初没有好好学啊!!!! 哪位老师行行好,帮我一把吧。
分析如下:\proc下有 cpuinfo和meminfo两文件分别记录cpu和内存信息,但我不知道该如何定位筛选,如果可以,将所需信息远程拷贝到服务器端的表nodeinfo中的特定位置,服务器端程序秩序根据此信息作出逻辑判断,并将结果送到进程控制数据表中就ok了。
望回贴,不胜感激!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
更多
发布评论
评论(8)
去shell版问,这种问题对他们说是小菜!
去吧!
可以这样考虑一下
首先各个节点可以定时执行一个脚本去采集系统cpu,内存等信息,这个主要使用的shell方面知识为过滤文本的方式,例如awk,sed都可以,将得到的信息保存成文本文件(按照数据库的字段格式),定时通过ftp自动发送给控制服务器,控制服务器在接受目录中使用DBA用户导入接收到的文本文件(例如load等),这样基本上就可以实现你说的要求了。
关键的是两个shell脚本的编写,一个是采集,一个是加载数据库。根据你的要求不是很难,如果有问题,可以去shell版问问。
还有就是规划好定时采集和传送的时间以及出现故障时的判断。
谢谢两位大侠指点,感激不尽!
楼主:
cpuinfo里面有cpu的使用情况从哪里看出?
下面是我的cpuinfo文件的内容,请指点
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Pentium III (Coppermine)
stepping : 10
cpu MHz : 868.668
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips : 1730.15
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Pentium III (Coppermine)
stepping : 10
cpu MHz : 868.668
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips : 1736.70
写了两个脚本给你参考一下
#! /bin/sh
# filename: getmeminfo
info=$(cat /proc/meminfo | grep Mem
# echo $info
. parsing $info
#end
#chmod u+x getmeminfo
脚本二:
#! /bin/sh
# filename: parsing
echo $@
echo $0
echo $1
echo $2
echo $3
echo $4
echo $5
echo $6
echo $7
#end
执行结果如下:
Mem: 525185024 517795840 7389184 44462080 155910144 132431872
./meminfo
Mem:
525185024
517795840
7389184
44462080
155910144
132431872
CPU的占用建议使用sar命令进行统计
对不起啊,我弄错了,那该怎么办呢?
我认为可以把主机的这些文件Mail给服务器,在服务器上写个程序,提取某些关心的字段,形成可导入数据库的文件导入到数据库中,定时比如每个小时执行这个程序,在用PHP写个个前台浏览的。
我关心的是收集了这些信息之后怎样利用他们来均衡你域的进程。