2.在 配置-动作 选择创建动作。
3.填写动作名称,触发条件。
4.操作填写触发后执行的动作,远程执行命令或发送邮件:
1
|
#默认信息,这里是宏变量,可以设置成中文,这里我常用的是下面这个。
|
1
2
3
4
5
6
7
|
告警主机:{HOST.NAME}
主机IP: {HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件ID: {EVENT.ID}
|
5.在管理-报警媒介处选择报警类型(注意以下三处)。
1)这里脚本名称是Email.sh,所以要在zabbix的安装目录中创建一个脚本:
我这里的zabbix3.2是编译安装的,所以脚本目录应放在/usr/local/zabbix/etc/alertscripts/下,yum安装的应放在/etc/zabbix/alertscripts/下。
1
2
|
mkdir
-p
/usr/local/zabbix/etc/alertscripts/
cd
/usr/local/zabbix/etc/alertscripts/
|
2)编写发送邮件的脚本
$1:邮件地址。
$2:邮件主题。
$3:邮件内容
vi Email.sh
1
2
3
4
5
6
|
#!/bin/sh
#export.UTF-8
FILE=
/tmp/mailtmp
.txt
echo
"$3"
>$FILE
dos2unix -k $FILE
/bin/mail
-s
"$2"
$1 < $FILE
|
注意:这里的Email.sh脚本一定要有可执行权限,mailtmp.txt同样需要可执行权限,否则发送的邮件会有问题。
1
2
3
|
chmod
+x Email.sh
touch
/tmp/mailtmp
.txt
chmod
777
/tmp/mailtmp
.txt
|
3)安装发送邮件的工具postfix或者申请一个163邮箱的smtp,这里用第二种方式,用163邮箱作为发送邮件的工具。
首先卸载linux自带的邮件发送工具。
1
|
yum remove sendmail postfix -y
|
申请一个163邮箱,然后设置smtp:
点击客户端授权密码,开启以后会得到一个密码,这个密码下面就要用到。
4)在服务器上编辑邮件mailx,没有的话需要安装:
1
2
3
4
5
6
7
8
9
|
yum
install
-y mailx
vi
/etc/mail
.rc
#在配置文件最后添加如下内容:
set
bsdcompat
set
from=zabbix_darren@163.com
set
smtp=smtp.163.com
set
smtp-auth-user=zabbix_darren@163.com
set
smtp-auth-password=123456
#这个密码就是刚才开启的163客户端授权密码
set
smtp-auth=login
|
5)测试Email.sh脚本发送邮件是否能成功:
1
|
/usr/local/zabbix/etc/alertscripts/Email
.sh
test
@qq.com
"test"
"test email"
|
6)如果脚本测试成功,那说明linux系统发送邮件是没有问题的,如果zabbix触发了事件,结果没收到邮件,就要检查zabbix的设置了。
本文转自 王家东哥 51CTO博客,原文链接:http://blog.51cto.com/xiaodongge/1924995