Linux利用sendmail和fetion发送报警通知
一、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、手机客户端查看短信通知
注释:这里有点问题,短信拆分了。也即是一条短信由于短信内容过多,拆分成了两条短信或者更多,后面会讲解如何解决这个问题
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、然后测试就可以了!在这里就不在说明
飞信报警请参考:
http://www.it-adv.net/ 飞信机器人官网:
http://dl528888.blog.51cto.com/2382721/770684 学习博文
http://school.21tx.com/2013/10/18/10247.shtml 解决安装fetino的依赖关系
http://bbs.it-adv.net/viewthread.php?action=printable&tid=156 fetion官网解决发送失败的方法
因为我在发送通知的时候报错,错误如下,本来还没有解决。也希望大神帮助
http://www.linuxidc.com/Linux/2012-08/69346.htm 验证码帮助
Linux利用sendmail和fetion发送报警通知相关推荐
- nagios利用fetion发送报警
飞信系统升级公告(2010.11.26) 发布时间:2010-11-25尊敬的用户: 为了给您提供更完善的服务,系统于2010年11月26日凌晨0:00-3:00进行升级操作.在升级期间,飞信客户端无 ...
- PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)...
源码地址:https://github.com/Tinywan/PHP_Experience 测试环境配置: 环境:Windows 7系统 .PHP7.0.Apache服务器 PHP框架:ThinkP ...
- #yyds盘点#如何用Python发送告警通知到钉钉?
如何用Python发送告警通知到钉钉? 一.前言 前不久,看到了明哥写的如何用Python发送警告通知到企业微信,想起来之前写过用Pytho发送指定格式数据到钉钉的服务,本文将之前的代码重构下,变成一 ...
- zabbix配置发送报警邮件
配置邮件分为两种情况: 第一种:使用远端邮件服务器发送报警邮件 Linux系统版本:CentOS6.5-64 下载mailx: http://nchc.dl.sourceforge.net/proje ...
- java技术--报警通知及实现方式
1.在大型监控系统中,少不了报警机制,报警的方式有很多种,这里介绍主要5种 (1)屏幕显示报警<1>这是最基本的方法<2>也是报警信息最详细的模式<3>通过监控电脑 ...
- Python实现发送警告通知到企业微信方法详解
常见的报警方式有:邮件,电话,短信,微信.本文将介绍如何利用Python发送警告通知到企业微信,文中的示例代码有一定的参考价值,感兴趣的可以了解一下.编程资料点击免费领取 目录 1. 新建应用 2. ...
- nagios 使用 sendEmail 发送报警邮件
原始出处:http://tongcheng.blog.51cto.com/6214144/1785241 wget http://caspian.dotconf.net/menu/Software/S ...
- 程序主动进行电话短信报警,自定义电话、短信、钉钉报警通知
程序主动进行电话短信报警,自定义电话.短信.钉钉报警通知 一. 规则说明 这里我们要利用到阿里云的云监控的手段,有一个叫做事件监控的东西,可以通过自定义事件上传来进行监控报警. 流程: 程序发现错误 ...
- Linux网络 - 数据包的发送过程
继上一篇介绍了数据包的接收过程后,本文将介绍在Linux系统中,数据包是如何一步一步从应用程序到网卡并最终发送出去的. 如果英文没有问题,强烈建议阅读后面参考里的文章,里面介绍的更详细. 本文只讨论以 ...
最新文章
- python3: print()函数:def,end关键字介绍
- IP通信基础 5月8日
- SimpleUrlHandlerMapping 处理器映射的配置--转
- DCIM在数据中心现代化计划中的作用
- 关于GC.Collect在不同机器上表现不一致问题
- c++读取txt文件中的数字_在Python中读取包中的数据文件的三种方式
- java实现聊天室界面javafx_java 聊天室WeChat
- mysql的数据类型可分为哪两种_mysql数据类型分为哪几种
- c3p0-config.xml
- rust 死后不知道家在哪_赌王儿子何猷君被嘲妈宝,求婚不知道戒指戴哪只手,大喊求助妈妈...
- mysql查询语句出现sending data耗时解决
- 计算机专业毕业祝福语,大学毕业生祝福语
- android_静默安装/adb执行/软件搬家/消息派发
- 在Ubuntu上安装Tensorflow Serving
- Andriod 获取手机CPU型号设备信息
- 【转载】CSDI2018广州关于《Nginx》的分享(附文字速录与PPT)
- 【深度学习】研究者意外发现DALL-E 2在用自创语言生成图像:全文黑话,人类都看不懂...
- PIM SM RP控制原理与实验
- whale 帷幄:crm客户管理营销系统全称是什么
- React中文文档之Composition vs Inheritance
热门文章
- 《安富莱嵌入式周报》第308期:开源带软硬件安全认证的PLC设计,开源功率计,可靠PID实现,PR2机器人设计文件全开源,智能手表设计WASP-OS
- 云媒体服务器设置在哪个文件夹,安装和使用Jellyfin配置Linux媒体服务器
- alv edit and save all
- 版本回顾会_回顾Excel的早期版本
- excel按照显示的计算机,同一EXCEL文件在不同计算机上显示分页不同
- Java 处理中文名称文件下载的处理、验证码生成
- 解读CRM是什么意思及其发展过程
- ASN.1探索 - 3 编码规则与传输语法(3 - PER)
- 基于eclipse开发源码分享-SSM+Activiti的公文管理系统
- 列举IE与其他浏览器不一样的特性?