zabbix3.2.1邮件报警

zabbix监控服务端、客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常。

在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱。

具体操作:

以下操作在Zabbix监控服务端进行

然后安装那两个依赖包,命令是:

yum install perl-Net-SSLeay
perl-IO-Socket-SSL -y

解压软件,然后将sendemail复制到/usr/local/bin/目录下,并加上可执行权限,然后修改用户和群组。

[[email protected] ~]# tar zxf sendEmail-v1.56.tar.gz

[[email protected] ~]# cd sendEmail-v1.56/

[[email protected] sendEmail-v1.56]# cp sendEmail /usr/local/bin/sendEmail

[[email protected] sendEmail-v1.56]# chown zabbix:zabbix /usr/local/bin/sendEmail

[[email protected] sendEmail-v1.56]# ll /usr/local/bin/sendEmail

-rwxr-xr-x. 1 zabbix zabbix 80213 Nov 21 21:26 /usr/local/bin/sendEmail

执行# /usr/local/bin/sendEmail
-h查看sendEmail的帮助

#/usr/local/bin/sendEmail -f [email protected] -t [email protected] -s smtp.126.com -u "hello" -o message-content-type=html
-o message-charset=utf8 -xu [email protected] -xp 123abc -m "abcfdd"

命令主要选项说明:
/usr/local/bin/sendEmail
                    #命令主程序
-f [email protected]                        
 #发件人邮箱
-t [email protected]                              #收件人邮箱
-s smtp.126.com 
                         #发件人邮箱的smtp服务器
-u "我是邮件主题"                          
    #邮件的标题
-o message-content-type=html        
 #邮件内容的格式,html表示它是html格式
-o message-charset=utf8                
  #邮件内容编码
-xu [email protected]                       #发件人邮箱的用户名
-xp [email protected]$
                            #发件人邮箱密码
-m "我是邮件内容"                          
  #邮件的具体内容

进入/usr/local/zabbix/share/zabbix/alertscripts/目录

然后在这个目录下创建报警脚本sendmail.sh

[[email protected] alertscripts]# vi
mail.sh

下面是脚本内容(涂颜色部分是你的邮箱和密码,-f和-xu参数后面跟邮箱,-xp后面跟授权码)

#!/bin/bash

to=$1

subject=$2

body=$3

/usr/local/bin/sendEmail
-o tls=auto -f [email protected] -t "$to" -s smtp.126.com -u "$subject" -o
message-content-type=html -o message-charset=utf8 -xu [email protected] -xp 123abc
-m "$body"

[[email protected] alertscripts]# chmod +x mail.sh

执行脚本测试发邮件

[[email protected] alertscripts]# ./mail.sh [email protected] test 123

*******************************************************************

Using the default
of SSL_verify_mode of SSL_VERIFY_NONE for client

is deprecated!
Please set SSL_verify_mode to SSL_VERIFY_PEER

together with
SSL_ca_file|SSL_ca_path for verification.

If you really
don‘t want to verify the certificate and keep the

connection open to
Man-In-The-Middle attacks please set

SSL_verify_mode
explicitly to SSL_VERIFY_NONE in your application.

*******************************************************************

at
/usr/local/bin/sendEmail line 1906.

invalid SSL_version
specified at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 415

注:进行发送邮件测试时,出现了第一个报错

原因是sendemail软件和perl5里面的ssl版本不兼容导致的,通过修改sendemail里面的内容可以解决这个问题。

解决方法:

在sendemail中1906行的内容,从

if (!
IO::Socket::SSL->start_SSL($SERVER, SSL_version => ‘SSLv3 TLSv1‘))
{

修改为

if (!
IO::Socket::SSL->start_SSL($SERVER)) {

即不指定SSL的版本,让程序来自己选择

不管你使用的是163/126邮箱还是qq邮箱,你都必须开通pop3服务,而且126/qq邮箱还要求使用第三方客户端发送邮件是必须使用授权码登录,使用账号密码验证时,会出现下面图片中的错误。

sendEmail[5102]: ERROR => ERROR
=> SMTP-AUTH: Authentication to smtp.126.com:25 failed.

至于邮箱的授权码,自己登录126邮箱去设置就好。

经过上面两个问题的处理后就可以正常发送邮件如下所示显示成功提示

[[email protected] alertscripts]#
./mail.sh [email protected] test 123

Nov 21 22:50:47 mysqla
sendEmail[5195]: Email was sent successfully!

zabbix web端配置

上面的邮件脚本配置好后,就要在web端添加报警媒介,在web页面的管理,报警媒介类型页面,点击右边的创建媒体类型

进入创建页面,然后输入名称“邮件报警脚本”,类型选择脚本,名称选择mail.sh,点击添加按钮,添加三个脚本参数,分别是{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESAGE},分别对于mail.sh中的to、subject和body。添加完成后点下面的添加按钮,我们的报警媒介就创建完成了

创建好报警媒介后,就需要将报警媒介关联到我们的用户。点击管理,用户,然后选择我们的用户admin也可新建一个用户,点击用户名就进入到用户配置界面。点击报警媒介,然后点添加,选择我们上一步创建的邮件报警脚本,输入收件人,选择报警时间和类型,然后点击添加,就将创建好的报警媒介关联到我们的用户上面了。

现在需要做的是,创建一个触发动作,即系统出现故障时,触发这个动作,然后给我们的邮箱发送报警邮件。点击配置,选择动作,然后点击右边的创建动作。

在动作这一页名称中写入我们定义的动作名以及触发条件

设置“操作”

步骤是1-3,也即是从1开始到3结束。一旦故障发生,就是执行Email.sh脚本发生报警邮件给zabbix用户。 
假如故障持续了1个小时,它也只发送3次,第1-3次(即前3次)邮箱发送给zabbix用户,时间间隔为0秒。
如果改成1-0,0是表示不限制.无限发送

设置“恢复操作”

添加好以后就可以看到我们添加的动作名,以及该动作已启用的状态。

查看状态是否显示以启用

在动作日志里可以看到发送状况,显示已送达,就可以了。

报警测试

将192.168.129.88服务器的zabbix_agent进程关闭。

发现可以正常收到故障报警邮件

最后,点击”报表“->”动作日志“,可以看到触发动作的次数(右边还看查看到邮件发送状态“已发送”)。

----------------------------------------------------------------------------------------------

今日推荐电影《教父Ⅰ Ⅱ Ⅲ》

伟大的人不是生下来就伟大的,而是在成长过程中显示其伟大的 
时间: 2024-10-07 09:44:56

zabbix3.2.1邮件报警的相关文章

zabbix3.0微信邮件报警

Zabbix 邮件微信报警 分2大部分: 1.Zabbix服务器端配置 邮件服务安装配置 2.Web端服务配置 服务器端的设置: 系统 cenots 6.5   2.6.32-431.el6.x86_64 安装邮件发送服务: [[email protected] ~]# wget http://sourceforge.net/projects/heirloom/files/latest/download?source=files [[email protected] ~]# mv downloa

zabbix3.2.1邮件报警设置

abbix监控服务端.客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常. 在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱. 具体操作: 以下操作在Zabbix监控服务端进行 然后安装那两个依赖包,命令是: yum install perl-Net-SSLeay perl-IO-Socket-SSL -y 解压软件,然后将sendemail复制到/usr/local/bin/目录下,并加上可执行权限,然后修改用户和群组. [

Zabbix2.0和Zabbix3.0设置邮件报警教程

============================== Zabbix2.0邮件服务器配置 ================================ 1.Zabbixe服务器配置邮件发送 cat >> /etc/mail.rc <<EOF set [email protected] set smtp=smtp.139.com set [email protected] set smtp-auth-password=hengtai set smtp-auth=login

zabbix3.0配置邮件报警

1打开管理,报警媒介类型输入自己要做发送报警的邮箱 账号密码 smtp地址 2.填写收件人 3.新建动作 默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障! 默认信息: 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}

CentOS7.3下Zabbix3.5之邮件报警配置

一.邮件客户端以及脚本相关配置 1.安装sendmail,一般操作系统默认安装了安装 yum install sendmail 启动 service sendmail start 设置开机启动 chkconfig sendmail on 2.安装邮件发送工具mailx,一般操作系统默认安装了 yum install mailx -y 3.设置发送邮件的email,用于邮件发送vim  /etc/mail.rc #一般公司会有专门的报警发件邮箱,如果没有,可以找公司申请 set [email pr

zabbix监控及邮件报警

一.zabbix 客户端的安装既然要监控我们就要添加要监控的主机,在添加主机之前我们首先要在被检测主机上面安装agent,安装 agent 比较简单,我们也是按照安装 server 的流程,下载软件包,在编译的时候,我们只选择 agent192.168.1.20 作为 zabbix 的被监控端,提供 web 和 mysql 应用1.安装 Zabbix,配置 Zabbix agent:21 rz (上传zabbix-3.2.1.tar.gz)22 ls23 tar zxf zabbix-3.2.1

分布式监控系统Zabbix-3.0.3-完整安装记录(5)-邮件报警部署

前面几篇陆续介绍了zabbix3.0.3监控系统的部署和监控项配置,今天这里分享下zabbix3.0.3的邮件报警的配置过程~ 由于采用sendmail发送邮件,常常会被认为是垃圾邮件被拒,所以不推荐这种方式! 这里,针对zabbix报警信息的发送,可以采用下面两种方式中的任意一种:(1)利用sendEmail程序来发送报警邮件.sendEmail是一个轻量级,命令行的SMTP邮件客户端,非常完美,使用简单并且功能强大.这个被设计用在php.bash .perl和web站点使用.(2)利用pyt

Zabbix3.0.2使用外部python脚本实现邮件报警

1,找到默认存放脚本的路径(我是在默认路径下面放着,如果想换别的路径,修改zabbix_server.conf配置文件) /usr/local/zabbix-server/share/zabbix/alertscripts 脚本存放路径 2,在目录新建一个mail.py的文件,脚本参考: cd /usr/local/zabbix-server/share/zabbix/alertscripts vim mail.py #!/usr/bin/python #coding:utf-8 #author

zabbix3.0.3 设置邮件报警

在zabbix3.0.3 设置报警这里卡了两天.终于解决了,这里我使用的mailx来作为发送邮件的客户端 1.设置mailx发信账号 yum -y install mailx ln -s /bin/mailx /bin/mail cat /etc/mail.rc  //内容如下 set [email protected] set smtp=smtp.126.com set smtp-auth-user=123456 set smtp-auth-password=123456 set smtp-a