【zabbix教程系列】五、邮件报警设置(脚本方式)

本方式是使用外部邮箱账号发送报警邮件到指定邮箱。

好处是:此邮箱账号既能发送邮件,也能接收邮件,而且避免被当做垃圾邮件。

一、zabbix-server端安装mailx服务

[root@ltt01 ~]# yum -y install mailx

注意:为防止中文乱码和发送内容变成附件,需要安装dos2unix

[root@ltt01 alertscripts]# yum -y install dos2unix

二、配置外部邮箱

[root@ltt01 ~]# vi /etc/mail.rc 

添加如下内容:

set from=外部邮箱地址 smtp=外部邮箱smtp地址
set smtp-auth-user=外部邮箱地址 smtp-auth-password=邮箱密码
set smtp-auth=login

发送测试邮件

[root@ltt01 ~]# echo "zabbix test " | mail -s "zabbbix" 任意邮箱地址

echo后边跟的是邮件内容, -s后跟的是邮件主题,最后是要发送的邮箱地址。

三、定义发送脚本

查看当前所设置语系

[root@ltt01 ~]# locale
LANG=en_US.UTF-
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
[root@ltt01 ~]# echo $LANG
en_US.UTF-

查看zabbix报警脚本位置

[root@ltt01 ~]# grep "AlertScriptsPath" /etc/zabbix/zabbix_server.conf
### Option: AlertScriptsPath
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts

进入所在目录

[root@ltt01 ~]# cd /usr/lib/zabbix/alertscripts/

创建发送脚本,并编辑内容

[root@ltt01 alertscripts]# vi sendMail.sh 

#!/bin/sh
#export LANG=en_US.UTF-8 //解决乱码 FILE=/tmp/mailtmp.txt
echo "$3" > $FILE
dos2unix -k $FILE //解决内容成附件发送
/bin/mail -s "$2" $ < $FILE

:wq保存退出

给脚本赋值运行权限

[root@ltt01 alertscripts]# ls -l
total
-rw-r--r-- root root Apr : sendMail.sh
[root@ltt01 alertscripts]# chmod +x sendMail.sh
[root@ltt01 alertscripts]# ls -l
total
-rwxr-xr-x root root Apr : sendMail.sh

测试发送脚本

[root@ltt01 alertscripts]# ./sendMail.sh 邮箱地址 "zabbix" "zabbix test"

四、web操作

管理--->报警媒介类型---->创建媒体类型

【zabbix教程系列】五、邮件报警设置(脚本方式)

【zabbix教程系列】五、邮件报警设置(脚本方式)

注意:脚本名称与实际的脚本名称一致

添加以下3个参数,分别对应sendEmail.sh脚本需要的3个参数:收件人地址、主题、详细内容

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

管理--->用户-----> 点击Admin--->报警媒介--->添加--->选择sendMail.sh,填写收件邮箱

【zabbix教程系列】五、邮件报警设置(脚本方式)

点击更新,保存信息

管理---->用户群组----->点击 zabbix administrators 调试模式为已启用

【zabbix教程系列】五、邮件报警设置(脚本方式)

点权限---->点选择

【zabbix教程系列】五、邮件报警设置(脚本方式)

全选

【zabbix教程系列】五、邮件报警设置(脚本方式)

点更新

配置--->动作----->创建动作

【zabbix教程系列】五、邮件报警设置(脚本方式)

注意事件源要选择触发器

定义动作

【zabbix教程系列】五、邮件报警设置(脚本方式)

定义操作

【zabbix教程系列】五、邮件报警设置(脚本方式)

定义回复操作

【zabbix教程系列】五、邮件报警设置(脚本方式)

定义确认操作

【zabbix教程系列】五、邮件报警设置(脚本方式)

点击添加

五、测试

打开四个XShell连接,等待接收邮件。

上一篇:可惜Java中没有yield return


下一篇:bootstrap-table 加载不了数据问题总结