配置服務器監控專線網絡
阿新 • • 發佈:2018-04-22
table -c ios software dea x86 公司 一個 process
A goal is a dream with a deadline. Much effort, much prosperity.
配置服務器監控專線網絡
項目介紹:
配置一臺服務器監控專線網絡的情況,(由於公司業務的原因需要用到專線進行與客戶對接)實時監控專線的狀態,如果專線不通則進行報警
報警方法有郵件報警,微信報警,和監控器報警等
公司搭建的郵件報警就是寫腳本進行監控網絡是否通暢,不通則直接發郵件進行報警,更直接,更方便相比傳統的監控器監控服務(zabbix、nagios、cacti等)更直觀,(個人意見)畢竟專線的網絡是挺重要的!微信報警則就顯得比較繁瑣更麻煩還需要調用微信的接口什麽的
項目準備:
一臺服務器,因為只有一個腳本需要跑占用的資源不大,可以放在其他服務器上(比如測試服務器,日誌服務器,監控服務器等盡量避開生產服務器)因為項目已經部署,我這裏在虛擬機上進行還原步驟
1 2 3 4 |
[root@localhost ~] # cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@localhost ~] # uname -a
Linux localhost.localdomain 2.6.32-696.16.1.el6.x86_64 #1 SMP Wed Nov 15 16:51:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux |
配置安裝:
安裝郵件系統sendmail
1 2 3 4 5 6 7 8 9 |
[root@localhost ~] # cd /usr/src/
[root@localhost src] #
wget -c http: //caspian .dotconf.net /menu/Software/SendEmail/sendEmail-v1 .56. tar .gz
[root@localhost src] # tar xf sendEmail-v1.56.tar.gz
[root@localhost src] # cd sendEmail-v1.56
[root@localhost sendEmail-v1.56] # cp -a sendEmail /usr/local/bin/
[root@localhost sendEmail-v1.56] # chmod +x /usr/local/bin/sendEmail
[root@localhost sendEmail-v1.56] # file /usr/local/bin/sendEmail
/usr/local/bin/sendEmail : a /usr/bin/perl -w script text executable
|
安裝依賴
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[root@localhost ~] # yum -y install perl-Net-SSLeay perl-IO-Socket-SSL
[root@localhost ~] # sendEmail -f [email protected] -t [email protected] -s smtp.163.com -u "你好王叔叔" -o message-content-type=html -o message-charset=utf8 -xu [email protected] -xp *** -m "郵件主題:別來無恙"
Jan 10 05:02:30 localhost sendEmail[14290]: Email was sent successfully!
命令說明:
/usr/local/bin/sendEmail #命令主程序
-f [email protected] #發件人郵箱
-t [email protected] #收件人郵箱
-s smtp.huanqi.cn #發件人郵箱的smtp服務器
-u "我是郵件主題" #郵件的標題
-o message-content- type =html #郵件內容的格式,html表示它是html格式
-o message-charset=utf8 #郵件內容編碼
-xu [email protected] #發件人郵箱的用戶名
-xp zh@123bj #發件人郵箱密碼
-m "我是郵件內容" #郵件的具體內容
|
腳本監控Script:
腳本的組成有4個文件
其中wss.sh為主腳本程序,其他三個為主程序調用的組件
組件說明:
ip.txt 為監控的專線IP地址分為兩列,一列為IP,一列為別名
mima.txt 為發件人的郵箱密碼(IMAT/SMTP密碼)可用其他程序進行加密
sou.txt 為收件人的郵箱,報警則會向此文件裏的所有郵箱發一份
wss.sh 為主程序,用於監控專線,對端IP或主機,調用其他三個文件,異常報警
script-wss.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#!/bin/bash
DATE=` date + "%Y-%m-%d %H:%M" `
IP=路徑 /ip .txt
MAIL= ‘發件人@163.com‘
mima=` cat . /mima .txt`
for ip in $( cat $IP | sed ‘/^#/d‘ | awk ‘{print $1}‘ )
do
name=$( cat $IP | grep $ip | awk ‘{print $2}‘ )
neirong=$( echo -e "時間:$DATE\n地址:$ip\n專線:$name\n內容:專線異常" )
ping -c 10 -i 0.1 $ip &> /dev/null
if [ $? - ne 0 ]
then
for i in $( cat . /sou .txt)
do
/usr/local/bin/sendEmail -f $MAIL -t $i -s smtp.163.com -u "$name 異常通知" -o message-content- type =html -o message-charset=utf8 -xu 發件人@163.com -xp $mima -m "$neirong"
done
fi
done
|
script-sou.txt
裏面寫的都是收件人的郵箱
1 2 3 |
[email protected]
[email protected]
abc@.....
|
script-ip.txt
裏面的第一列都是要監控的IP地址,第二列為第一列的別名
1 2 3 4 5 6 7 8 9 |
114.114.114.114 美國
192.168.5.1 泰國
192.168.70.70 光大
192.168.3.3 新加坡
182.168.5.222 韓國
192.168.5.222 加拿大
8.8.8.8 日本
223.5.5.5 南國
133.226.7.7 緬甸
|
script-mima.txt
可以用加密工具進行加密,也可以用shc進行轉換,shc可以把寫的所有腳本轉換為c語言寫的可執行文件,shc的詳解後續我會再寫
1 |
存放發件人的SMTP密碼
|
註意
如要使用本腳本需按實際情況進行修改(路徑,郵箱,smtp)!
配置服務器監控專線網絡