自動化監控利器-Zabbix深入配置和使用


1.  配置流程

Zabbix完整的監控配置流程可以簡單描述為:

Host groups(主機組)→Hosts(主機)→Applications(監控項組)→Items(監控項)→Triggers(觸發器)→Event(事件)→Actions(處理動作)→User groups(用戶組)→Users(用戶)→Medias(告警方式)→Audit(日志審計)

2.  添加主機組

分組的目的是將同一屬性的主機歸類,如果你不想將新添加的主機歸納為自定義的分組,可以使用默認的分組。

配置主機組,打開前端Web頁面,單擊ConfigurationHost groups 如圖2-1所示。

2-1

主機組中包含主機,也可以包含模板。

建議:對同一屬性的主機或模板,盡量歸納到分組,方便以后管理。分組原則建議如下。

q  以地理位置的緯度進行划分。

q  以業務為單位划分組。

q  以機器用途划分。

q  以系統版本划分。

q  以應用程序花分組。

q  其他方式等。

按組划分的好處是方便分組管理,如圖2-2所示,就是以分組划分的實例。

2-2

2.1 添加新的主機組

1.點擊→Host groups上的按鈕Create host group,如圖2-3所示。

2-3

2.單擊后會出現一個添加新主機組的界面,如圖2-4所示。

2-4

在圖2-4”Group name”是組的名稱:”Host Host in”是選擇那些設備屬於這個新添加的組。

3.單擊Save保存,新添加的主機組就可以顯示在主機組列表中,如圖2-5所示。

2-5

4.如果想在數據庫中查看主機組,運行如下語句即可,如圖2-6所示。

mysql> select * from zabbix.groups;  查詢主機組

2-6

3.  添加模板

監控項、觸發器、圖形、WebDiscovery等都是存在於主機之上的,由於多個主機都會用相同的監控配置,因此,可以對這部分同類的數據進行歸納抽象,即將這些數據做成模板。當我們需要對其他監控數據進行配置的時候,只需要對相對應的主句添加對應的模板即可。

1.配置模板的步驟為:單擊→ConfigurationTemplatesCreate template 如圖3-1所示。

3-1

2.創建模板,依次單擊TemplatesCreate template,如圖3-2

3-2

3.填入模板名稱和所屬的組,如圖3-3所示。

 

3-3

4.模板具有繼承的功能(將一個模板在另外一個模板中使用),如圖3-4所示。

3-4

搜索當前已經存在的模板,然后單擊Add添加。

5.模板中也可以設置宏,如圖3-5所示。

宏主要是對變量定義,設置宏的作用是方便后面再ItemsTrigger中引用,在模板中配置一個宏,在不同的主機對該宏設置不同的變量值,從而達到模板通用的目的。

3-5

6.查看新建的模板,如圖3-6所示。

3-6

可以看到,Items中已經有三個Items了,是繼承與Template OS Linux模板的。以后會詳細講解如何在模板中添加其他的Items

4.  添加主機

1.添加主機的目的是對具體的設備進行監控,步驟為:依次單擊ConfigurationHostsCreate host,如圖4-1所示。

4-1

2.在圖4-1中單擊Create host,出現如圖4-2所示的界面。

4-2中各參數的詳細說明如表4-1所示。

4-2

4-1

參數

描述

主機名(Host name)

輸入一個不重復的主機名。編輯該名稱對應客戶端的配置文件時,主機名這一項必須與此處輸入的值相同。

訪問名(Visible name)

如果設置該名字,那么它將出現在主機列表、地圖等地方。

群組(Group in groups)

選擇主機所屬的群組。一個主機必須屬於至少一個主機組。

新建主機組(New group)

一個新的群組將被 ,然后自動連接到該主機上。如果為空,該項將被忽略。

接口協議(Agent interfaces)

一個主機支持的主機接口協議包括:AgentSNMPJMXIPMI,如果想增加一個新的接口,單擊”Add”按鈕,然后輸入IP/DNS、連接項、端口等信息。

IP地址(IP address)

要監控主機的IP地址(可選項、默認是IP)

DNS名稱(DNS name)

要監控主機DNS能扣解析的名稱(可選項)

Agent通信方式(Connect to)

單擊對應名稱的按鈕

IP

連接要監控主機的IP地址(推薦)

DNS

要監控主機能夠正常解析的DNS

端口(Port)

TCP協議的端口,Zabbix客戶端使用的默認值是10050

通過代理服務器進行監控

(Monred by proxy)

主機可以通過Zabbix服務器或者Zabbix的一個代理去監控客戶端

狀態(enabled)

勾選則開啟

3.選擇模板,如圖4-3所示。

4-3

4.搜索模板,如圖4-4所示。

4-4

5.搜索出來 后,打擊Add添加該模板,如圖4-5所示。

4-5

6.添加了兩個模板,單擊Add保存,如圖4-6所示

4-6

5.  Graphs配置

Graphs是將數據展示為圖像,以視覺化形式展示,Graphs的配置存在於主機和模板中。

1.在所在的主機模板中,選擇Graphs,如圖5-1所示。

5-1

2.單擊“Create graph”按鈕,如圖5-2所示。

5-2

3.出現新建圖形的界面,輸入Name,選擇所需要的Items,如圖5-3所示。

5-3

4.單擊Graphs,可以看到其中已經添加了一個Graphs,如圖5-4所示。

5-4

5.單擊剛才創建的Graphs,選擇preview,即可查看圖形,如圖5-5所示。

5-5

6.如果要查看所有的圖形,單擊MonitoringGraphs,如圖5-6所示。

5-6

7.選擇對應的GroupHostGraph,如圖5-7所示。

5-7

8.顯示圖形如圖5-8所示。

5-8

6.  Screen配置

Screen將多種信息放在一起展示,便於集中展示某個Host的多個信息,或是將多個Host的同一種信息放在一起顯示,這些信息可以為GraphsMapsServerinfo等,幾乎涵蓋Zabbix所有的監控信息。

1.通過單擊Configuration-ScreensCreate screen來創建,創建時定義Screen的行數和列數(如圖6-1至圖6-3所示),單擊單元格內的Change,添加相應的元素。

6-1

6-2

6-3

2.單擊創建Screen名稱,如圖6-4所示

6-4

3.單擊Change,如圖6-5所示

6-5

4.出現如圖6-6所示

6-6

5.選擇對應的Graphs,這里選擇選擇cpuload圖形,如圖6-7所示

 

6-8

6.單擊update保存,如圖6-9所示

6-9

7.配置好后,通過單擊MonitorScreen,選擇相應的Screen組,如圖6-10所示。

6-10

7.  添加Items

7.1 Items的含義

Items就是監控項可以配置獲取監控數據的方式、取值的數據類型、獲取數值的間隔、歷史數據保留時間、趨勢數據保存時間、監控Key的分組等。

檢測周期的長短直接影響了數據的獲取,也影響了ZabbixServer的性能。

監控的方式非常多,Zabbix支持的監控方式如圖7-1所示。

監控項存在於Zabbix.items表中。

mysql> select * from zabbix.items; 

7-1

7.1.1自定義Items

Items可以存在於模板(Template)中,也可以存在於主機(Host)中,模板的作用是可以復用,對需要重復配置的監控項歸類。

下面演示如何在Template OS Linux模板中添加一個Items,Keyvm.memory.size[total]

Template OS Linux 模板中默認不存在統計總內存的大小的Items,故我們需要自己添加,添加方法:單擊ConfigurationTemplates,如圖7-2所示

7-2

2.找到Template OS Linux,單擊Items,如圖7-3所示。

7-3

3.單擊Create items創建Item,如圖7-4所示。

7-4

4.單擊Select按鈕,列出Agent所有自帶的Key,如圖7-5所示。由於vm.memory.size[]這個keyZabbix自帶的,所以會列出來。這里需要注意,如果是自己定義的Key,單擊Select送無法看到的。自己定義的key在這里手動添加即可。

7-5

5.這個默認的key方括號中是可選的參數,通過Agent官網文檔知道,獲取總的內存大小的參數是Total如圖7-6所示。

7-6

6.如何確認我們的Key添加正確?用Zabbix-get來去值,zabbix_get來獲取,語句如下

[root@linux-node1 ~]# zabbix_get -s 10.0.0.4 -k vm.memory.size[total]

510238720

確保能獲取到的值,就說明Key配置是正確的。提示:zabbix_get僅能測試獲取Agent監控方式的Key值,不能獲取其他類型的數據。

7.最終添加的結果如圖7-7所示。

7-7

7.2     自定義Items key

用戶自定義參數:用戶自定義參數(UserParameter)僅支持Agent方式,對於其他方式,它是不支持的。

q  1.Key自定義的語法格式

/etc/zabbix/zabbix_agentd.conf中配置參數,寫法如下。

UserParameter=key,command

 

除了上面這種寫法,還支持參數傳遞的寫法,具體如下。

UserParameter=key[*],command $1 $2 $3 ….

q  2.自定義Key中的特殊字符處理

如果Userparameter包含\’”`*[]{}~$!&;()<>|#@這些字符,默認情況下,Zabbix對這些參數是無法正常處理的,需要在Zabbix_agentd.conf中開啟參數UnsafeUserParameters,並將其值設置為1,語句如下。

[root@linux-node1 ~]#vim /etc/zabbix/zabbix_agentd.conf

UnsafeUserParameters=1

q  3.自定義Key的例子

UserParameter=login-user,uptime|awk  -F ' ' '{print $4}'

然后重啟zabbix_agent 服務(注意:修改配置文件必須重啟。)

[root@linux-node1 ~]# zabbix_get -s 10.0.0.4 -k login-user  ß運行測試命令,查看下Key

2

q  4.子配置文件的配置

為了便於維護和分類管理,UserParameter的內容可以單獨寫一個配置文件。

[root@linux-node1 ~]#vim /etc/zabbix/zabbix_agentd.conf

Include=/etc/zabbix/zabbix_agentd.d/

Includezabbix_agentd.conf中部分內容的子配置文件,注意:zabbix_agentd.conf.d/文件下所有的配置文件都會被當做子配置文件,如果有重復,會導致客戶端Agent啟動失敗。

q  5.用戶自定義參數總結

自定義Key的語法。

特殊字符的處理。

子配置文件的注意事項。

注意:

1.用戶自定義參數一定要包含一個key和一個命令,也可以是一個腳本

2.key在整個系統是唯一的

3.用戶自定義參數返回值,最大返回512

4.自定義完后,重啟服務測試Key

8.宏的配置

宏的作用是便於在模板、ItemsTrigger中的引用。宏的名稱為{$名稱},宏的字符范圍為A~Z0-9_

8.1全局宏

作用范圍為:模板、主機。

配置步驟為:單擊AdministrationGeneralMacros,如圖8-1所示。

8-1

選擇Macros下拉菜單,如圖8-2所示。

8-2

8.2模板宏

作用范圍:當前模板。

配置步驟為:單擊ConfigurationTemplates,再單擊模板名稱(圖中為Templates OS Linux)最后單擊Macros,如圖8-3所示。

8-3

8.3主機宏

作用范圍為:當前主機。

配置步驟為:ConfigurationHostsZabbix serverMacros,如圖8-4所示。

8-4

9.維護時間

在某些場合中,我們不需要進行告警,例如:業務的正常維護,所以維護時間就顯得特別有用。

1.配置維護時間如圖9-1所示。

9-1

2.這里的維護時間和Action中的配置緊密相關,如圖9-2所示。

9-2

10.事件確認

1.當事件出現狀態為Problem的時候,在菜單欄中單擊MonitoringEvents,在其中可以查看事件的詳細信息,如圖10-1所示。

10-1

2.單擊圖10-2中的Ack列的No,彈出如圖10-2所示的界面,輸入內容,確認並返回結果。

10-2

3.看到Ack已經變Yes狀態后,說明有用戶修改過該狀態,如圖10-3所示。

10-3

4.單擊Yes,可以查看具體的文字內容,如圖10-4所示。

10-4

 

11.數據庫導入導出配置

Zabbix提供將所有的配置導出為標准的XML格式的文件,同樣,也支持導入標准格式的XML配置文件。

導入/導出功能可以把之前做的功能進行模板化,與Cacti模板的原理相同。

單擊ConfigurationTemplates/HostExport/ImportExport,勾選要導出的模板(設備),選擇Export,即可導出XML文件到本地。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM