環境
系統:CentOS7
Zabbix版本:Zabbix3.4.4
安裝郵件發送工具mailx
因為此處選擇了mailx作為郵件發送工具,是以關閉其他自帶的郵件服務,在安裝zabbix的伺服器上執行以下指令:
service sendmail stop ##關閉sendmail
systemctl disable sendmail.service ##禁止開機啟動sendmail
service postfix stop ##關閉postfix
systemctl disable postfix.service ##禁止開機啟動postfix
然後安裝mailx工具,該工具在CD光牒鏡像挂載的路徑下,安裝指令如下: 配置Zabbix服務端外部郵箱
打開檔案vim /etc/mail.rc(如果mail.rc檔案沒有,就手動建立,添加如下内容)
set sendcharsets=iso--,utf-
set [email protected]
set smtp=smtp.com:
set [email protected]
set smtp-auth-password=****
此處以163郵箱為例,密碼需要此163郵箱正确的密碼
測試郵件是否可以發出
echo "zabbix test mail" |mail -s "zabbix" [email protected]
配置完成後,執行這條指令測試郵件是否可以正常發出,如果正常,郵箱[email protected]會收到來自[email protected]的測試郵件
編寫發送郵件腳本
安裝dos2unix轉換工具( 解決發出的郵件是附件格式的問題 )
rpm -ivh /mnt/cdrom/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm
修改郵件腳本
vim /usr/lib/zabbix/alertscripts/sendmail.sh
修改郵件發送腳本内容:
#!/bin/bash
#export.UTF-8 ###解決發送的中文變成了亂碼的問題
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE ###解決了發送的郵件内容變成附件的問題。
/bin/mail -s "$2" $1 < $FILE
建立臨時檔案并授權
touch /tmp/mailtmp.txt
chown zabbix.zabbix /tmp/mailtmp.txt
上面的這個三個參數是接收從web頁面中傳遞過來的:
$1:收件人郵箱位址;
$2:郵件标題;
$3:郵件内容
注意:要給腳本添權重限
chmod 755 /usr/lib/zabbix/alertscripts/sendmail.sh
配置web頁面
1、建立媒體類型
管理–>報警媒介類型–>建立媒體類型
按圖示填寫完成後點選更新,就會在報警媒介類型中看到剛才建立的名為Email類型
2、給使用者添加報警媒介
此處以Admin使用者為例 管理–>使用者–>點選Admin
點選報警媒介,然後添加郵件接收人
3、建立動作
名稱自己起,除了操作,其它預設,或者根據自己需求添加
添加新的操作
添加完成後動作頁面清單就會展示出來
此時沒有添加相應的觸發器,如果系統中任何一台機器出現告警資訊,就會通過郵件發送器發送到對應的郵箱中。