HP Unix 主機內存監控告警shell腳本
memory_monitor.sh 腳本內容如下:
#告警閥值30G,少於則告警,頻率 30分鐘 檢查一次
normal=30
while :
do
#取得總內存
allmem=`/usr/contrib/bin/machinfo|grep Memory|grep MB|awk '{print $2}'`;
#取得內存分頁數
freemk=`vmstat 5 2 | tail -n 1 | awk '{print $5}'`;
#每一頁是4K ,所以乘以4
freemm=`expr $freemk \* 4`;
#轉換為 G
freemem=`echo $freemm/1024/1024|bc`;
echo `date +%Y%m%d%H%M`" Memory:" $allmem"M" all $freemem"G" avail;
if [ $freemem -lt $normal ]
then
echo "當前內存"$freemem"G,少於"$normal"G" #打印告警信息 這裡可以插入短信庫,發送至手機
fi
echo "sleep 300 seconds"
sleep 1800 #30分鐘告警一次
done