需要编写Linux程序来获得基本的系统统计信息

我花了很多时间手动报告从Cacti监测工具和/或Top和ps命令获得的基本Linux系统状态。 我基本上是用以下格式写一个报告:

Host: <name value> CPU Util: <value> (if Idle % is 100 - 60% print "Good" ; if Idle % is 60 - 30% print "Fair"; if Idle % is 30 - 0% print "Bad") Memory Util: <value> (if Free Mem % is 100 - 60% print "Good" ; if Free Mem % is 60 - 30% print "Fair"; if Free Mem % is 30 - 0% print "Bad") Up since: (check date PID was started; calculate number of days/hours PID has been runninig; print value) Email Frequency: Select (every 60 mins | every 24 hours ) Format HTML Send email to recipients End. 

我很确定这可以在Shell脚本和Cron作业中完成,不知道它是否更容易作为Perl脚本。 无论哪种方式,我愿意为上述pipe理任务学习最有效和最简单的解决scheme。

您可以使用atsar来获取有关CPU,磁盘和磁盘分区,内存和交换,tty,TCP / IP(v4 / v6),NFS和FTP / HTTPstream量的使用情况的定期统计信息。

这是Solaris和其他Unices中的“sar”命令的Linux版本。

安装并configuration“ sysstat ”