目錄
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
郵件接收顯示成功
剛才的測試是通過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"
郵件接收成功
####################################################
5、建立一個媒介類型
####################################################
6、為使用者指定媒介類型
####################################################
7、更改觸發器表達式進行測試
觸發器觸發成功,郵件已發送
将觸發器修改回來以後,可以正常收到恢複郵件
郵件接收成功,使用腳本發送告警郵件的方式成功。