1. 程式人生 > >Zabbix郵件預警-這個坑我跳了不止一次

Zabbix郵件預警-這個坑我跳了不止一次

文章 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電郵 傳送郵件的郵件地址 [email protected]
安全連結 如果需要SSL 認證就勾選,不需要則選擇 無。
認證 使用者和密碼 使用者和密碼
使用者名稱稱 和密碼 使用者名稱,不要只填個1120336774 啊,我前面就是填了這個,好久才跳出來。要填[email protected] ,密碼填入我們獲取的授權碼。 使用者名稱:[email protected] 密碼 12456789

二、自己的郵件伺服器

注意事項:

當我們使用 QQ 郵件伺服器或者163郵件伺服器等,我們如果向同一郵箱傳送了比較多的郵件,郵件是很容易被放到垃圾郵箱的。而且當我們使用的是自己的郵件伺服器,我們傳送比較多的郵件到 QQ 郵件伺服器時,我們的郵件伺服器會比較容易被 QQ 郵箱標記為 垃圾郵件伺服器並加入黑名單。

發件郵箱配置官方文件

第三坑 動作和使用者報警媒介之坑

一般我們都會建立好,監控項和觸發器,但是我們一般會忘記配置動作和使用者報警媒介。

動作:

一個動作由操作(例如發出通知)和條件(什麼時間進行操作)組成,動作包含 觸發動作的條件、觸發動作後的操作、恢復操作、更新操作。

我們一般通過觸發器警示度來配置動作,當觸發器警示度大於等於警告就發郵件。

具體的動作日誌,我們可以在報表(Reports) → 動作日誌(Action log)中檢視。

使用者報警媒介

當我們需要將不同的嚴重性的郵件傳送給不同的人,我們需要給每個使用者配置報警媒介,當我們配置的預警方式是郵件的時候,我們需要為使用者配置報警媒介。

如果我們使用的是郵件預警的話,我們就使用的型別是 Email 然後在收件人裡面填入收件郵箱。

第四坑 預警使用者對生成事件的主機沒有許可權

當我們建立了一個使用者,並且配置好了,報警媒介,在發生預警的時候,我們的配置的報警媒介的郵箱沒有收到郵件,也排除了上面的問題,最終我們檢查發現該使用者沒有對該主機沒有許可權。我們需要確認你建立的使用者對生成事件的主機至少擁有讀(read)許可權,這樣在預警時才能傳送到對應使用者的報警媒介