天天看點

zabbix監控添加主機,報警、監控的設定

根據使用zabbix這麼久的經驗,總結了一套zabbix比較實用的添加主機、監控報警的使用流程,供大家參考。

一:添加處理方法,就是如何報警

  打開zabbix的管理------處理方法----create media type:

<a href="http://blog.51cto.com/attachment/201211/133646100.png" target="_blank"></a>

  我用的是腳本發郵件的方式來報警的,腳本名字為mail.py。指的一提的是腳本存放位置,我的腳本是放在/usr/local/zabbix/bin/目錄下面,在這裡不寫目錄的據對路徑,直接寫腳本名字,他的路徑設定是在zabbix伺服器端的配置檔案中設定的,在zabbix_server.conf配置檔案中設定:AlertScriptsPath=/usr/local/zabbix/bin/

二:添加zabbix使用者群組,設定其郵箱位址等資訊

1:打開zabbix的管理------使用者---選擇使用者組下拉----create user group:

<a href="http://blog.51cto.com/attachment/201211/133940586.png" target="_blank"></a>

填寫個組名,設定需要的權限直接儲存就成,其他的不用填寫和選擇。

2:打開zabbix的管理------使用者---選擇使用者下拉----create user:

填寫使用者資訊

<a href="http://blog.51cto.com/attachment/201211/134025919.png" target="_blank"></a>

3:添加報警媒體,就是報警方式,因為是報警,【資訊】那項就不用勾選,資訊一般就是伺服器資訊發生變化時報警,這個一般沒有什麼意義,是以不勾選,不過你也可以選擇,根據個人喜好。類型的話就是選擇處理發放中的報警媒體,選擇你添加的。然後可以儲存資訊,完成添加使用者(Permissions那項沒有不填寫)。

<a href="http://blog.51cto.com/attachment/201211/134102162.png" target="_blank"></a>

三:報警觸發器觸發的動作設定

   當監控項中的觸發器達到你設定的報警值之後,需要執行操作來發送郵件等動作。具體設定:

   1:打開zabbix的系統配置---操作---- 選擇事件源為觸發器------create action:

<a href="http://blog.51cto.com/attachment/201211/134147651.jpg" target="_blank"></a>

   2:觸發條件設定:

<a href="http://blog.51cto.com/attachment/201211/134222827.jpg" target="_blank"></a>

   3:詳細操作設定,即滿足觸發條件之後執行什麼動作,這裡一般設定為發郵件之類的,設定收郵件的使用者(建議每個組對應一個使用者,這樣發郵件的時候容易設定發送對象):

<a href="http://blog.51cto.com/attachment/201211/134257761.jpg" target="_blank"></a>

四:zabbix中常用到的幾個key

Zabbix的key可以了解為zabbix的指令,執行這個key可以得到相應的結果。

1:監控端口的:net.tcp.port[,3306]

         /usr/local/zabbix/bin/ -s192.168.8.120 -knet.tcp.port[,3306] 傳回1為192.168.8.120的端口3306存在,0為不存在

2:監控程序的:proc.num[mysqld]

        /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -kproc.num[mysqld] 傳回值為192.168.8.120中mysqld的程序數量

        /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -kproc.num[] 傳回值為192.168.8.120中所有的程序數量

3:檢視CPU核數的:system.cpu.num 傳回值為伺服器CPU的核數

4:檢視系統的系統啟動時間和目前時間:system.boottime、system.localtime 傳回值為系統啟動時間和目前時間,為時間戳格式

5:檢視系統的簡單資訊:system.uname 傳回值為192.168.8.120的系統資訊,類似于linux系統的uname -a指令

6:檢視windowns系統目前網卡的進出流量:net.if.out[{HOST.NAME},bytes]、net.if.in[{HOST.NAME},bytes]和linux系統的key:net.if.out[eth0,bytes]、net.if.in[eth0,bytes]一樣

        /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -knet.if.in[192.168.8.120,bytes] 傳回值為IP為192.168.8.120的進流量,此值為計數值,機關為bytes,減去上次取得值,除以時間間隔為此段時間内的平均流量

        /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -knet.if.out[192.168.8.120,bytes] 傳回值為IP為192.168.8.120的出流量,此值為計數值,機關為bytes,減去上次取得值,除以時間間隔為此段時間内的平均流量

7:檢視系統記憶體大小:vm.memory.size[total],傳回值機關bytes

8:檢視檔案的大小: vfs.file.size[file] 如: vfs.file.size[/var/log/syslog] 傳回的是/var/log/syslog的大小,機關是:bytes

9:檢視檔案是否存在:vfs.file.exists[file] 檔案如果存在傳回1,不存在傳回0

10:檢視檔案的MD5:vfs.file.md5sum[file]檢視小檔案的MD5,傳回為MD5值(好像隻有2.0以上的版本有這個key)

11:自動發現網卡并監控流量和自動發現分區及分區挂載情況的兩個key:net.if.discovery,vfs.fs.discovery,windows和linux監控模闆中都有這模闆(2.0以上版本),應用即可

以上是常用的key,其實監控伺服器無非就是記憶體、硬碟占用、CPU負載、流量、伺服器和端口等情況。如果要監控其他的可以自定義key來實作,本人喜歡自定義key,寫個腳本來傳回,得到自己想要的監控結果,zabbix在這塊做的非常好,擴充性很強,支援各種腳本來實作自定義的key。

要啟用自定義key,需要在用戶端的配置檔案中啟用UnsafeUserParameters=1參數,然後在配置檔案的最下面來定義key,如:

UserParameter=free.disk,/usr/local/zabbix/bin/disk.py

free.disk為key的名字,/usr/local/zabbix/bin/disk.py為伺服器端調用free.disk這個key時執行的腳本,其結果就是free.disk的傳回值。腳本可以是任何可以運作的腳本語言。

五:建立監控模闆和監控項

其實在zabbix伺服器端安裝完成之後,就有許多自帶的監控模闆,基本上可以滿足大衆化的監控需求,不過其中有許多是沒有必要的監控項或是自己不感興趣的,比較備援,是以要做好監控的話,還是自定義模闆和監控項,這個監控模闆可以修改zabbix系統自帶的,也可以自己建立。以下為自己建立監控模闆。

1:建立監控模闆:

   打開zabbix的系統配置---模闆----create template:

   填寫模闆名字和模闆所在組儲存即可。

<a href="http://blog.51cto.com/attachment/201211/134340848.png" target="_blank"></a>

2:建立監控項:

打開zabbix的系統配置---模闆---選擇對應模闆中的監控項---create item:

<a href="http://blog.51cto.com/attachment/201211/134419421.jpg" target="_blank"></a>

3:建立監控項的觸發器:

打開zabbix的系統配置---模闆---選擇對應模闆中的觸發器---create trigger:

<a href="http://blog.51cto.com/attachment/201211/134455929.jpg" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201211/134521804.jpg" target="_blank"></a>

這裡說明下這個 N 值的大小

比如說我檢測被監控端的httpd 程序數為9個,這時這這個N的值就可以設定為 N=9 ,

當last value 最後一次檢測的值小于N,也就是小于9時,這個觸發器就會被觸發。

六:添加主機并應用模闆

添加主機有兩種方法,一個是手動添加,一個是通過zabbix的自動發現來自動添加主機。

1:手動添加主機

做完以上的設定,添加主機就是很簡單的事情了。打開zabbix的系統配置---主機—create host:

<a href="http://blog.51cto.com/attachment/201211/134552361.png" target="_blank"></a>

在這一步,隻填寫主機名、顯示名、agent接口中的IP位址,選擇主機所在組,其他的預設。

<a href="http://blog.51cto.com/attachment/201211/134627511.png" target="_blank"></a>

選擇模闆确認并儲存主機,其他的選項不需要設定,預設即可

添加完主機如下圖,可用性為綠色是正常,紅色為不可監控(主要是網絡不通或是沒有安裝zabbix用戶端),灰色為正在檢測zabbix的狀态:

<a href="http://blog.51cto.com/attachment/201211/134650497.png" target="_blank"></a>

2:通過自動發現自動添加主機:

  打開zabbix的系統配置---自動發現—create discovery rule:

<a href="http://blog.51cto.com/attachment/201211/134714485.png" target="_blank"></a>

需要添加名稱,ip位址段(這個位址段以覆寫你所有IP的最小位址段為好),checks。其中checks最為重要,總共三項,隻填寫key,這裡用system.uname這個key。然後點選添加并儲存。這裡的意思是zabbix伺服器端掃描這個網段中的zabbix用戶端(用戶端端口預設為10050),掃描到之後取用戶端的system.uname值,這個值傳回的類似于linux系統中的uname –a指令,值為下面形式:

<a href="http://blog.51cto.com/attachment/201211/134741428.png" target="_blank"></a>

   這個主要用于發現主機之後把主機自動配置設定到相應的組(比如linux組或是windowns組)中,并且應用相應的監控模闆。

當然,這個key值不一定要用system.uname,也可以用其他的key,首先zabbix用戶端支援這個key,在這用這個key可以區分不同類型的主機友善分組應用監控模闆。

打開zabbix的系統配置---操作-------事件源下拉選擇自動發現—create action:

<a href="http://blog.51cto.com/attachment/201211/134844599.png" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201211/134854963.png" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201211/134907253.png" target="_blank"></a>

  這幾項的意思是當自動發現通過發現zabbix用戶端,并且接收到key的中包含linux字元,即把他添加到linux_servers組中,應用linux_server模闆。等一段時間即可檢視自動發現的結果。結果可以在zabbix首頁中最下面有狀态,也可以在zabbix的狀态統計---自動發現中檢視,可以看到發現了多少,監控了多少。

到此為止,zabbix的監控設定說明完畢。

本文轉自 lover00751CTO部落格,原文連結:http://blog.51cto.com/wangwei007/1048154,如需轉載請自行聯系原作者

繼續閱讀