运维 -- SHELL命令与服务器每日巡检

       系统终于上线了,需要对服务器状态进行监控,没有经费没有人开发对应的监控系统,想用现成开源产品,考虑到服务器可怜的配置,只好使用Shell命令抓取主机内存,CPU,磁盘等信息,进行日常巡检。

内存使用量监控

      Linux系统提供了top ,free 等命令可以随时查看内存的使用情况。考虑到要定时多次收集内存使用情况,采用了从/proc/meminfo 文件中定时多次抓取系统内存具体信息,根据自己的需要进行业务加工处理。主要使用 cat,grep ,awk,let,tee,wc,echo , | 等shell命令。

MEMFREE=`cat /proc/meminfo | grep MemFree | awk '{ print $2}'`

MEMTOTAL=`cat /proc/meminfo | grep MemTotal  | awk '{ print $2}'`

MEMAVAILABLE=`cat /proc/meminfo | grep MemAvailable | awk '{ print $2}'`

MEMFREE=`cat /proc/meminfo | grep MemFree | awk '{ print $2}'`

CACHED=`cat /proc/meminfo | grep ^Cached | awk '{ print $2}'`

let "MEMUSERATE=($MEMTOTAL-$MEMAVAILABLE)*100/$MEMTOTAL"

echo "Memory Total : $MEMTOTAL KB" | tee -a /opt/logs/check-system.log

echo "Memory Free : $MEMFREE KB" | tee -a /opt/logs/check-system.log

echo "Memory Available : $MEMAVAILABLE KB" | tee -a /opt/logs/check-system.log

echo "Memory Cached : $CACHED KB"  | tee -a /opt/logs/check-system.log

echo "Memory use rate : $MEMUSERATE%"   | tee -a /opt/logs/check-system.log

CPU使用量监控

       从/proc/stat文件中获取CPU的各种信息,进行计算。方法与内存使用量监控方法大体相同,这里就不再举例。可以在网上查到stat具体数据描述。

磁盘使用量监控

       从/proc/diskstats文件中获取磁盘的各种信息,进行计算。方法与内存使用量监控方法大体相同,这里就不再举例。可以在网上查到diskstats具体数据描述。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。