运维 -- 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具体数据描述。

你可能感兴趣的:(运维 -- SHELL命令与服务器每日巡检)