天天看点

zabbix4.0-自定义脚本告警

目录

1、在zabbix-server端下载mailx

2、配置mailx配置文件

 3、查看zabbix-server设置的 AlertScriptsPath变量

4、在对应路径下面编写邮件脚本

 5、创建一个媒介类型

6、为用户指定媒介类型

 7、更改触发器表达式进行测试

1、在zabbix-server端下载mailx

[[email protected] ~]# 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
           
邮件接收显示成功
zabbix4.0-自定义脚本告警
刚才的测试是通过mailx来发送的邮件,那么怎么让zabbix-server找到这个脚本呢?

####################################################  

 3、查看zabbix-server设置的 AlertScriptsPath变量

vim zabbix_server.conf 
AlertScriptsPath=/usr/lib/zabbix/alertscripts
           

4、在对应路径下面编写邮件脚本

安装dos2unix包,这个包可以将正文变成附件的形式
yum install -y dos2unix
           
[[email protected] alertscripts]# cd /usr/lib/zabbix/alertscripts/
[[email protected] 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"
           
邮件接收成功
zabbix4.0-自定义脚本告警

####################################################  

 5、创建一个媒介类型

zabbix4.0-自定义脚本告警
zabbix4.0-自定义脚本告警

####################################################  

6、为用户指定媒介类型

zabbix4.0-自定义脚本告警

####################################################  

 7、更改触发器表达式进行测试

zabbix4.0-自定义脚本告警
 触发器触发成功,邮件已发送
zabbix4.0-自定义脚本告警
zabbix4.0-自定义脚本告警
将触发器修改回来以后,可以正常收到恢复邮件
zabbix4.0-自定义脚本告警
zabbix4.0-自定义脚本告警
 邮件接收成功,使用脚本发送告警邮件的方式成功。

继续阅读