亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

Linux服務器硬件運行狀態及故障郵件提醒的監控腳本分享

2020-07-27 19:02:48
字體:
來源:轉載
供稿:網友

監控硬件運行狀況

shell 監控cpu,memory,load average,記錄到log,當負載壓力時,發電郵通知管理員。
原理:
1.獲取cpu,memory,load average的數值
2.判斷數值是否超過自定義的范圍,例如(CPU>90%,Memory<10%,load average>2)
3.如數值超過范圍,發送電郵通知管理員。發送有時間間隔,每小時只會發送一次。
4.將數值寫入log。
5.設置crontab 每30秒運行一次。

ServerMonitor.sh

#!/bin/bash  # 系統監控,記錄cpu、memory、load average,當超過規定數值時發電郵通知管理員  # *** config start ***  # 當前目錄路徑 ROOT=$(cd "$(dirname "$0")"; pwd)  # 當前服務器名 HOST=$(hostname)  # log 文件路徑 CPU_LOG="${ROOT}/logs/cpu.log" MEM_LOG="${ROOT}/logs/mem.log" LOAD_LOG="${ROOT}/logs/load.log"  # 通知電郵列表 NOTICE_EMAIL='admin@admin.com'  # cpu,memory,load average 記錄上一次發送通知電郵時間 CPU_REMARK='/tmp/servermonitor_cpu.remark' MEM_REMARK='/tmp/servermonitor_mem.remark' LOAD_REMARK='/tmp/servermonitor_loadaverage.remark'  # 發通知電郵間隔時間 REMARK_EXPIRE=3600 NOW=$(date +%s)  # *** config end ***   # *** function start ***  # 獲取CPU占用 function GetCpu() {   cpufree=$(vmstat 1 5 |sed -n '3,$p' |awk '{x = x + $15} END {print x/5}' |awk -F. '{print $1}')   cpuused=$((100 - $cpufree))   echo $cpuused    local remark   remark=$(GetRemark ${CPU_REMARK})    # 檢查CPU占用是否超過90%   if [ "$remark" = "" ] && [ "$cpuused" -gt 90 ]; then     echo "Subject: ${HOST} CPU uses more than 90% $(date +%Y-%m-%d' '%H:%M:%S)" | sendmail ${NOTICE_EMAIL}     echo "$(date +%s)" > "$CPU_REMARK"   fi }  # 獲取內存使用情況 function GetMem() {   mem=$(free -m | sed -n '3,3p')   used=$(echo $mem | awk -F ' ' '{print $3}')   free=$(echo $mem | awk -F ' ' '{print $4}')   total=$(($used + $free))   limit=$(($total/10))   echo "${total} ${used} ${free}"    local remark   remark=$(GetRemark ${MEM_REMARK})    # 檢查內存占用是否超過90%   if [ "$remark" = "" ] && [ "$limit" -gt "$free" ]; then     echo "Subject: ${HOST} Memory uses more than 90% $(date +%Y-%m-%d' '%H:%M:%S)" | sendmail ${NOTICE_EMAIL}     echo "$(date +%s)" > "$MEM_REMARK"   fi }  # 獲取load average function GetLoad() {   load=$(uptime | awk -F 'load average: ' '{print $2}')   m1=$(echo $load | awk -F ', ' '{print $1}')   m5=$(echo $load | awk -F ', ' '{print $2}')   m15=$(echo $load | awk -F ', ' '{print $3}')   echo "${m1} ${m5} ${m15}"    m1u=$(echo $m1 | awk -F '.' '{print $1}')    local remark   remark=$(GetRemark ${LOAD_REMARK})    # 檢查是否負載是否有壓力   if [ "$remark" = "" ] && [ "$m1u" -gt "2" ]; then     echo "Subject: ${HOST} Load Average more than 2 $(date +%Y-%m-%d' '%H:%M:%S)" | sendmail ${NOTICE_EMAIL}     echo "$(date +%s)" > "$LOAD_REMARK"   fi }  # 獲取上一次發送電郵時間 function GetRemark() {   local remark    if [ -f "$1" ] && [ -s "$1" ]; then     remark=$(cat $1)      if [ $(( $NOW - $remark )) -gt "$REMARK_EXPIRE" ]; then       rm -f $1       remark=""     fi   else     remark=""   fi    echo $remark }   # *** function end ***  cpuinfo=$(GetCpu) meminfo=$(GetMem) loadinfo=$(GetLoad)  echo "cpu: ${cpuinfo}" >> "${CPU_LOG}" echo "mem: ${meminfo}" >> "${MEM_LOG}" echo "load: ${loadinfo}" >> "${LOAD_LOG}"  exit 0 


監控網站是否異常
shell 監控網站是否異常的腳本,如有異常自動發電郵通知管理員。
流程:
1.檢查網站返回的http_code是否等于200,如不是200視為異常。
2.檢查網站的訪問時間,超過MAXLOADTIME(10秒)視為異常。
3.發送通知電郵后,在/tmp/monitor_load.remark記錄發送時間,在一小時內不重復發送,如一小時后則清空/tmp/monitor_load.remark。

#!/bin/bash  SITES=("http://web01.example.com" "http://web02.example.com") # 要監控的網站 NOTICE_EMAIL='me@example.com'                 # 管理員電郵 MAXLOADTIME=10                        # 訪問超時時間設置 REMARKFILE='/tmp/monitor_load.remark'             # 記錄時否發送過通知電郵,如發送過則一小時內不再發送 ISSEND=0                           # 是否有發送電郵 EXPIRE=3600                          # 每次發送電郵的間隔秒數 NOW=$(date +%s)  if [ -f "$REMARKFILE" ] && [ -s "$REMARKFILE" ]; then   REMARK=$(cat $REMARKFILE)      # 刪除過期的電郵發送時間記錄文件   if [ $(( $NOW - $REMARK )) -gt "$EXPIRE" ]; then     rm -f ${REMARKFILE}     REMARK=""   fi else   REMARK="" fi  # 循環判斷每個site for site in ${SITES[*]}; do    printf "start to load ${site}/n"   site_load_time=$(curl -o /dev/null -s -w "time_connect: %{time_connect}/ntime_starttransfer: %{time_starttransfer}/ntime_total: %{time_total}" "${site}")   site_access=$(curl -o /dev/null -s -w %{http_code} "${site}")   time_total=${site_load_time##*:}    printf "$(date '+%Y-%m-%d %H:%M:%S')/n"   printf "site load time/n${site_load_time}/n"   printf "site access:${site_access}/n/n"    # not send   if [ "$REMARK" = "" ]; then     # check access     if [ "$time_total" = "0.000" ] || [ "$site_access" != "200" ]; then       echo "Subject: ${site} can access $(date +%Y-%m-%d' '%H:%M:%S)" | sendmail ${NOTICE_EMAIL}       ISSEND=1     else       # check load time       if [ "${time_total%%.*}" -ge ${MAXLOADTIME} ]; then         echo "Subject: ${site} load time total:${time_total} $(date +%Y-%m-%d' '%H:%M:%S)" | sendmail ${NOTICE_EMAIL}         ISSEND=1       fi     fi   fi  done  # 發送電郵后記錄發送時間 if [ "$ISSEND" = "1" ]; then   echo "$(date +%s)" > $REMARKFILE fi  exit 0 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久国产精品| 午夜精品一区二区三区在线视频| 精品福利在线看| 日本成人黄色片| 国产精品久久久久久亚洲调教| 91久久久久久国产精品| 亚洲欧美制服中文字幕| 国产精品视频不卡| 在线亚洲国产精品网| 成人性生交大片免费看视频直播| 欧美麻豆久久久久久中文| 成人福利在线视频| 在线丨暗呦小u女国产精品| 欧美日本精品在线| 日韩美女福利视频| 91网站在线看| 中日韩美女免费视频网站在线观看| 精品国产一区二区三区四区在线观看| 欧美一区二区三区免费观看| 亚洲国产精品小视频| 中文字幕日韩欧美| 欧美日韩黄色大片| 九九热视频这里只有精品| 成人天堂噜噜噜| 国产网站欧美日韩免费精品在线观看| www.日韩免费| 日韩久久精品成人| 久久这里有精品视频| 精品国产91久久久| 亚洲国产成人久久综合一区| 亚洲精品永久免费精品| 久久久久中文字幕2018| 一区二区亚洲欧洲国产日韩| 不卡av在线播放| 欧美野外猛男的大粗鳮| 欧美一级淫片aaaaaaa视频| 欧美亚洲国产日本| 日韩中文字幕在线精品| 91午夜理伦私人影院| 欧美久久精品午夜青青大伊人| 久久99精品久久久久久噜噜| 国产精品成人播放| 日韩欧美在线第一页| 亚洲丁香婷深爱综合| 欧美激情视频免费观看| 国产伊人精品在线| 久久免费观看视频| 日韩高清人体午夜| 国产精品久久久久9999| 91精品国产91久久久久久不卡| 亚洲国产精品久久久| 日韩视频一区在线| www.亚洲一区| 亚洲第一精品电影| 91麻豆国产精品| 国产精品久久久久久久久久久久| 久久久久久久久久久亚洲| 国产日韩专区在线| 亚洲电影av在线| 国产精品视频成人| 日本在线精品视频| 久久精品国产视频| 久久久在线视频| 欧美性色视频在线| 欧美国产日本高清在线| 日韩成人av一区| 亚洲毛片在线观看| 午夜精品美女自拍福到在线| 伊人伊成久久人综合网小说| 亚洲成人久久网| 亚洲成人网av| 久久精品国产69国产精品亚洲| 北条麻妃在线一区二区| 一道本无吗dⅴd在线播放一区| 亚洲欧美精品中文字幕在线| 麻豆国产精品va在线观看不卡| 久久精品国产69国产精品亚洲| 国产精品视频免费在线观看| 国产精品中文久久久久久久| 青草青草久热精品视频在线网站| 欧美有码在线视频| 亚洲人成绝费网站色www| 亚洲免费人成在线视频观看| 国产午夜精品美女视频明星a级| 91精品国产91久久久久久吃药| 欧美天堂在线观看| 97人洗澡人人免费公开视频碰碰碰| 国产91成人在在线播放| 国产精品成av人在线视午夜片| 亚洲最新av网址| 成人羞羞国产免费| 欧美国产一区二区三区| 成人免费看片视频| 欧美贵妇videos办公室| 92裸体在线视频网站| 亚洲欧美国产制服动漫| 精品久久久久久久大神国产| 亚洲激情免费观看| 国产69久久精品成人看| 久久久久亚洲精品国产| 日本久久中文字幕| 色偷偷噜噜噜亚洲男人的天堂| 97视频在线观看网址| 亚洲美女动态图120秒| 精品久久久久久久久久ntr影视| 久久精品夜夜夜夜夜久久| 性色av香蕉一区二区| 欧美重口另类videos人妖| 久久精品视频中文字幕| www.欧美精品| 欧美精品18videos性欧| 日韩电影中文字幕一区| 尤物精品国产第一福利三区| 成人信息集中地欧美| 国产精品永久在线| 国产97在线|日韩| 国产精品国语对白| 中文字幕亚洲字幕| 久久久精品影院| 91精品国产电影| 亚洲美女av网站| 亚洲日本成人女熟在线观看| 国产欧美精品xxxx另类| 免费97视频在线精品国自产拍| 国产福利精品在线| 欧美性猛交xxxx乱大交| 国产精品夫妻激情| 欧美性色19p| 久久综合免费视频影院| 欧美老女人性生活| 日韩精品久久久久久久玫瑰园| 精品久久久久人成| 亚洲一区二区在线| 亚洲人成绝费网站色www| 精品久久久一区| 精品偷拍一区二区三区在线看| 亚洲3p在线观看| 国产日韩专区在线| 日韩精品免费在线| 国产精品入口福利| 国产91精品久久久久久久| 国产精品爽爽爽爽爽爽在线观看| 日韩少妇与小伙激情| 中文字幕亚洲精品| 欧美亚洲视频一区二区| 亚洲综合色激情五月| 亚洲欧美国产制服动漫| 91九色单男在线观看| 久久亚洲精品一区| 国产精品自在线| 国产日韩换脸av一区在线观看| 国内揄拍国内精品少妇国语| 国产精品久久久久久网站| 欧美在线影院在线视频| 97成人精品区在线播放| 日韩一区二区久久久| 日本三级韩国三级久久| 亚洲一区免费网站| 久久久亚洲国产| 欧美最猛黑人xxxx黑人猛叫黄| 国产福利视频一区| 久久久91精品国产一区不卡| 亚洲人成电影在线| 国产精品综合不卡av|