服務器性能檢測腳本(CPU、內存、硬盤空間)

環境需求:實時監控服務器內存使用率、CPU使用率或者硬盤使用量,當大於90%時,自動通過郵件方式告知網絡管理員

因爲公司的客戶併發並不多,也沒用zabbix等監控軟件專業的去操作.

1腳本內容:

#!/bin/bash

##############################################

#Author: kouhao - [email protected]

#Last modified: 2017-04-20 09:50

#Filename: jiankong.sh

#Description:

##############################################

#獲取cpu使用率

cpuUsage=`top -n 1 | head -5 | awk -F '[%]+' 'NR==3 {print $2}'`

#獲取磁盤使用率

data_name="/dev/vda1"     設置爲客戶數據盤掛載路徑

diskUsage=`df -h | grep $data_name | awk -F'[ %]+' '{print $5}'`

logFile=/tmp/jiankong.log

#獲取內存情況

mem_total=`free -m | awk -F '[ :]+''NR==2{print $2}'`

mem_used=`free -m | awk -F '[ :]+''NR==3{print $3}'`

#統計內存使用率

mem_used_persent=`awk 'BEGIN{printf"%.0f\n",('$mem_used'/'$mem_total')*100}'`

#獲取報警時間

now_time=`date '+%F %T'`

function send_mail(){

       mail -s "監控報警" [email protected] </tmp/jiankong.log

}

function check(){

       if [[ "$cpuUsage" > 90 ]] || [[ "$diskUsage" >90 ]] || [[ "$mem_used_persent" > 90 ]];then

                echo "報警時間:${now_time}" > $logFile

                echo "CPU使用率:${cpuUsage}% --> 磁盤使用率:${diskUsage}%--> 內存使用率:${mem_used_persent}%" >>$logFile

                send_mail

       fi

}

function main(){

        check

}

main

2寫入計劃任務,每半小時執行一次

crontab –e  在最下面加入這一行:

*/30 * * * * /root/jiankong.sh

 

設置完成後,重啓cron即可使設置的計劃任務定時執行了,重啓命令如下:

 

service crond restart

附:腳本截圖和最後實現結果


 wKiom1j4RgGy-BwpAAC8Uq_twJo824.png-wh_50

最終實現結果:

wKioL1j4RlaA1OEEAABcCIae8mo112.png-wh_50


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章