使用Shell腳本監控主機
- 撰寫腳本程式sysmon.sh,組織好各種代碼
- 驗證腳本執行效果、郵件發送效果
- 配置計劃任務,每半小時呼叫一次sysmon.sh腳本
撰寫腳本程式sysmon.sh,組織好各種代碼
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# vim sysmon.sh
#!/bin/bash
#提取性能監控指標(磁盤占用、CPU使用、記憶體使用)
DUG=$(df -h | grep "/$" | awk '{print $5}' | awk -F% '{print $1}')
CUG=$(expr 100 - $(mpstat | tail -1 | awk '{print $12}' | awk -F. '{print $1}'))
MUG=$(expr $(free | grep "Mem:" | awk '{print $3}') \* 100 / $(free | grep "Mem:" | awk '{print $2}'))
#設定告警日志檔案、告警郵箱
ALOG="/mnt/www.txt" # 日志檔案的變數
AMAIL="root" # 發送到郵箱的變數
#判斷是否記錄告警
if [ $DUG -gt 80 ]
then
echo "磁盤占用率:$DUG %" >> $ALOG
fi
if [ $CUG -gt 70 ]
then
echo "CPU使用率:$CUG %" >> $ALOG
fi
if [ $MUG -gt 80 ]
then
echo "記憶體使用率:$MUG %" >> $ALOG
fi
#判斷是否發送告警郵件,最后洗掉告警日志檔案
if [ -f $ALOG ]
then
cat $ALOG | mail -s "Host Alert" $AMAIL
rm -rf $ALOG
fi

驗證腳本執行效果、郵件發送效果

配置計劃任務,每半小時呼叫一次sysmon.sh腳本
[root@localhost mnt]# systemctl status crond 查看計劃任務是否在運行狀態
[root@localhost mnt]# crontab -e
crontab: no changes made to crontab
[root@localhost mnt]# crontab -l
*/30 * * * * /usr/bin/sh /mnt/sysmon.sh
[root@localhost mnt]#
實驗完成
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/4317.html
標籤:python
上一篇:【Jenkins自動化部署】Ubuntu的服務端部署
下一篇:DNS快取服務的部署
