设为首页 收藏本站
查看: 1003|回复: 0

[经验分享] zabbix3.2.1邮件报警

[复制链接]

尚未签到

发表于 2019-1-20 06:34:22 | 显示全部楼层 |阅读模式
zabbix监控服务端、客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常。
在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱。
具体操作:
以下操作在Zabbix监控服务端进行
然后安装那两个依赖包,命令是:
yum install perl-Net-SSLeay
perl-IO-Socket-SSL -y

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

[root@mysqla ~]# tar zxf sendEmail-v1.56.tar.gz
[root@mysqla ~]# cd sendEmail-v1.56/
[root@mysqla sendEmail-v1.56]# cp sendEmail /usr/local/bin/sendEmail
[root@mysqla sendEmail-v1.56]# chown zabbix:zabbix /usr/local/bin/sendEmail
[root@mysqla 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 bpcyh1@126.com -t bpcyh1@126.com -s smtp.126.com -u "hello" -o message-content-type=html
-o message-charset=utf8 -xu bpcyh1@126.com -xp 123abc -m "abcfdd"



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

进入/usr/local/zabbix/share/zabbix/alertscripts/目录
然后在这个目录下创建报警脚本sendmail.sh
[root@mysqla alertscripts]# vi
mail.sh

下面是脚本内容(涂颜色部分是你的邮箱和密码,-f和-xu参数后面跟邮箱,-xp后面跟授权码)
#!/bin/bash
to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail
-o tls=auto -f bpcyh1@126.com -t "$to" -s smtp.126.com -u "$subject" -o
message-content-type=html -o message-charset=utf8 -xu bpcyh1@126.com -xp 123abc
-m "$body"


[root@mysqla alertscripts]# chmod +x mail.sh
执行脚本测试发邮件

[root@mysqla alertscripts]# ./mail.sh bpcyh1@126.com 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邮箱去设置就好。
经过上面两个问题的处理后就可以正常发送邮件如下所示显示成功提示
[root@mysqla alertscripts]#
./mail.sh bpcyh1@126.com 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进程关闭。
发现可以正常收到故障报警邮件


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


  今日推荐电影《教父Ⅰ Ⅱ Ⅲ》
伟大的人不是生下来就伟大的,而是在成长过程中显示其伟大的
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-665340-1-1.html 上篇帖子: zabbix 通过执行script发送告警消息 下篇帖子: zabbix action 未被触发问题的排查
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表