文章 Github 地址:點我
每每碰到 Zabbix
,我發現配置郵件預警這個坑,我必須要跳進去,跟它是有八輩子的仇哦,哎,接下來數數這些坑。看看你遇到過類似的嗎?
Zabbix 預警配置流程
監控項---》觸發器---》動作---》報警媒介型別---》使用者報警媒介。
第一坑 雲伺服器廠商封25埠之坑
阿里雲、騰訊雲這些伺服器廠商都限制使用 TCP 25 埠連線外部地址。如果我們一直使用 25 埠進行連線的話,你是永遠傳送不出郵件的,雖然說是可以解封,但是 99.9% 是解封不成功的,如果你解封成功了,可能是老天實在是看不下去了,讓阿里工作人員犯暈給你解封了。
跳坑: 坑是自己掉進去的,爬也要爬出來,使用 465 埠,前提是你的郵件伺服器開啟了繫結 465 埠。
那麼如果我們使用的不知名的伺服器廠商,我不知道 25 埠是否被封了,我們可以使用 telnet
,測試下。
示例:
[root@iZwz9cdow8llyjlb9lglu4Z ~]# telnet smtp.qq.com 25
Trying 14.18.245.164...
telnet: connect to address 14.18.245.164: Connection timed out
[root@iZwz9cdow8llyjlb9lglu4Z ~]# telnet smtp.163.com 25
Trying 220.181.12.13...
telnet: connect to address 220.181.12.13: Connection timed out
[root@iZwz9cdow8llyjlb9lglu4Z ~]# telnet smtp.qq.com 465
Trying 14.17.57.241...
Connected to smtp.qq.com.
Escape character is '^]'.
[root@iZwz9cdow8llyjlb9lglu4Z ~]# telnet smtp.163.com 465
Trying 220.181.12.13...
Connected to smtp.163.com.
Escape character is '^]'.
阿里雲有些比較早建立的 ECS
是沒有限制25埠的,我們是可以使用25埠的。
第二坑 報警媒介配置之坑
有的時候我們常常忘記配置報警媒介型別,然後我們就進行預警,但是我們這裡並不是講你是否配置了報警媒介,而是講郵件配置。
我們這裡將示例的是兩個配置。
一、QQ 郵箱
開啟 QQ
郵箱,點選賬戶,選擇POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務。 開啟 POP3/SMTP
服務,並生成授權碼。我們這獲取到的授權碼是 fixleucazfkrbadf
。
然後我們在 Zabbix
報警媒介型別,配置Email。
名稱 | 解釋 | 值 |
---|---|---|
SMTP伺服器 | 設定SMTP伺服器來處理傳出的訊息.一般組成是 smtp + 域名 | smtp.qq.com |
SMTP伺服器埠 | 設定SMTP伺服器埠來處理傳出的訊息.Zabbix 3.0版本之後*支援此選項。如果我們是可以使用25的話,我們儘量使用25,因為我在使用465的時候,是報錯了的 failed to send email: Timeout was reached: Operation timed out after 40001 milliseconds with 0 out of 0 bytes received ,可能是傳送比較多導致連線超時。用不了25的伺服器不要又跳坑了。 |
25,465 |
SMTP HELO | 設定正確的SMTP helo值,通常是域名. | qq.com |
SMTP電郵 | 傳送郵件的郵件地址 | 1120336774@qq.com |
安全連結 | 如果需要SSL 認證就勾選,不需要則選擇 無。 | 無 |
認證 | 使用者和密碼 | 使用者和密碼 |
使用者名稱稱 和密碼 | 使用者名稱,不要只填個1120336774 啊,我前面就是填了這個,好久才跳出來。要填1120336774@qq.com ,密碼填入我們獲取的授權碼。 |
使用者名稱:1120336774@qq.com 密碼 12456789 |
二、自己的郵件伺服器
注意事項:
當我們使用 QQ 郵件伺服器或者163郵件伺服器等,我們如果向同一郵箱傳送了比較多的郵件,郵件是很容易被放到垃圾郵箱的。而且當我們使用的是自己的郵件伺服器,我們傳送比較多的郵件到 QQ 郵件伺服器時,我們的郵件伺服器會比較容易被 QQ 郵箱標記為 垃圾郵件伺服器並加入黑名單。
第三坑 動作和使用者報警媒介之坑
一般我們都會建立好,監控項和觸發器,但是我們一般會忘記配置動作和使用者報警媒介。
動作:
一個動作由操作(例如發出通知)和條件(什麼時間進行操作)組成,動作包含 觸發動作的條件、觸發動作後的操作、恢復操作、更新操作。
我們一般通過觸發器警示度來配置動作,當觸發器警示度大於等於警告就發郵件。
具體的動作日誌,我們可以在報表(Reports) → 動作日誌(Action log)中檢視。
使用者報警媒介
當我們需要將不同的嚴重性的郵件傳送給不同的人,我們需要給每個使用者配置報警媒介,當我們配置的預警方式是郵件的時候,我們需要為使用者配置報警媒介。
如果我們使用的是郵件預警的話,我們就使用的型別是 Email
然後在收件人裡面填入收件郵箱。
第四坑 預警使用者對生成事件的主機沒有許可權
當我們建立了一個使用者,並且配置好了,報警媒介,在發生預警的時候,我們的配置的報警媒介的郵箱沒有收到郵件,也排除了上面的問題,最終我們檢查發現該使用者沒有對該主機沒有許可權。我們需要確認你建立的使用者對生成事件的主機至少擁有讀(read)許可權,這樣在預警時才能傳送到對應使用者的報警媒介。