版权声明:本文为博主原创文章,未经博主允许不得转载。

 前提条件:

(1) zabbix服务器端已经成功安装并且运行。

(2) zabbix客户端已经成功建立并且运行。

1 下载并且安装msmtp软件

Wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2/download

 

tar jxvf msmtp-1.4.32.tar.bz2

cd msmtp-1.4.32

./configure--prefix=/usr/local/msmtp

Make

Make install

2、手动建立配置文件,输入外部smtp地址
mkdir –p /usr/local/msmtp/etc
vi /usr/local/msmtp/etc/msmtprc
添加以下内容
account default 
host smtp.sohu.com                    #你的发送邮件服务器
port 25
from zabbix2014@sohu.com      #要从哪个邮箱发出
auth login
tls off
user  zabbix2014                      #邮箱用户名
password xxxxx-xxx                  #邮箱密码,如果你觉得不安全可以把文件改为600属性
logfile /var/log/mmlog
保存退出。

3、简单测试一下

/usr/local/msmtp/bin/msmtp zabbix2014@sohu.com 
hello,test 
ctrl d
cat /usr/local/msmtp/msmtp.log 看看有没有成功。 
  然后再到sohu邮箱中,看看信收到没有

报错如下

[root@cache-2 msmtp-1.4.32]# /usr/local/msmtp/bin/msmtp zabbix2014@sohu.com
msmtp: authentication failed (method LOGIN)
msmtp: server message: 535 5.7.0 Invalid result
msmtp: could not send mail (account default from /usr/local/msmtp/etc/msmtprc)

 

Google之后,需要安装 mutt组件

4、下面开始安装 MUTT如果是CentOS的话直接用yum就好了
yum install mutt
安装完成后要手动给他建立一个配置文件,
vim /etc/Muttrc
setsendmail="/usr/local/msmtp/bin/msmtp" #你的msmtp命令路径
set use_from=yes
set realname="zabbix2014@sohu.com"
set editor="vim"
简单的4行就可以了
好了,让我们来测试一下吧!

测试一下:echo"test mail" | mutt -s "test" zabbix2014@sohu.com

OK,测试了下,能收到已经发送的email,如下所示:

echo"test mail 2014 content tom 2" | mutt -s "test 2014 title2"  zabbix2014@sohu.com

5、    创建 zabbix用于发送邮件的脚本

脚本放在什么位置随便,但是要保证zabbix可以找到!

1)vim/usr/bin/zabbix2014,并写入如下内容:
#!/bin/bash
echo "$3" | mutt -s "$2"$1       # $3表示邮件内容、$2表示邮件标题、$1表示收件人
(2)chmod a+x /usr/bin/zabbix2014

6、    zabbix配置
(1)创建meida types
1.登录到zabbix,进入“Administration" >> ”Media types",点击右上角“Create Media Type"。 Description填"mediatype-zabbix2014"或其它名称,Type选择"Script",Script填” zabbix2014”。
2.点击save保存,如下图所示:

7、创建actions
1.登录到zabbix,进入"Configation" >> "Actions",点击右上角"Create Actions"。输入Name “action-zabbix2014” ,其它都默认点击右侧“Action Operations"下的"New"按钮,"Operation Type"选择"Send message","Send Message to"选择一个或多个要发送消息的用户组,”Send only to"选择我们之前新增的mediatype-zabbix2014。
2.点击save保存,如下图所示:

8、zabbix用户配置

登录到zabbix, 进入"Adimistration" >>"Users",在之前选定要发送消息的组里的Members栏位里选择一个用户,例如选择AdminZabbix用户。

在用户信息修改界面最下方的”Media"处点击"Add"按钮。

Type选择"mediatype- zabbix2014",Send to填入收件人地址,点击Add添加。

点击"Save"保存配置。如下图所示:

 

 

 

9 测试验证邮件发送功能是否正常。

PS:这个验证报警的实现,请参考http://blog.csdn.net/mchdba/article/details/24540017 里面有描述MySQL.ping_test是如何建立并生效的。

 

9.1 去stop服务器上的mysql服务,一会就应该会报警

[root@db-m2-slave-1~]# service mysql stop

Shutting downMySQL...                                    [确定]

[root@db-m2-slave-1~]#

 

但是没有收到email,所以我们需要去看events,是否有提示为什么会发不出email来。进去目录Monitoring—> EventsGroup(选All)Host(选要监控的数据库主机)Source(选Trigger)。

点开最左边一列的连接 02 May 2014 12:34:06 ,

看到提示:

/usr/local/zabbix/scripts/zabbix2014: [2] Nosuch file or directory

 

记得是放在 /usr/bin/zabbix2014 ,所以将脚本放在提示所需要的目录上面,直接mv一下即可:

mv/usr/bin/zabbix2014 /usr/local/zabbix/scripts/zabbix2014

之后会看到新的报警PROBLEM信息,email已经发送出去了,如下图:

 

9.2 改email地址,改成139邮箱,并且附带免费短信报警功能实现。

进入目录,AdministrationUsers Zabbix administrators Users (1) AdminZabbix(最左边一列)Media(选择中间的那一个栏目)—> mediatype-zabbix2014(选择用Trigger所用的mediatype)Edit(点击进去修改)Send to(后面的输入框里面填写上139的email,比如xxx@139.com),如下图所示::

9.3 切换139邮箱来验证发送短信功能

注册139邮箱,打开email,stop以及start数据库上面的mysql进程服务,就会收到报警email以及短信通知,报警email如下:

记得开启短信提示功能,短信免费。


 

 

9.4 如何让zabbix继续发送报警信息直到恢复正常为止。

进入目录,ConfigurationHosts选中主机TriggerName(比如进入check_mysql_status)在Multiple PROBLEM events generation一栏打勾Save。如下图所示:

 

 

10 总结:

第一次zabbix的邮件报警试验成功了,折腾了很多天,也咨询了很多朋友,在此感谢他们,下面还有许多zabbix的深入的东西需要继续学习继续专研。

 

且行且努力吧。

 

参考文章:http://bbs.hx95.com/read-htm-tid-181423.html

 

附上网友北京酱油帝的建议,如何验证trigger报警成功:

要想验证trigger的有效性很简单:

第一,trigger在monitor的界面有个events选项看到没有,那里面是可以点击机器ip的,你看你定义的trigger有没有发生。

第二,  第二,如果trigger发生了,是要看脚本也就是media调用有没有成功,如果成功了,最好在脚本里面加上日志。

[Zabbix] 如何实现邮件报警通知以及免费短信报警通知的更多相关文章

  1. [Zabbix] 怎样实现邮件报警通知以及免费短信报警通知

     前提条件: (1) zabbixserver端已经安装成功而且执行. (2) zabbixclient已经成功建立而且执行. 1 下载而且安装msmtp软件 Wget http://sourcefo ...

  2. zabbix实现QQ邮件报警通知--技术流ken

    前言 前几天搜了下网上使用zabbix邮件报警通知的文章,大多数还是使用mailx的方法,过程配置起来比较冗余繁琐,这几天想着把自己平时用到的qq邮件报警的方法分享出来供大家参考,以此减少不必要的步骤 ...

  3. zabbix监控之邮件报警通知

    zabbix官网的操作指南:https://www.zabbix.com/documentation/4.0/zh/manual 首先我们需要创建一个需要被监控的主机,并设置相应的监控项.当监控项收集 ...

  4. centos7安装ZABBIX 3.0+ 邮件报警【OK】

    设置主机名: vi /etc/hosts 10.0.0.252 zabbix-server hostnamectl set-hostname   关闭防火墙: systemctl stop firew ...

  5. centos7之zabbix邮件报警(短信报警)

    前言 前面我们介绍了zabbix的基本linux和window及SNMP流量的简单监控,我们知道作为运维人员,需要7x24小时待命,但是我们不可能时时刻刻都坐在电脑旁边查看监控上的各个主机状态,所以我 ...

  6. zabbix之 qq邮件报警

    一.安装sendmail或postfix[root@zabbix ~]# yum install sendmail –y                     #在线yum安装sendmail[ro ...

  7. zabbix 服务器设置邮件报警

    实验条件: Zabbix监控服务器.客户端都已经部署完成,被监控主机已添加完成,Zabbix监控运行正常. 实现目的: Zabbix监控服务器设置邮件报警,当被监控主机宕机或达到触发器预设值进,会自动 ...

  8. zabbix 配置外部邮件server发送邮件报警

    一.安装配置msmtp 1.下载msmtp wget http://downloads.sourceforge.net/msmtp/msmtp-1.4.30.tar.bz2?big_mirror=0 ...

  9. zabbix 告警实践分享 一键实现zabbix 电话、邮件、微信告警

    众所周知Zabbix 是一款用来监控IT基础设施的监控套件,同时也具有很多方便运维人员使用的优秀功能,如:支持多条件告警,支持多种告警方式,支持多组模板.支持模板继承,因此在众多的开源运维监控软件中独 ...

随机推荐

  1. Kuskal/Prim POJ 1789 Truck History

    题目传送门 题意:给出n个长度为7的字符串,一个字符串到另一个的距离为不同的字符数,问所有连通的最小代价是多少 分析:Kuskal/Prim: 先用并查集做,简单好写,然而效率并不高,稠密图应该用Pr ...

  2. PHP获取今天内的时间 今天开始和结束的时间戳

    $t = time(); $start = mktime(0,0,0,date("m",$t),date("d",$t),date("Y", ...

  3. 通过API文档查询Math类的方法,打印出近似圆,只要给定不同半径,圆的大小就会随之发生改变

    package question; import java.util.Scanner; import java.lang.Math; public class MathTest { /** * 未搞懂 ...

  4. HDFS执行getDatanodeReport输出信息

    HDFS执行getDatanodeReport输出信息: Name: (192.168.101.100) Hostname: bigsrv Decommission Status : Normal C ...

  5. 加密解密(1)HTTPS与HTTP区别

    HTTPS简介 HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即 ...

  6. static属性

    static 属于全局,也就是类的属性 和方法,换句话说 一个类,不管有多少个实例,却只有一个全局变量 用static修饰的属性和方法称为静态属性和方法 需要注意的是 静态属性和方法属于类方法,加载类 ...

  7. 转 ORA-12638: 身份证明检索失败

    ORA-12638: 身份证明检索失败 的解决办法 2008年06月25日 星期三 11:42 the NTS option makes the Oracle client attempt to us ...

  8. spark yarn cluster模式下任务提交和计算流程分析

    spark可以运行在standalone,yarn,mesos等多种模式下,当前我们用的最普遍的是yarn模式,在yarn模式下又分为client和cluster.本文接下来将分析yarn clust ...

  9. 关于react native在window下运行安卓的时候报 could not connect to development server

    当出现这种问题是网上的解答方案都是一模一样的! 我这边先给个地址讲的是解决方案http://blog.csdn.net/qq_25827845/article/details/52974991 但是我 ...

  10. 批处理 reg add /?

    C:\Users\Administrator>reg add /? REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [ ...