博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux利用sendmail和fetion发送报警通知
阅读量:5792 次
发布时间:2019-06-18

本文共 14005 字,大约阅读时间需要 46 分钟。

一、sendmail报警通知

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1、停止系统自带的sendmail服务
# /etc/init.d/postfix stop
 
2、安装sendmail和mailx
# yum -y install sendmail mailx
 
3、修改sendmail配置文件
# cp /etc/mail.rc /etc/mail.rc.bak
# cat >> /etc/mail.rc << EOF
set 
from=13260071987@139.com smtp=smtp.139.com 
set 
smtp-auth-user=13260071987@139.com smtp-auth-password=yi150935470xx smtp-auth=login
EOF
 
4、重新启动sendmail服务
# service sendmail restart
 
5、发送邮件通知
# echo "I love Nagios" | mail -s '邮件主题01:Today learn Nagios' 13260071987@139.com
 
# cat /etc/passwd | mail -s '邮件主题02:Today learn Nagios' 13260071987@139.com
 
# mail -s '邮件主题03:Today learn Nagios' 13260071987@139.com < /etc/issue

邮件通知如下图所示

手机短信通知如下图所示

二、fetion报警通知

1、安装解压rar格式的解压软件

1
2
3
4
5
6
7
8
9
10
[root@fetion ~]
# wget http://www.rarsoft.com/rar/rarlinux-4.0.1.tar.gz 
[root@fetion ~]
# tar xf rarlinux-4.0.1.tar.gz 
[root@fetion ~]
# cd rar
[root@fetion rar]
# make
mkdir 
-p 
/usr/local/bin
mkdir 
-p 
/usr/local/lib
cp 
rar unrar 
/usr/local/bin
cp 
rarfiles.lst 
/etc
cp 
default.sfx 
/usr/local/lib
[root@fetion rar]
# cd ..

2、下载并安装飞信的支持库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@fetion ~]
# wget http://www.it-adv.net/fetion/linuxso_20101113.rar
[root@fetion ~]
# unrar x linuxso_20101113.rar 
-
bash
/usr/local/bin/unrar
/lib/ld-linux
.so.2: bad ELF interpreter: 没有那个文件或目录
[root@fetion ~]
# yum -y install glibc.i686
[root@fetion ~]
# unrar x linuxso_20101113.rar 
unrar: error 
while 
loading shared libraries: libstdc++.so.6: cannot 
open 
shared object 
file
: No such 
file 
or directory
[root@fetion ~]
# yum -y install libstdc++.so.6
[root@fetion ~]
# yum -y install libstdc++
[root@fetion ~]
# yum -y install libstdc++.so.6
[root@fetion ~]
# unrar x linuxso_20101113.rar 
 
UNRAR 4.01 freeware      Copyright (c) 1993-2011 Alexander Roshal
 
 
Extracting from linuxso_20101113.rar
 
Extracting  libcrypto.so.4                                            OK 
Extracting  libssl.so.4                                               OK 
Extracting  libACE_SSL-5.7.2.so                                       OK 
Extracting  libACE-5.7.2.so                                           OK 
All OK
[root@fetion ~]
# mkdir -p /usr/local/fetion/lib
[root@fetion ~]
# mv lib*so* /usr/local/fetion/lib/
[root@fetion ~]
# echo "/usr/local/fetion/lib/" > /etc/ld.so.conf.d/fetion.conf
[root@fetion ~]
# ldconfig

3、下载飞信可执行程序并传到服务器里

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
[root@fetion ~]
# mv fetion /usr/local/fetion/
[root@fetion ~]
# cd /usr/local/fetion/
[root@fetion fetion]
# chmod 777 fetion 
[root@fetion fetion]
# chown nagios.nagios fetion 
[root@fetion fetion]
# ll
总用量 628
-rwxrwxrwx 1 nagios nagios 503425 9月  28 23:52 fetion
drwxr-xr-x 2 root   root     4096 9月  28 23:48 lib
[root@fetion fetion]
# ./fetion 
.
/fetion
: error 
while 
loading shared libraries: libgssapi_krb5.so.2: cannot 
open 
shared object 
file
: No such 
file 
or directory
[root@fetion ~]
# yum -y install krb5-libs libgssapi_krb5.so.2
[root@fetion fetion]
# ./fetion 
.
/fetion
: error 
while 
loading shared libraries: libz.so.1: cannot 
open 
shared object 
file
: No such 
file 
or directory
[root@fetion ~]
# yum -y install libz.so.1
 
[root@fetion fetion]
# ./fetion 
 
************************ IMPORTANT STATEMENT ************************
 
**                                                                 **
 
**   PLEASE DON'T USE THIS SOFTWARE TO SEND JUNK SHORT MESSAGES.   **
 
**   OTHERWISE PLEASE BEAR YOUR OWN CONSEQUENCES.                  **
 
**                                                                 **
 
**                                Version:[20101205002-linux]      **
 
*********************************************************************
 
This program is the console version of China Fetion!
 
It's 
free 
for 
personal user.
 
This project website: http:
//www
.it-adv.net/
 
 
AUTHOR:KelvinH MSN
/EMAIL
:shichangguo@msn.com
 
 
Usage:
    
--mobile=[mobile]  
#自已的手机号
    
--sid=[sid]
    
--
pwd
=[
pwd
]        
#自已的飞信密码
    
--config=[config 
file
] *
format
:index mobile password
    
--index=[index no 
in 
config 
file
,refer to sample.conf]
 
    
--debug  *debug mode on
    
--hide  *login fetion 
in 
hidden state
    
--to=[mobile
/sid
]   
#指定接收短信者,必须是自已好友
    
--
command
-path=[
command 
file 
path]
    
--robotmode
    
--daemon(linux only)
    
--proxy-ip(http proxy ip)
    
--proxy-port(http proxy port)
    
--msg-gb=[gb2312
/gbk 
message]
    
--msg-utf8=[utf8 message]    
#短信的内容,注意不能太长,否则会拆分成多条消息
    
--msg-
type
=[0
/1/2 
sms longsms smartmsg]
    
--
file
-gb=[gb2312
/gbk 
file
]
    
--
file
-utf8=[utf8 
file
]
    
--query-cmcc-no
    
--auto-retry
    
--
exit
-on-verifycode
    
--t3key=[http:
//www
.tui3.com
/page/smssend/
]

4、执行命令测试飞信能否正常发送短信

注释:第一次执行命令发送通知会提示输入验证码,这个验证码会自动保存在当前主程序目录下面,并以自已的手机号命名的一个图片,也就是下面的图面。然后再Windows下打开这个图片并输入验证码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
[root@fetion fetion]
# ./fetion --mobile=18237179590 --pwd=123*345 --to=18237179590 --msg-utf8="QinHeng" --debug
 
[ 00:25:58.021626] [User.cpp] [1484] nav.fetion.com.cn=221.130.45.201
[ 00:25:58.022126] [User.cpp] [1506] Before connect to nav.fetion.com.cn
[ 00:25:58.040545] [User.cpp] [1518] After connected to nav.fetion.com.cn
[ 00:25:58.251901] [SystemConfig.cpp] [104] sipc-proxy=221.176.31.1:8080
[ 00:25:58.251944] [SystemConfig.cpp] [115] parseSystemConfig 221.176.31.1:8080
[ 00:25:58.266999] [User.cpp] [1615] Before connect to uid.fetion.com.cn:443
[ 00:25:58.313536] [User.cpp] [1628] After connect to uid.fetion.com.cn:443
[ 00:25:58.417277] [User.cpp] [1431] parseSSIResult:18237179590 165618352 20472 1012841212 101
[ 00:25:58.433929] [User.cpp] [1924] After connected to  221.176.31.1:8080
[ 00:25:58.750377] [User.cpp] [2005] Need picture authentication!
[ 00:25:58.750441] [User.cpp] [756] Geting piccode.....
[ 00:25:58.757552] [User.cpp] [841] get-pic-code from nav.fetion.com.cn
[ 00:25:58.757603] [User.cpp] [849] Before connect to nav.fetion.com.cn
[ 00:25:58.768193] [User.cpp] [862] After connected to pic-code-server
HTTP
/1
.1 200 OK
Connection: close
Date: Sun, 28 Sep 2014 16:25:59 GMT
Server: Microsoft-IIS
/6
.0
X-Powered-By: ASP.NET
Content-Location: nav.fetion.com.cn
X-AspNet-Version: 4.0.30319
Cache-Control: private
Content-Type: text
/html
; charset=utf-8
Content-Length: 2361
 
<?xml version=
"1.0" 
encoding=
"UTF-8"
?><results><pic-certificate 
id
=
"937e4f7d-1ec6-4b51-aeac-4e6d92ac58b1" 
pic=
"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" 
/><
/results
>
[ 00:25:58.780389] [User.cpp] [932] Write to picture 
file
:18237179590.jpg
图形验证码已经生成,文件名为:18237179590.jpg请识别后输入图形验证码:
VYyW
您输入的识别码是:VYyW
[ 00:26:25.955548] [User.cpp] [1464] getPublicIP:10.0.0.1
[ 00:26:25.955585] [User.cpp] [2083] Register renew 
time
:600
[ 00:26:25.955642] [User.cpp] [1270] sending to:18237179590
[ 00:26:25.955657] [User.cpp] [1276] run,using cmcc mobile:18237179590
[ 00:26:25.956545] [User.cpp] [2228] wait send result
[ 00:26:25.961531] [User.cpp] [2228] wait send result
[ 00:26:25.967620] [User.cpp] [2228] wait send result
SIP-C
/4
.0 280 Send SMS OK
T: sip:165618352@fetion.com.cn;p=20472
I: 2
Q: 1 M
RQ: 75003170806
L: 112
XI: 330a2e0248f142f5a3c15a0602524436

当第二次或者以后多次执行命令的时候已经被保存在缓存文件中了,所以就不用在此输入验证码了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@fetion fetion]
# ./fetion --mobile=18237179590 --pwd=qinh132619 --to=18237179590 --msg-utf8="QinHeng To Allentuns" --debug
[ 00:41:24.719329] [User.cpp] [1924] After connected to  221.176.31.1:8080
[ 00:41:25.128726] [User.cpp] [1464] getPublicIP:10.0.0.1
[ 00:41:25.128765] [User.cpp] [2083] Register renew 
time
:600
[ 00:41:25.128807] [User.cpp] [1270] sending to:18237179590
[ 00:41:25.128821] [User.cpp] [1276] run,using cmcc mobile:18237179590
[ 00:41:25.133096] [User.cpp] [2228] wait send result
[ 00:41:25.133885] [User.cpp] [2228] wait send result
[ 00:41:25.137441] [User.cpp] [2228] wait send result
SIP-C
/4
.0 280 Send SMS OK
T: sip:165618352@fetion.com.cn;p=20472
I: 2
Q: 1 M
RQ: 75003437798
L: 112
XI: c97076e9c01345eaaca6b5894e3b79df

查看手机短信通知

错误解决方案:

1、如下图所示

飞信是针对移动手机端的,如果用联通的飞信客户端就会出现以下错误,请朋友们切记

三、Nagios的飞信fetion报警

1、配置文件的介绍

1
2
3
4
5
commands.cfg:定义飞信发送短信的命令
contacts.cfg:定义发送短息你的用户和组
templates.cfg:定义触发后要执行的动作,比如发飞信或者邮件,什么时候发,用哪个用户发
timeperiods.cfg:定义时间,工作日或者7*24,这里我使用7*24
windows106.cfg:自已创建的文件,定义监控的主机和服务,监控的动作

2、定义飞信命令

1
2
3
4
5
6
7
8
9
10
11
12
[root@Nagios ~]
# vim /usr/local/nagios/etc/objects/commands.cfg 
# 'notify-host-by-fei' command definition  
define 
command
{
        
command_name    notify-host-by-fetion
        
command_line    
/usr/local/fetion/fetion 
--mobile=18237179590 --
pwd
=qinh132619 --to=18237179590 --msg-utf8=
"$NOTIFICATIONTYPE$ Host: $HOSTNAME$ State: $HOSTSTATE$ Address: $HOSTADDRESS$ Info: $HOSTOUTPUT$ Date Time: $LONGDATETIME$"
        
}
         
# 'notify-service-by-fei' command definition   
define 
command
{
        
command_name    notify-service-by-fetion
        
command_line    
/usr/local/fetion/fetion 
--mobile=18237179590 --
pwd
=qinh132619 --to=18237179590 --msg-utf8=
"$NOTIFICATIONTYPE$ Host: $HOSTNAME$ State: $HOSTSTATE$ Address: $HOSTADDRESS$ Info: $HOSTOUTPUT$ Date Time: $LONGDATETIME$"
        
}

3、在模板里增加飞信报警方式

1
2
3
4
5
6
7
8
9
10
11
[root@NagiosServer objects]
# vim templates.cfg
define contact{
        
name                            generic-contact         
        
service_notification_period     24x7                    
        
host_notification_period        24x7                    
        
service_notification_options    w,u,c,r,f,s            
        
host_notification_options       d,u,r,f,s               
        
service_notification_commands   notify-service-by-fetion  
#增加飞信报报警,先关闭邮箱报警方式     
        
host_notification_commands      notify-host-by-fetion   
        
register                        0                       
        
}

4、重启nagios服务

1
2
3
4
[root@NagiosServer objects]
# service nagios restart
Running configuration check...
Stopping nagios: 
done
.
Starting nagios: 
done
.

5、测试:现在停止客户端的服务,比如ssh

1
2
3
4
5
6
7
8
[root@NagiosClient etc]
# netstat -tnlp |grep :22
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      4344
/sshd           
tcp        0      0 :::22                       :::*                        LISTEN      4344
/sshd           
[root@NagiosClient etc]
# netstat -tnlp |grep :22 |grep -v ':::'
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      4344
/sshd           
[root@NagiosClient etc]
# service sshd stop
停止 sshd:                                                [确定]
[root@NagiosClient etc]
# netstat -tnlp |grep :22 |grep -v ':::'

6、查看nagios日志信息

1
2
3
4
5
[root@NagiosServer var]
# tail -f nagios.log
[1412061198] SERVICE ALERT: Linux Server;SSH;CRITICAL;SOFT;1;connect to address 192.168.1.120 and port 22: 拒绝连接
[1412061258] SERVICE ALERT: Linux Server;SSH;CRITICAL;SOFT;2;connect to address 192.168.1.120 and port 22: 拒绝连接
[1412061318] SERVICE ALERT: Linux Server;SSH;CRITICAL;HARD;3;connect to address 192.168.1.120 and port 22: 拒绝连接
[1412061318] SERVICE NOTIFICATION: nagiosadmin;Linux Server;SSH;CRITICAL;notify-service-by-fetion;connect to address 192.168.1.120 and port 22: 拒绝连接

7、手机客户端查看短信通知

注释:这里有点问题,短信拆分了。也即是一条短信由于短信内容过多,拆分成了两条短信或者更多,后面会讲解如何解决这个问题

8、查看监控页面

9.启动ssh服务的时候,仍然会出发报警,依次查看




四、Nagios的139邮箱报警

1、定义command命令

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@NagiosServer objects]# vim commands.cfg 
#注释:其实配置文件中已经有了email定义的command,我们只需要修改必要的参数即可,如发送者的邮箱、登陆密码等等
'notify-host-by-email' 
command definition
define command{
        
command_name    notify-host-by-email
        
command_line    /usr/bin/printf 
"%b" 
"***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" 
| /bin/mail -s 
'邮件主题01:Today learn Nagios' 
13260071987
@
139
.com < /etc/issue
        
}
 
'notify-service-by-email' 
command definition
define command{
        
command_name    notify-service-by-email
        
command_line    /usr/bin/printf 
"%b" 
"***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" 
| /bin/mail -s 
'邮件主题01:Today learn Nagios' 
13260071987
@
139
.com < /etc/issue
        
}

2、添加联系人组报警方式

1
2
3
4
5
6
7
8
9
10
11
[root@NagiosServer objects]# vim contacts.cfg 
define contact{
       
contact_name                    nagiosadmin
       
use                             
generic-contact
       
alias                           Nagios Admin
 
       
email                           
13260071987
@
139
.com
       
service_notification_commands   notify-service-by-email
       
host_notification_commands      notify-host-by-email
       
pager                           
13260071987
        
}

3、然后测试就可以了!在这里就不在说明

飞信报警请参考:

  飞信机器人官网:

  学习博文

  解决安装fetino的依赖关系

  fetion官网解决发送失败的方法

因为我在发送通知的时候报错,错误如下,本来还没有解决。也希望大神帮助

  验证码帮助

     本文转自zys467754239 51CTO博客,原文链接:http://blog.51cto.com/467754239/1559168,如需转载请自行联系原作者
你可能感兴趣的文章
JavaMail发送简单邮件
查看>>
最大公约数、欧几里得算法、拓展欧几里得算法、同余方程
查看>>
SpringBoot之Controller使用
查看>>
Focal Loss
查看>>
ubuntu下git clone 出现Permission denied (publickey).
查看>>
前端UI框架
查看>>
python_内置函数1_42
查看>>
每一个中国系统架构师,程序猿都应该清楚了解——中国网络安全的现状
查看>>
第十三周项目3-立体类族共有的抽象类
查看>>
苹果iOS引入新触控手势:按住后扫动(图)
查看>>
二叉树——森林的带度数层次序列存储
查看>>
数据结构之线性结构---栈
查看>>
SublimeText插件 : sass语法高亮
查看>>
如何安装unidac 6.2.8 到delphi 7
查看>>
FileNameExtensionFilter文件过滤
查看>>
thinkphp批量删除的实现
查看>>
POJ 2431Expedition
查看>>
洗礼灵魂,修炼python(14)--模块decimal, fractions,operator,collections以及精度介绍...
查看>>
SQL技术内幕四
查看>>
HTML5基础,第1部分:初试锋芒
查看>>