1. 程式人生 > >zabbix的深入配置和使用(Items,key的添加)

zabbix的深入配置和使用(Items,key的添加)

zabbix

1.Items的添加

Items的含義:Items就是監控項可以配置獲取監控數據的方式,取值的數據類型,獲取數值
的間隔,歷史數據的保存時間,趨勢數據保存時間,監控Key的分組等。
檢測周期的長短直接影響了數據的獲取,也影響了Zabbix Server的性能。

zabbix監控的方式非常多,如圖
技術分享圖片
監控項存在於zabbix.items中
技術分享圖片
2.如何添加Items

Items可以存在於模板中(Template),也可以存在於主機中(Host),模板的作用是可以復用,
對需要重復配置的監控項歸類。
下面演示如何在Template OS Linux 模板中添加一個Items,Key為vm.memory.size[total]。
Template  OS Linux模板中默認不存在統計總內存大小的Items,所以我們需要自己添加,添加
的方法為:Configuration→Templates,找到Template OS Linux,單擊Items,如圖

技術分享圖片
單擊Create Item創建Item
技術分享圖片
單擊Select按鈕,列出Agent所有自帶的KEY,如圖所示。由於vm.memory.size[]是zabbix自帶的,所以會列出來。這裏需要註意,如果是自己自定義的KEY,單擊Select是無法看到的。自定義的Key在框框裏輸入即可。

技術分享圖片
單擊vm.memory.size[mode]之後,它會自動填充到框框裏,我們目的是獲取總的內存大小,所以要把mode替換成total
方括號中具體參數可參考:http://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/zabbix_agent

如何確保Key的配置是正確的?可通過zabbix_get來檢驗
[root@localhost ~]# zabbix_get -s 127.0.0.1 -k vm.memory.size[total] 961351680
1028517888
[root@localhost ~]# 
如果能獲取到值,就說明配置是正確的。
(這裏再次提醒,zabbix_get只能測試Agent監控方式的Key值,不能獲取Simple Check,
JMX,SNMP等其他監控方式的KEY類型的數據)
最終的添加結果如圖

技術分享圖片

3.Items key的添加
(1)key的格式
key可以帶參數,該參數為一個數組列表,可以同時傳遞多個參數。既key的格式為key或者key[接參數],例如:
vfs.fs.size[/]
vfs.fs.size[/opt]
key的可接參數分為引號字符串,非引號字符串和數組
(2)引號字符串參數
如果參數是引號字符串,其中可以為任何字符串,但如果存在雙引號,必須用反斜杠(\)進行轉義。
(3)非引號字符串參數
除逗號,右方括號的其他字符都能引用。
(4)數組
如果key是一個數組,用逗號將個參數分開。
(5)key的名稱定義註意事項
key名稱的取值範圍如下:
所有的數字(0-9);
所有的小寫字母(a-z);
所有的大寫字母(A-Z);
下劃線(_);
破折號(---);
點(.);
(6)key的參數數組應用示例:
多個參數用逗號(,)分開,每個參數對key分別傳遞參數的值。
Userparameter=wc[*],grep -c "$2"$1
上述語句表示把$1,$2的值傳遞給key,
(7)用戶自定義參數
用戶自定義參數僅支持Agent的方式,對於其他方式,他是不支持的。
key自定義的語法格式
在/etc/zabbix/zabbix_agent.conf中配置參數,寫法如下
UserParameter=key,command
除了上面寫法還支持參數傳遞的寫法,寫法如下
UserParameter=key[*],command $1 $2 $3,將值作為命令的一部分
**key:Item key具有唯一性,定義[*]可接收參數
   Command:zabbix將[]中的參數傳遞給命令中的$1,..$9,將值作為命令的一部分。
(註意,UserParameter中的命令包含特殊字符必須開啟UnsafeUserParameters=1的參數,然後重啟zabbix_agent服務。)

自定義key的例子
在/etc/zabbix/zabbix_agentd.conf後面添加如下內容
UserParameter=get.os.type, head -1 /etc/issue
然後重啟zabbix——agented服務
技術分享圖片
子配置文件的配置
為了便於維護和分類管理,UserParameter的內容可以單獨寫一個配置文件
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agented.conf.d
Include也就是zabbix_agented.conf中部分內容的子配置文件,這種方式在其他開源軟件中也是類似做法,便於維護。子配置文件中通常會定義UserParameter。(註意不能有重復名字文件,若不是服務會啟動失敗。)

總結總結::::::::::::::::::::::::::::::::::
1.自定義key的語法
2.特殊字符的處理
3.子配置文件的註意事項
4.自定義key的步驟總結:
(1)Agent配置文件的修改。
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
UnsafeUserParameters=1             #處理特殊字符
Include=/etc/zabbix/zabbix_agent.conf.d/                  #子配置文件路徑
(2)子配置文件
[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf/get_os_type.conf
UserParameter=get.os.type, head -1 /etc/issue         #自定義key
(3)重啟服務測試key
[root@localhost ~]# service zabbix-agent restart
[root@localhost ~]# zabbix_get -s 127.0.0.1 -k get.os.type
CentOS release 6.5 (Final)
(4)用zabbix_agentd查看key是否被支持
[root@localhost ~]# zabbix_agentd -p|grep get\.os
get.os.type                                   [t|CentOS release 6.5 (Final)]
(5)在web界面添加Item,註意數據類型的選擇(因為是自定義key,所以不用選擇select,直接把key名稱寫上框裏就好了。)

技術分享圖片

zabbix的深入配置和使用(Items,key的添加)