shell監控多台主機

來源:互聯網
上載者:User

標籤:shell

用shell寫了個指令碼同時監控多台主機(監控主機是否線上,cpu,記憶體,硬碟,io使用狀態,並有郵件通知功能),大神看後覺得有不當之處或有更好的實現方式,請不屑筆墨指出。


首先要在被監控主機和監控主機之間建立信任關係,不瞭解ssh認證驗證的可以看看:

http://dragon123.blog.51cto.com/9152073/1586795


安裝mutt:

[[email protected] ~]# yum install mutt


監控列表:

[[email protected] ~]# cat > iplist.txt <<end> 22.22.22.128> 22.22.22.129> 22.22.22.130> 22.22.22.134> end


監控指令碼:

#!/bin/bashfor ip in `cat iplist.txt`;doping $ip -c1>/dev/null  #先檢查主機是否線上,如果線上則進行進一步監控if [ $? -eq 0 ];thenhardused=`ssh $ip df -h|grep "/$"|awk  ‘{print $4}‘|cut -d% -f 1`memtotal=`ssh $ip free -m|grep Mem|awk ‘{print $2}‘`memused=`ssh $ip free -m|grep Mem|awk ‘{print $3}‘`mem=`expr $memused \* 100 / $memtotal`idelcpu=`ssh $ip top -n1|grep Cpu|awk ‘{print $5}‘|cut -d"." -f1`cpuused=`expr 100 - $idelcpu`if [ $mem -gt 70 ];then        #如果記憶體使用量高於70%則郵件通知echo "warm:$ip memory is $mem"|mutt -s "monitor report" [email protected]fiif [ $hardused -le 80  ];then     #如果硬碟使用已高於80%則郵件通知echo "warm:$ip the Hard drive capacity is more 80%"|mutt -s"monitor report" [email protected] fifor hardid in `ssh $ip iostat |grep ^sd|awk ‘{print $1}‘`;do    #先取盤符iostat=`ssh $ip iostat -x|grep $hardid|awk ‘{print $12}‘|cut -d"." -f1` #取得io繁忙狀態echo $iostatif [ $iostat -gt 80 ];then    #如果io繁忙高於80%,則郵件通知echo "ipaddress:$ip,hard:$hardid,iostat:$iostat"|mutt -s"warm" [email protected]fidoneelseecho "host:$ip is not alive"|mutt -s"monitor report" [email protected]om  #如果主機無法ping通則郵件通知fidone


每5分鐘監控一次(如果出現什麼問題,並且這個得不到解決,每5分鐘就收到一封郵件,這很令人糾結):

[[email protected] ~]# crontab -e

*/5 * * * * bash /root/monitor.sh


查收郵件:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/57/6C/wKiom1SZix_AScEpAAGCG6cg4vw750.jpg" title="163.png" alt="wKiom1SZix_AScEpAAGCG6cg4vw750.jpg" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/57/69/wKioL1SZjIPRo20-AAEUCsrn_a4856.jpg" title="163.png" alt="wKioL1SZjIPRo20-AAEUCsrn_a4856.jpg" />

本文出自 “龍愛雪琪” 部落格,請務必保留此出處http://dragon123.blog.51cto.com/9152073/1594076

shell監控多台主機

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.