配置服务器监控专线网络

Posted debugtest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置服务器监控专线网络相关的知识,希望对你有一定的参考价值。

 

A goal is a dream with a deadline. Much effort, much prosperity.

 

配置服务器监控专线网络

项目介绍:

配置一台服务器监控专线网络的情况,(由于公司业务的原因需要用到专线进行与客户对接)实时监控专线的状态,如果专线不通则进行报警

报警方法有邮件报警,微信报警,和监控器报警等

公司搭建的邮件报警就是写脚本进行监控网络是否通畅,不通则直接发邮件进行报警,更直接,更方便相比传统的监控器监控服务(zabbix、nagios、cacti等)更直观,(个人意见)毕竟专线的网络是挺重要的!微信报警则就显得比较繁琐更麻烦还需要调用微信的接口什么的

项目准备:

一台服务器,因为只有一个脚本需要跑占用的资源不大,可以放在其他服务器上(比如测试服务器,日志服务器,监控服务器等尽量避开生产服务器)因为项目已经部署,我这里在虚拟机上进行还原步骤

 

1
2
3
4
[[email protected] ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[[email protected] ~]# 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
[[email protected] ~]# cd /usr/src/
wget -c http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
[[email protected] src]# tar xf sendEmail-v1.56.tar.gz
[[email protected] src]# cd sendEmail-v1.56
[[email protected] sendEmail-v1.56]# cp -a sendEmail /usr/local/bin/
[[email protected] sendEmail-v1.56]# chmod +x /usr/local/bin/sendEmail
[[email protected] 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
[[email protected] ~]# yum -y install perl-Net-SSLeay perl-IO-Socket-SSL
[[email protected] ~]# 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  [email protected]                                    #发件人邮箱密码
-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 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

 里面写的都是收件人的邮箱

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)!

以上是关于配置服务器监控专线网络的主要内容,如果未能解决你的问题,请参考以下文章

无专线怎样实现异地监控组网

媲美专线的零遁视频监控组网

vpc+云专线配置

Zabbix与乐维监控对比分析——网络功能篇

方位话机同一号码双链路注册实现冗余

视频监控异地组网快速实现方法有哪些?