用了几个邮件报警软件,感觉还是sendmail及时、稳定。

一、zabbix server服务器上配置:

 1.1 发送邮件脚本的存放路径:

1
2
3
[root@zabbix_server etc] # cat zabbix_server.conf | grep alertscripts
  # AlertScriptsPath=${datadir}/zabbix/alertscripts
  AlertScriptsPath= /usr/local/zabbix/share/zabbix/alertscripts


 1.2 sendmail软件下载安装:

  我使用的是SendEmail,如果你系统自带的mail能够发送成功邮件可以用自带的,可以参考我的另一篇文章,Centos5.x & Centos6.x 使用mail命令发邮件以及如何伪造发件人:http://pynliu.blog.51cto.com/5027391/1608916。


   SendEmail下载地址;http://caspian.dotconf.net/menu/Software/SendEmail/#download

   解压放到任意目录,我放在了/usr/local/zabbix/share/zabbix/alertscripts目录下

1
2
[root@zabbix_server alertscripts] # ls
sendEmail-v1.56


 1.3 zabbix的报警信息会传过来三个变量,都在zabbix_web界面配置。分别是:收件人邮件,报警主题和报警内容,及脚本中的$1 $2 $3

  编写脚本sendmail并赋予可执行权限

1
2
3
4
5
6
7
8
[root@zabbix_server alertscripts] # chmod a+x sendmail.sh 
[root@zabbix_server alertscripts] # cat sendmail.sh 
#!/bin/bash
# $1 sendmail address
# $2 sendmail subject
# $3 content
SENDMAIL= /usr/local/zabbix/share/zabbix/alertscripts/sendEmail-v1 .56 /sendEmail
$SENDMAIL -f [email protected] -t  "$1"  -s xxx.benguo.cn -u  "$2"  -m  "$3"  >>  /dev/null

  注:LangFang@zabbix是发件人邮箱,是伪造的发件人,可自行定义只要别被识别为垃圾邮箱就行。

    解释:
    -f 表示发送者的邮箱
    -t 表示接收者的邮箱
    (接收邮件和发送邮件,尽量不要用同一个邮箱帐号,容易出错)
    -s 表示SMTP服务器的域名或者ip
    -u 表示邮件的主题
    -xu 表示SMTP验证的用户名
    -xp 表示SMTP验证的密码(注意,这个密码貌似有限制,例如我用d!5neyland就不能被正确识别)
    -m 表示邮件的内容


二、下面是zabbix web上配置:

 2.1 配置“示警媒介类型”,创建媒体类型:

zabbix 邮件报警 -- sendmail_第1张图片

注意脚本名字要和服务器上写的一样。

zabbix 邮件报警 -- sendmail_第2张图片


 2.2 用户设置:

zabbix 邮件报警 -- sendmail_第3张图片

zabbix 邮件报警 -- sendmail_第4张图片

示警度就是触发器的严重性。


三、创建动作

    zabbix 邮件报警 -- sendmail_第5张图片

zabbix 邮件报警 -- sendmail_第6张图片

zabbix 邮件报警 -- sendmail_第7张图片

zabbix 邮件报警 -- sendmail_第8张图片


四、添加完毕,就会按照触发器实现报警了

 zabbix 邮件报警 -- sendmail_第9张图片