1. 程式人生 > >監控系統----zabbix新增監控

監控系統----zabbix新增監控

監控系統----zabbix新增監控

 

筆者總結的zabbix新增監控流程大致如下

1.配置模板

2.新建主機

3.新增特定監控項

4.新增trigger

5.新增action

 

一.配置模板

zabbix裡面就已經自帶了很多模板,筆者在工作中比較喜歡用到的是Template OS Linux,這個模板裡面就有很多關於伺服器的資訊(例如cpu,記憶體,swap等)

我們在模板介面點選全克隆,複製出一個新的模板。

然後找到我們新建的模板,把無用的監控項全部刪掉,把自動發現和應用集裡面的條目也刪掉,不然會多出很多不想他出現的監控。

然後我們找到留下來的監控項,看看它究竟是監控什麼的,修改他的名字,讓監控項更加易讀。

然後全選監控,底部選擇批量更新,修改他的型別為zabbix客戶端主動(因為筆者經常要配置跨域監控,server不能直接連線agent,但是server可以轉發一個公網地址

供agent端傳送資料過來,因此讀者把所有的監控項變成客戶端主動模式)。

這樣,一個定製化的模板就出來了。

下一步就是新建主機了

主機----新建主機

在新建主機介面中,需要注意的是主機名和agent地址。

主機名一定要配置成跟agent所配置的一樣!!!

主機名一定要配置成跟agent所配置的一樣!!!

主機名一定要配置成跟agent所配置的一樣!!!

因為在客戶端主動模式下,server端就是靠主機名來識別agent的。

然後agent的地址,這個在agent處於被動模式下是需要配置的,要配置成agent的ip地址,然而在agent主動模式下,這個就成為雞肋了(無論你填什麼都不影響資料的獲取),填127.0.0.1即可,因為一般本地也會有個agent來監控server的狀態的。

新增好主機後,可以在主機介面檢視主機的狀態。

可以看到,如果是使用agent被動模式的話,server會主動去連線agent,那主機欄裡面可用性那裡的ZBX就會顯示綠色。

筆者這裡是在模板裡面把agent的連通性監控項刪掉了,所以這裡會顯示灰色,也就是不會去識別ZBX的連通性。

但假如你沒有把agent連通性的監控項刪掉,在剛才新建主機的步驟中,你亂填了一個ip地址的話,那這裡就會顯示紅色,這樣會讓人誤以為資料推送失敗了又或者是這臺主機掛了。但是其實不是這樣的,這裡ZBX顯示紅色只是說server不能連通agent,可不是說agent不能把資料推送過來。這個也是筆者推薦在新建主機中把agent地址填成127.0.0.1的原因,讓server去連線一個能連線上的agent,免得心慌。

 

 然後我們轉到監控頁面

監控中----最新資料

搜尋出我們新新增的主機

可以看到資料已經推送過來了,那麼怎麼驗證這些資料就是你想要的那臺主機的資料呢。

筆者的監控項裡面有一個監控hostname的監控項,這個hostname不是zabbix裡面的那個主機名,而是伺服器本身的主機名。

看看主機名對不對得上就知道資料對不對得上了。

 

新加監控項

當然,模板中的監控項只能告訴我們伺服器裡面的一些基本資訊,可不能幫我們監控到整個系統業務。每家企業的業務邏輯都不同,監控的點也不同。

下面我們就自己定製化一個監控項。

自定義監控項需要在agent端的配置檔案裡面單獨配置。格式是(UserParameter=key,command)

vim /etc/zabbix/zabbix_agentd.conf

UserParameter=cps_conn,/usr/local/jiankong/zabbix/cps_http.py

配置好後重啟agent。

 

在server端新建監控項

其中需要注意的是

型別要選擇為zabbix客戶端主動

鍵值是剛才自定義的key

資訊型別一定要跟你的監控指令碼輸出的資料型別一致!!!

更新間隔視系統的負載和監控的性質而定

 

 這樣,一個定製化的監控項就出來了。

同樣可以到最新資料那裡看看資料有沒有推過來。

 

新建觸發器trigger

單單是有監控是沒用的,監控項只會把一堆資料抓取過來,而究竟這些資料代表什麼,什麼時候需要報警,這個是需要在觸發器上面設定的。

這裡需要注意的就是報警的名稱

報警的級別

報警的條件表示式

 

 

 

新建action

action在一些事件發生後,所觸發的動作,這些事件可以是自動發現一臺新的主機,一類報警的發生,甚至是特定報警的發生。

配置觸發條件,可以選擇觸發器,然後選擇特定的trigger,也可以選擇觸發器警示度,選擇一整個報警等級的trigger

點選操作,配置觸發之後具體要做什麼

筆者這裡是直接呼叫zabbix-server本地的指令碼

這個指令碼是筆者自己寫的,zabbix預設的指令碼路徑是/usr/lib/zabbix/alertscripts/send_msg.py

這個指令碼是可以傳送簡訊的,指令碼可以接受一個傳參,筆者就把告警的名稱傳給指令碼了。

zabbix有很多內建函式可以穿給外部指令碼,這裡筆者就不一一介紹了

 

至此,從監控到報警到傳送簡訊通知維護人員的整套流程就完結了。

傳送簡訊的功能參考瞭如下部落格

https://cloud.tencent.com/info/d8b5675103ed3c8fe90298377c15868a.html