国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Linux系統(tǒng)的負(fù)載與CPU、內(nèi)存、硬盤、用戶數(shù)監(jiān)控的shell腳本

  利用Shell腳本來監(jiān)控Linux系統(tǒng)的負(fù)載、CPU、內(nèi)存、硬盤、用戶登錄數(shù)。

  這幾天在學(xué)習(xí)研究shell腳本,寫的一些系統(tǒng)負(fù)載、CPU、內(nèi)存、硬盤、用戶數(shù)監(jiān)控腳本程序。在沒有nagios監(jiān)控的情況下,只要服務(wù)器能上互聯(lián)網(wǎng),就可通過發(fā)郵件的方式來提醒管理員系統(tǒng)資源的使用情況。

一、編寫linux系統(tǒng)告警郵件腳本

# vim /scripts/sys-warning.sh
#!/bin/bash#監(jiān)控系統(tǒng)負(fù)載與CPU、內(nèi)存、硬盤、登錄用戶數(shù),超出警戒值則發(fā)郵件告警。#提取本服務(wù)器的IP地址信息IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`# 1、監(jiān)控系統(tǒng)負(fù)載的變化情況,超出時發(fā)郵件告警:#抓取cpu的總核數(shù)cpu_num=`grep -c 'model name' /proc/cpuinfo`#抓取當(dāng)前系統(tǒng)15分鐘的平均負(fù)載值load_15=`uptime | awk '{print $12}'`#計算當(dāng)前系統(tǒng)單個核心15分鐘的平均負(fù)載值,結(jié)果小于1.0時前面?zhèn)€位數(shù)補0。average_load=`echo "scale=2;a=$load_15/$cpu_num;if(length(a)==scale(a)) print 0;print a" | bc`#取上面平均負(fù)載值的個位整數(shù)average_int=`echo $average_load | cut -f 1 -d "."`#設(shè)置系統(tǒng)單個核心15分鐘的平均負(fù)載的告警值為0.70(即使用超過70%的時候告警)。load_warn=0.70#當(dāng)單個核心15分鐘的平均負(fù)載值大于等于1.0(即個位整數(shù)大于0) ,直接發(fā)郵件告警;如果小于1.0則進行二次比較if (($average_int > 0)); thenecho "$IP服務(wù)器15分鐘的系統(tǒng)平均負(fù)載為$average_load,超過警戒值1.0,請立即處理!?。? | mutt -s "$IP 服務(wù)器系統(tǒng)負(fù)載嚴(yán)重告警?。?!" test@126.comelse#當(dāng)前系統(tǒng)15分鐘平均負(fù)載值與告警值進行比較(當(dāng)大于告警值0.70時會返回1,小于時會返回0 )load_now=`expr $average_load \> $load_warn`#如果系統(tǒng)單個核心15分鐘的平均負(fù)載值大于告警值0.70(返回值為1),則發(fā)郵件給管理員if (($load_now == 1)); thenecho "$IP服務(wù)器15分鐘的系統(tǒng)平均負(fù)載達到 $average_load,超過警戒值0.70,請及時處理。" | mutt -s "$IP 服務(wù)器系統(tǒng)負(fù)載告警" test@126.comfifi# 2、監(jiān)控系統(tǒng)cpu的情況,當(dāng)使用超過80%的時候發(fā)告警郵件:#取當(dāng)前空閑cpu百份比值(只取整數(shù)部分)cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $5}' | cut -f 1 -d "."`#設(shè)置空閑cpu的告警值為20%,如果當(dāng)前cpu使用超過80%(即剩余小于20%),立即發(fā)郵件告警if (($cpu_idle < 20)); thenecho "$IP服務(wù)器cpu剩余$cpu_idle%,使用率已經(jīng)超過80%,請及時處理。" | mutt -s "$IP 服務(wù)器CPU告警" test@126.comfi# 3、監(jiān)控系統(tǒng)交換分區(qū)swap的情況,當(dāng)使用超過80%的時候發(fā)告警郵件:#系統(tǒng)分配的交換分區(qū)總量swap_total=`free -m | grep Swap | awk '{print $2}'`#當(dāng)前剩余的交換分區(qū)free大小swap_free=`free -m | grep Swap | awk '{print $4}'`#當(dāng)前已使用的交換分區(qū)used大小swap_used=`free -m | grep Swap | awk '{print $3}'`if (($swap_used != 0)); then#如果交換分區(qū)已被使用,則計算當(dāng)前剩余交換分區(qū)free所占總量的百分比,用小數(shù)來表示,要在小數(shù)點前面補一個整數(shù)位0swap_per=0`echo "scale=2;$swap_free/$swap_total" | bc`#設(shè)置交換分區(qū)的告警值為20%(即使用超過80%的時候告警)。swap_warn=0.20#當(dāng)前剩余交換分區(qū)百分比與告警值進行比較(當(dāng)大于告警值(即剩余20%以上)時會返回1,小于(即剩余不足20%)時會返回0 )swap_now=`expr $swap_per \> $swap_warn`#如果當(dāng)前交換分區(qū)使用超過80%(即剩余小于20%,上面的返回值等于0),立即發(fā)郵件告警if (($swap_now == 0)); thenecho "$IP服務(wù)器swap交換分區(qū)只剩下 $swap_free M 未使用,剩余不足20%,使用率已經(jīng)超過80%,請及時處理。" | mutt -s "$IP 服務(wù)器內(nèi)存告警" test@126.comfifi# 4、監(jiān)控系統(tǒng)硬盤根分區(qū)使用的情況,當(dāng)使用超過80%的時候發(fā)告警郵件:#取當(dāng)前根分區(qū)(/dev/sda3)已用的百份比值(只取整數(shù)部分)disk_sda3=`df -h | grep /dev/sda3 | awk '{print $5}' | cut -f 1 -d "%"`#設(shè)置空閑硬盤容量的告警值為80%,如果當(dāng)前硬盤使用超過80%,立即發(fā)郵件告警if (($disk_sda3 > 80)); thenecho "$IP 服務(wù)器 /根分區(qū) 使用率已經(jīng)超過80%,請及時處理。" | mutt -s "$IP 服務(wù)器硬盤告警" test@126.comfi#5、監(jiān)控系統(tǒng)用戶登錄的情況,當(dāng)用戶數(shù)超過3個的時候發(fā)告警郵件:#取當(dāng)前用戶登錄數(shù)(只取數(shù)值部分)users=`uptime | awk '{print $6}'`#設(shè)置登錄用戶數(shù)的告警值為3個,如果當(dāng)前用戶數(shù)超過3個,立即發(fā)郵件告警if (($users >= 3)); thenecho "$IP 服務(wù)器用戶數(shù)已經(jīng)達到$users個,請及時處理。" | mutt -s "$IP 服務(wù)器用戶數(shù)告警" test@126.comfi
# chmod a+x /scripts/sys-warning.sh

二、加入任務(wù)計劃:每十分鐘檢測一次,有告警則立即發(fā)郵件(十分鐘發(fā)一次)。

# crontab -e*/10 * * * *  /scripts/sys-warning.sh # service crond restart

三、要實現(xiàn)服務(wù)器能夠發(fā)郵件,須開啟Sendmail服務(wù)或是安裝linux下面的一個郵件客戶端msmtp軟件(類似于一個foxmail的工具)

1、下載安裝:http://downloads.sourceforge.net/msmtp/msmtp-1.4.16.tar.bz2?modtime=1217206451&big_mirror=0

# tar jxvf msmtp-1.4.16.tar.bz2# cd msmtp-1.4.16# ./configure --prefix=/usr/local/msmtp# make# make install

2、創(chuàng)建msmtp配置文件和日志文件(host為郵件域名,郵件用戶名test,密碼123456)  

# vim ~/.msmtprcaccount default  host 126.comfrom test@126.comauth loginuser testpassword 123456logfile ~/.msmtp.log# chmod 600  ~/.msmtprc# touch ~/.msmtp.log

3、mutt安裝配置:(一般linux下有默認(rèn)安裝mutt)  

set sendmail="/usr/local/msmtp/bin/msmtp"set use_from=yesset realname="memory"set from=test@126.comset envelope_from=yesset rfc2047_parameters=yesset charset="utf-8" 

4、郵件發(fā)送測試(-s郵件標(biāo)題)   # echo "郵件內(nèi)容123456" | mutt -s "郵件標(biāo)題測試郵件"   test@126.com

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Mutt + GMail Makes Perfect
zabbix配置郵件報警
mutt+getmail+msmtp收發(fā)郵件
linux 分別使用mail命令和mutt命令發(fā)送郵件
神級程序員的Python爬蟲!服務(wù)器定時發(fā)郵件(知識點全面)
linux 系統(tǒng)負(fù)載
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服