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

一、zabbix server服务器上配置:

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

[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目录下

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


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

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

[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 LangFang@zabbix.com -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 配置“示警媒介类型”,创建媒体类型:

wKioL1THdtiChJcAAAKQm_YBqBQ934.jpg

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

wKiom1THdlDyzYdoAAGkvJtbYLQ026.jpg


 2.2 用户设置:

wKioL1THeH2RaheFAAN9D6L2yIY808.jpg

wKiom1THd5_xsxAvAAMbTbpzs0w425.jpg

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


三、创建动作

    wKioL1THeZejzaCZAALsh4TK_Cc150.jpg

wKioL1THehShjnJtAAKh-qXN22c190.jpg

wKiom1THeTXj21BrAAKxqrmgv9s114.jpg

wKioL1THehTxONtGAALnEKzVI6A123.jpg


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

 wKiom1THecWAMyhlAAFJ_GAFHO0846.jpg