zabbix郵件報警發送至qq郵箱
zabbix郵件報警設置
第一、安裝郵件發送工具mailx
這裏我選擇的是mailx,所以的關閉其他的郵件發送工具
service sendmail start #開啟,因為發送郵件需要開啟25端口
chkconfig sendmail off #禁止開機啟動
service postfix stop
chkconfig postfix off
執行安裝mailx的命令:yum install mailx
第二、配置Zabbix服務端外部郵箱
打開文件vi /etc/mail.rc 如果mail.rc文件沒有,就手動創建 內容如下:
set sendcharsets=iso-8859-1,utf-8
set [email protected]
set smtp=smtp.qq.com
set [email protected]
set smtp-auth-password=********
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb
第三、測試郵件是否可以發出
echo"zabbix test mail" |mail -s "zabbix" [email protected]
#這時候,郵箱[email protected]會收到來自[email protected]的測試郵件
第四、編寫發送郵件腳本
進入下面路徑:/usr/local/zabbix/share/zabbix/alertscripts
創建sendmail.sh文件,內容如下
#!/bin/bash
to=$1
subject=$2
file="/tmp/mail$RANDOM"
echo $3 > $file
sed -i -e ‘s/ //g‘ -e ‘s/\r/\n/g‘ $file
date "+%F %T" >> /usr/local/zabbix/share/zabbix/alertscripts/sendmail.log
echo "$to" "$subject" >> /usr/local/zabbix/share/zabbix/alertscripts/sendmail.log
cat "$file" >> /usr/local/zabbix/share/zabbix/alertscripts/sendmail.log
cat "$file" | /bin/mail -s "$subject" "$to"
rm -f $file
上面的這個三個參數是接收從web頁面中傳遞過來的,$1:收件人郵箱地址;$2:郵件標題;$3:郵件內容
為什麽我們會在這個路徑下面創建這個腳本呢,這是在我們的zabbix_server.conf文件中配置的
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
所以你不想將這個腳本放在這個目錄下面,需要修改服務端的配置文件中的AlertScriptsPath的值
第四、配置web頁面
4.1、創建媒體類型
點擊創建媒體類型
添加以下3個參數,分別對應sendmail.sh腳本需要的3個參數:收件人地址、主題、詳細內容
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
如果在3.0中不添加這三個參數會報錯,因為在3.0以後zabbix允許自定義參數了,所以不會默認傳遞參數,在2.0的時候會默認傳遞三個參數,所以在3.0如果不寫這三個參數會報錯。
4.2、給用戶添加報警媒介
在這以Admin用戶為例 管理—》用戶—》點擊Admin
點擊Admin
4.3、創建動作
填寫動作選項
除了自己填寫一個名稱以外,其余的都默認就好了。當然也可以修改成中文:參考如下
默認接收人:故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生:{TRIGGER.NAME}故障!
默認信息:
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE}{EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢復信息:打鉤
恢復主旨:恢復{TRIGGER.STATUS},服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!
恢復信息:
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE}{EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
已啟用:打鉤
填寫條件選項
填寫操作詳細信息
解釋:默認的步驟是1-1,也即是從1開始到1結束。一旦故障發生,就是執行sendEmail.sh腳本發生報警郵件給Admin用戶和zabbix administrator組。假如故障持續了1個小時,它也只發送一次。如果改成1-0,0是表示不限制.無限發送 間隔就是默認持續時間60秒。那麽一個小時,就會發送60封郵件。
到這我們的郵件報警配置就完成了,這是只要我們設置的觸發器觸發,就會自動給我發送報警郵件。
測試郵件報警
我將zabbix自帶的模板中的對可用內存的監控中的觸發器的臨界值改為大於0,進入模板列表
點擊觸發器
點擊修改
保存以後 我將每一分鐘收到一份報警郵件 內容如下:
本文出自 “zpp” 博客,請務必保留此出處http://1439337369.blog.51cto.com/10270624/1979146
zabbix郵件報警發送至qq郵箱