天天看點

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-自定義腳本告警
 郵件接收成功,使用腳本發送告警郵件的方式成功。

繼續閱讀