目录
1、在zabbix-server端下载mailx
2、配置mailx配置文件
3、查看zabbix-server设置的 AlertScriptsPath变量
4、在对应路径下面编写邮件脚本
5、创建一个媒介类型
6、为用户指定媒介类型
7、更改触发器表达式进行测试
1、在zabbix-server端下载mailx
[root@zabbix-server ~]# yum install -y mailx
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* centos-sclo-rh: mirrors.ustc.edu.cn
* centos-sclo-sclo: mirrors.ustc.edu.cn
* extras: mirrors.ustc.edu.cn
* updates: mirrors.ustc.edu.cn
base | 3.6 kB 00:00:00
centos-sclo-rh | 3.0 kB 00:00:00
centos-sclo-sclo | 3.0 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
zabbix | 2.9 kB 00:00:00
zabbix-non-supported | 2.9 kB 00:00:00
正在解决依赖关系
--> 正在检查事务
---> 软件包 mailx.x86_64.0.12.5-19.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
========================================================================================================================
Package 架构 版本 源 大小
========================================================================================================================
正在安装:
mailx x86_64 12.5-19.el7 base 245 k
事务概要
========================================================================================================================
安装 1 软件包
总下载量:245 k
安装大小:466 k
Downloading packages:
mailx-12.5-19.el7.x86_64.rpm | 245 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : mailx-12.5-19.el7.x86_64 1/1
验证中 : mailx-12.5-19.el7.x86_64 1/1
已安装:
mailx.x86_64 0:12.5-19.el7
完毕!
####################################################
2、配置mailx配置文件
编辑mailx配置文件,添加参数
vim /etc/mail.rc
set from=发件邮箱@163.com smtp=smtp.163.com
set smtp-auth-user=发件邮箱@163.com smtp-auth-password=smtp授权码
set smtp-auth=login
使用mailx测试能否发送邮件给对应收件邮箱
echo "this is a email for test from zabbix" | mail -s "zabbix test" 收件邮箱@163.com
邮件接收显示成功
刚才的测试是通过mailx来发送的邮件,那么怎么让zabbix-server找到这个脚本呢?
####################################################
3、查看zabbix-server设置的 AlertScriptsPath变量
vim zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
4、在对应路径下面编写邮件脚本
安装dos2unix包,这个包可以将正文变成附件的形式
yum install -y dos2unix
[root@zabbix-server alertscripts]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# cat sendmail.sh
#!/bin/bash
sendto=$1 # 邮件发送给谁
subject=$2 # 邮件标题
body=$3 #邮件正文
FILE=/tmp/mail.tmp
echo "$body" > $FILE
dos2unix -k $FILE # 将正文变成附件
mail -s "$subject" "$sendto" < $FILE # 发送邮件
给与脚本可执行权限、
chmod +x sendmail.sh
将zabbix设置为/tmp/mail.tmp的拥有者
chown zabbix.zabbix /tmp/mail.tmp
执行脚本,传入三个参数,测试是否可以发送邮件
./sendmail.sh 接收邮箱@163.com zabbix "123456zabbix"
邮件接收成功
####################################################
5、创建一个媒介类型
####################################################
6、为用户指定媒介类型
####################################################
7、更改触发器表达式进行测试
触发器触发成功,邮件已发送
将触发器修改回来以后,可以正常收到恢复邮件
邮件接收成功,使用脚本发送告警邮件的方式成功。