当前位置: 技术问答>linux和unix
如何监视Linux下,系统硬件的运行状态
来源: 互联网 发布时间:2015-11-01
本文导语: 需要编写网管程序,想监控Linux下,系统硬件的运行状态,如硬盘、显卡、网卡、内存等等是否一切正常。对于这些硬件的运行状态,Linux系统是可以监测到的,我现在想用程序实现,请各位大虾不吝相告! ...
需要编写网管程序,想监控Linux下,系统硬件的运行状态,如硬盘、显卡、网卡、内存等等是否一切正常。对于这些硬件的运行状态,Linux系统是可以监测到的,我现在想用程序实现,请各位大虾不吝相告!
|
一般是读proc文件。
你可以
man 5 proc
比如/proc/stat
文件显示一些系统信息:cpu、disk io等等
看一下每一个proc文件的详细作用,不过要想做的好,最好参考一下现成的源码。
比如ntop就是一个很好的基于web的网络监控软件。
webmin是一个很好的基于web的系统监控软件。
你可以
man 5 proc
比如/proc/stat
文件显示一些系统信息:cpu、disk io等等
看一下每一个proc文件的详细作用,不过要想做的好,最好参考一下现成的源码。
比如ntop就是一个很好的基于web的网络监控软件。
webmin是一个很好的基于web的系统监控软件。
|
硬盘、网卡、内存等信息net-snmp本身自带的agent就提供啊。walk下ucdavis和system节点,看看够不够用。以前使用过net-snmp(ucd-snmp),它的agent的数据大多取自/proc。
几秒就get下数据,对于网管软件太夸张了吧。一块比较冷的硬盘,agent采集一次数据也需要不少的时间,呵呵,至少不只几秒。
紧急情况还是用trap吧。
几秒就get下数据,对于网管软件太夸张了吧。一块比较冷的硬盘,agent采集一次数据也需要不少的时间,呵呵,至少不只几秒。
紧急情况还是用trap吧。
|
是的,系统的配置在/etc目录下。运行状态在/proc目录下,自己写程序读取其内容就可以了。
|
是不是写snmp agent呀,系统的大多数信息可以在/proc下面找到,其它的信息可以看相关程序的源代码
|
如果是单独的一个SHELL还可以读PROC文件, 但是如果是要在一个程序中得到这些信息就要用系统API了, 不然的话是很花资源的. 因为system是单独fork出一个进程
|
用shell脚本编程试试看行不行.像df,dd,dmesg等系统命令可以查看一写信息
|
在LINUX下最方便的就是读proc文件系统中的文件,至于API,基本是很少有,至少我没有看到有这些方面的API资料