1 準備監控機
linux 系統,普通伺服器即可,要求:
安裝ssh 用戶端,如果要傳送簡訊,還需準備簡訊貓並且安裝 gnokii或者 gammu
2 編輯ssh_config 設定檔
/etc/ssh/ssh_config 設定檔,設定"GSSAPIAuthentication no"
被監控的linux 編輯 /etc/ssh/sshd_config ,添加 UseDNS no ,最後重啟sshd
3 使用密匙登入linux 主機
4 建立sh 目錄,用於存放shell 指令碼
mkdir -p /root/sh/crontab/log
sh 目錄存放shell 指令碼
crontab/log 目錄存放錯誤資訊
5 準備設定檔
複製代碼 代碼如下:
cat /root/sh/CONFIG
MOBILES="13xxxxxxxxx 18xxxxxxxxx 13xxxxxxxxx"
MAILS="dongnan@jb51.net user2@jb51.net"
ESXI_HOSTS="192.168.57.91 192.168.57.93"
PHYSICAL_HOSTS="192.168.57.112 192.168.0.1 192.168.57.99"
LINUX_WEB_HOSTS="192.168.57.82 192.168.57.70 10.0.100.72 10.0.100.73 10.0.100.75 10.0.100.76 10.0.100.77 10.0.100.78"
WIN_WEB_HOSTS="10.0.100.81 10.0.100.83"
DB_SLAVE_HOSTS="10.0.100.82"
ALLHOSTS="$ESXI_HOSTS $PHYSICAL_HOSTS $LINUX_WEB_HOSTS $WIN_WEB_HOSTS $DB_SLAVE_HOSTS"
注意:此設定檔用於定義全域變數,包括ip 地址,郵件地址,電話號碼等等.
6 crontab任務計劃
複製代碼 代碼如下:
crontab -l
#ping
*/1 * * * * /root/sh/chk_ping.sh >> /root/sh/cron.log 2>&1
#df
* * * * * /root/sh/chk_df.sh >> /root/sh/cron.log 2>&1
#load
*/1 * * * * /root/sh/chk_load.sh >> /root/sh/cron.log 2>&1
#mysql_replicate
*/1 * * * * /root/sh/chk_mysql_replicate.sh >> /root/sh/cron.log 2>&1
#web
*/1 * * * * /root/sh/chk_web.sh >> /root/sh/cron.log 2>&1
#xxxx
#......................................
注意:指令碼執行時間]需按照指令碼實際功能來制定,例如 chk_df 監控伺服器磁碟空間,每小時執行一次就可以了;
所有監控指令碼在 rhel5/centos5 下測試正常,其它linux 系統請自行測試。