文章 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)權限,這樣在預警時才能發送到對應用戶的報警媒介。