天天看点

Zabbix邮件报警

本文主要以外部邮箱账号完成报警邮件的发送。

1 如果安装了Sendmail或postfix,则需要停止服务:

[root@www alertscripts]# uname -a

Linux www 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

[root@www ~]# systemctl stop sendmail.service

[root@www ~]# systemctl disable sendmail.service

2 安装邮件发送工具mailx:

[root@www ~]# yum install mailx

3 配置Zabbix服务端外部邮箱:

下面的语句可以追加到配置文件的最后:

[root@www ~]# vim /etc/mail.rc 

set [email protected]  smtp=smtp.sina.com

set [email protected]  smtp-auth-password=19sssss

set smtp-auth=login

from:发送邮件的地址

smtp:外部smtp服务器地址

smtp-auth-user:外部smtp服务器认证的用户名

smtp-auth-password:外部smtp服务器认证的用户密码

smtp-auth:邮件认证的方式,

4 测试:

[root@www ~]# echo "a" | mail -s "b" [email protected]

其中a为内容,b为标题。

5 配置Zabbix服务器邮件报警:

5.1 配置报警介质:

打开zabbix的管理------处理方法----create media type:

<a href="https://s3.51cto.com/wyfs02/M01/9A/C0/wKioL1laEKGyF32-AABSyY5T420627.jpg-wh_500x0-wm_3-wmp_4-s_2936150828.jpg" target="_blank"></a>

我用的是脚本发邮件的方式来报警的,脚本名字为mail.sh。脚本存放位置,在zabbix_server.conf配置文件中设置:AlertScriptsPath=/usr/lib/zabbix/alertscripts

[root@www alertscripts]# vim mail.sh 

#!/bin/bash

/usr/bin/echo "$3" | /usr/bin/mail -s "$2" $1

5.2 设置报警用户:

我直接使用了已存在的管理员组,然后在其中添加用户。

<a href="https://s5.51cto.com/wyfs02/M02/9A/C1/wKiom1laEyjgUos4AAKStUwNVY4841.jpg-wh_500x0-wm_3-wmp_4-s_3106292890.jpg" target="_blank"></a>

5.3 设置报警动作:

打开zabbix的系统配置---操作---- 选择事件源为触发器------create action:

<a href="http://img1.51cto.com/attachment/201211/134147651.jpg" target="_blank"></a>

触发条件设置:

<a href="http://img1.51cto.com/attachment/201211/134222827.jpg" target="_blank"></a>

详细操作设置,即满足触发条件之后执行什么动作,这里一般设置为发邮件之类的,设置收邮件的用户(建议每个组对应一个用户,这样发邮件的时候容易设置发送对象):

<a href="http://img1.51cto.com/attachment/201211/134257761.jpg" target="_blank"></a>

至此,邮件报警已经设置完成。

附 1:Zabbix监控服务器一般配置步骤:

1)自定义监控模板

2)以自动发现(或者自动注册)的方式增加监控设备

3)根据需求自定义监控项和触发器

4)设置报警方式(如邮件或短信)

5)Zabbix服务器的优化

附 2 :解决邮件报警发送附件的办法:

报警脚本如下:

#export.UTF-8

FILE=/tmp/mailtmp.txt

echo "$3" &gt;$FILE

dos2unix -k $FILE

/bin/mail -s "$2" $1 &lt; $FILE

[root@localhost alertscripts]# touch /tmp/mailtmp.txt

[root@localhost alertscripts]# chown zabbix.zabbix /tmp/mailtmp.txt

本文转自 zengwj1949 51CTO博客,原文链接:http://blog.51cto.com/zengwj1949/1944155

继续阅读