先建立組和使用者,這個組内的使用者隻是用來監控的,是以權限隻給讀權限,報警媒介輸入郵箱位址。
<a href="https://s1.51cto.com/wyfs02/M02/95/70/wKioL1kVM6SgRpLJAAFJ1hGVb0s209.jpg" target="_blank"></a>
2.在 配置-動作 選擇建立動作。
<a href="https://s5.51cto.com/wyfs02/M00/95/70/wKiom1kVNOrgLKq5AAGqtLMNCkQ911.jpg" target="_blank"></a>
3.填寫動作名稱,觸發條件。
<a href="https://s2.51cto.com/wyfs02/M02/95/70/wKiom1kVNc2h08pzAAGGgiJqngQ048.jpg" target="_blank"></a>
4.操作填寫觸發後執行的動作,遠端執行指令或發送郵件:
<code>#預設資訊,這裡是宏變量,可以設定成中文,這裡我常用的是下面這個。</code>
<code>告警主機:{HOST.NAME}</code>
<code>主機IP: {HOST.IP}</code>
<code>告警時間:{EVENT.DATE} {EVENT.TIME} </code>
<code>告警等級:{TRIGGER.SEVERITY} </code>
<code>告警資訊:{TRIGGER.NAME}</code>
<code>問題詳情:{ITEM.NAME}:{ITEM.VALUE}</code>
<code>事件ID: {EVENT.ID}</code>
<a href="https://s5.51cto.com/wyfs02/M02/95/71/wKioL1kVSPqQeA9pAAI9s1G1gRw973.jpg" target="_blank"></a>
5.在管理-報警媒介處選擇報警類型(注意以下三處)。
<a href="https://s5.51cto.com/wyfs02/M02/95/70/wKiom1kVNDrRyH6hAAGrhmRFap4542.jpg" target="_blank"></a>
1)這裡腳本名稱是Email.sh,是以要在zabbix的安裝目錄中建立一個腳本:
我這裡的zabbix3.2是編譯安裝的,是以腳本目錄應放在/usr/local/zabbix/etc/alertscripts/下,yum安裝的應放在/etc/zabbix/alertscripts/下。
<code>mkdir</code> <code>-p </code><code>/usr/local/zabbix/etc/alertscripts/</code>
<code>cd</code> <code>/usr/local/zabbix/etc/alertscripts/</code>
2)編寫發送郵件的腳本
$1:郵件位址。
$2:郵件主題。
$3:郵件内容
vi Email.sh
<code>#!/bin/sh</code>
<code>#export.UTF-8</code>
<code>FILE=</code><code>/tmp/mailtmp</code><code>.txt</code>
<code>echo</code> <code>"$3"</code> <code>>$FILE</code>
<code>dos2unix -k $FILE</code>
<code>/bin/mail</code> <code>-s </code><code>"$2"</code> <code>$1 < $FILE</code>
注意:這裡的Email.sh腳本一定要有可執行權限,mailtmp.txt同樣需要可執行權限,否則發送的郵件會有問題。
<code>chmod</code> <code>+x Email.sh</code>
<code>touch</code> <code>/tmp/mailtmp</code><code>.txt</code>
<code>chmod</code> <code>777 </code><code>/tmp/mailtmp</code><code>.txt</code>
3)安裝發送郵件的工具postfix或者申請一個163郵箱的smtp,這裡用第二種方式,用163郵箱作為發送郵件的工具。
首先解除安裝linux自帶的郵件發送工具。
<code>yum remove sendmail postfix -y</code>
申請一個163郵箱,然後設定smtp:
<a href="https://s4.51cto.com/wyfs02/M00/95/72/wKiom1kVTlTyB1LlAAGFtzoAI1o562.jpg" target="_blank"></a>
點選用戶端授權密碼,開啟以後會得到一個密碼,這個密碼下面就要用到。
<a href="https://s5.51cto.com/wyfs02/M01/95/72/wKiom1kVTu-BmyptAAEMUfZp-Fk608.png" target="_blank"></a>
4)在伺服器上編輯郵件mailx,沒有的話需要安裝:
<code>yum </code><code>install</code> <code>-y mailx</code>
<code>vi</code> <code>/etc/mail</code><code>.rc </code>
<code>#在配置檔案最後添加如下内容:</code>
<code>set</code> <code>bsdcompat</code>
<code>set</code> <code>[email protected] </code>
<code>set</code> <code>smtp=smtp.163.com</code>
<code>set</code> <code>[email protected]</code>
<code>set</code> <code>smtp-auth-password=123456 </code><code>#這個密碼就是剛才開啟的163用戶端授權密碼</code>
<code>set</code> <code>smtp-auth=login</code>
5)測試Email.sh腳本發送郵件是否能成功:
<code>/usr/local/zabbix/etc/alertscripts/Email</code><code>.sh </code><code>test</code><code>@qq.com </code><code>"test"</code> <code>"test email"</code>
6)如果腳本測試成功,那說明linux系統發送郵件是沒有問題的,如果zabbix觸發了事件,結果沒收到郵件,就要檢查zabbix的設定了。
本文轉自 王家東哥 51CTO部落格,原文連結:http://blog.51cto.com/xiaodongge/1924995