zabbix 邮件报警 -- sendmail
用了几个邮件报警软件,感觉还是sendmail及时、稳定。
一、zabbix server服务器上配置:
1.1 发送邮件脚本的存放路径:
123 | [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目录下
12 | [root@zabbix_server alertscripts] # ls sendEmail-v1.56 |
1.3 zabbix的报警信息会传过来三个变量,都在zabbix_web界面配置。分别是:收件人邮件,报警主题和报警内容,及脚本中的$1 $2 $3
编写脚本sendmail并赋予可执行权限
12345678 | [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 配置"示警媒介类型",创建媒体类型:
注意脚本名字要和服务器上写的一样。
2.2 用户设置:
示警度就是触发器的严重性。
三、创建动作
四、添加完毕,就会按照触发器实现报警了