Zabbix 分散式監控教學 (二):

LUFOR129
Nov 24, 2021

上一篇我們講到如何安裝Zabbix Server、如何安裝Zabbix Agent、如何收集資訊,今天我們來講講Zabbix的一些主要功能。今天來講一下Notification、Trigger、Discovery。

一、Trigger

Trigger 是監控員。如果有看我上一篇的同學,一個Agent加入的時候可以選擇template模板,這些模版是Zabbix他們定義了一些基本的Agent可能會用到的功能,如CPU監控、網路流量監控…。此外除了監控外也有定義什麼樣的情況下要發出警告,這就是Trigger。

Trigger可以在 Configuration > Hosts > (Select Your Host) > Trigger 找到。

除了Template定義的Trigger外,也可以自定義Trigger,右上角 Create Trigger 即可。定義Trigger中有三個最重要的東西,名稱(Name)、嚴重程度(Severity)、什麼情況會觸發(Expression)。如下圖,這是一個CPU監控Trigger,當Windows-agent的CPU使用量大於70%超過10秒後觸發High層級的Trigger。

Trigger Expression的寫法如下,下面的例子是網路流量5分鐘超過100K會觸發Trigger :

更多詳細寫法參考官網文件:

查看該Zabbix的Monitor的Graphs圖,可以看到多了一條你定義的Trigger線,超過後就會觸發警報。下圖是一個觸發警報的Agent。

二、 Notification 通知

當Trigger被觸發了,該怎麼自動化的去通知我們處理問題呢? Zabbix支援很多Notification方式,如Slack、Teams…等。我們這裡舉一個最簡單的例子,寄信。我們這裡實作一下用Gmail信箱當作自動發Mail的信箱吧。

第一件事情就是要把你的Gmail設為第三方可以使用,在你的Google帳號裡開啟低安全應用程式存取。

回到Zabbix, Zabbix > Adminstration > Media > Media Type > Email 。設置你的SMTP Server為 smtp.gmail.com ,Authentication設為使用帳號密碼,輸入你的Google 帳號密碼,如下圖。

接著進入要設定Trigger Actions,這是設定Trigger後要做的動作。進入 Configuration > Actions > Trigger Actions > Create Actions 建立新的Trigger Actions。

在Actions頁面取好名稱後點擊Operations。在Operations中可以設定要寄給哪個User Group或是User。

完成後當我們觸發Trigger時就會寄信給我們信箱通知有系統出狀況了。

三、 Discovery

Discovery是Zabbix的一個很棒的特色。以往我們要加入Host非常麻煩,需要手動一個一個確定,使用Discovery可以透過掃描特定網段的port來查看有誰開啟,並將他們加入至我們的Zabbix Server作為Host收集資訊。

首先進入 Configuration > Discovery > Create Discovery Rule 建立一個新的RULES。如下圖,定義這個RULE名稱是NCUMIS,掃描的IP Range是(83.1~83.254),Checks這一段定義我們要掃 HTTP port (80) 與SNMP port (161)。

接著要定義掃描到後的動作,進入 Configuration > Actions > Discovery Actions 。在Actions那部分定義掃到83.1~83.254的IP會執行接下來的動作。

在Operations部分定義接下來的操作,如下圖,定義他們會加入並定義成Linux Server Host。也就是說,所有83.1~83.254的IP,有開啟port 80、161都會加入變成我們的Hosts。

過了一段時間後打開你的 Configuration > Hosts 可以看到許許多多的Hosts,由於我們剛剛掃了port 80,所以你可以直接把IP貼到瀏覽器來看看該IP是什麼網頁。此外我們也可以再次重新定義他們的template來監控他們。

--

--