013.Zabbix的Items(監控項)


一 Items簡介

Items是從主機里面獲取的所有數據,可以配置獲取監控數據的方式、取值的數據類型、獲取數值的間隔、歷史數據保存時間、趨勢數據保存時間、監控key的分組等。
通常情況下item由key+參數組成,如監控項中需要獲取cpu信息,則需要一個對應的監控key:system.cpu.load。如果是獲取網卡流量,那么獲取網卡這個監控項需要key:net.if.in或者net.if.out。監控項的數據保存在Zabbix.items表中,即select * form zabbix.itesm;
一般情況下key要與參數結合起來使用,例如獲取5分鍾的負載情況:system.cpu.load[avg5],avg5是對應的參數,如果是1分鍾則使用avg1,如果是15分鍾則使用avg15,網卡流量net.if.in[eth0],使用eth0作為參數可以獲取到eth0網卡的進入流量,同樣看一看換成eth1,eth2等等。

二 Items的添加

Items可以存在於模板(Template)中,也可以存在於主機(Host)中,模板可以復用。
configuration---->Templates---->Templates
#此操作為Templates OS Linux模板創建一個用於監控CPU個數的Items(監控項),為主機創建監控項可參考此操作。
60

61

新建Items

63
添加相應參數和選項
64
參數說明
屬性
描述
Name
監控項 item 名稱可以使用如下宏變量:
$1, $2…$9,這 9 個參數對應 item key 的參數位置。
例如--Name:Free disk space on $1
item key為"vfs.fs.size[/,free]",那么對應的名稱會變成"Free disk space on /"。$1 對應了第一個參數"/"。
Type
item類型(常見 agent/SNMP/agent(active)等)。
Key
監控項item的 key,點擊select可以選擇系統很多自帶key,也可用戶自定義的key。
Type of information
獲取到的數據類型:
Numeric (unsigned):無符整型,表示從0開始到2^32-1的所有整數。
Numeric (float):浮點數
Character:字符串,最長 255 字節
Log:日志文件,key必須為log[].
Text:大小無限制的文本
Data type
獲取到整數數據的數據類型:
Boolean:數據為0或者1,true表示1,false為0,不區分大小寫。
    如下為True和False的定義:
        TRUE:true, t, yes, y, on, up, running, enabled, available
        FALSE:false, f, no, n, off, down, unused, disabled, unavailable
        任何非0數字都被認為是TRUE,0被定義為 FALSE。
Octal:八進制
Decimal:十進制
Hexadecimal:十六進制
zabbix 將會自動把他們轉為數字
Units
默認情況下,如果原始值超過1000,則先除以1000然后顯示出來。例如,設置
了單位為 bps 並且收到的值為 11102,將會顯示為 11.1Kbps
如果單位被指定為 B (byte), Bps (bytes per second) ,那么它會除以 1024 然后再顯示數
據。所以大家在監控流量和文件大小的時候不要用錯單位,否則會出現數據不一致的
情況。
如下為時間單位:
unixtime – 轉為 “ yyyy.mm.dd hh:mm:ss” . 只能使用正數。
uptime – 轉為“ hh:mm:ss” 或者“ N days, hh:mm:ss”
例如,收到的值為 881764 秒,他將會顯示為“ 10 days, 04:56:04”
s – 轉為“ yyy mmm ddd hhh mmm sss ms” ;
例如,收到的值為 881764(單位秒),他將會被顯示為 10d 4h 56m”,只會顯示 3 個單元。
有時候只會顯示 2 個單元,例如” 1m 5h”(不包含分,秒,毫秒),如果返回的值小於0.001, 則只顯示"<1ms" 。
禁用單位:ms/rpm/RPM/%
Use custom multiplier
如果啟用這個選項,所有接收到的整數或者浮點數都會乘以這個文本框里面的值。
使用這個選項,zabbix 將會把收到的KB,MBps等數據先轉為B,Bps。否則zabbix 不能正
確設置前綴(K,M,G 等)。
Update interval (in sec)
數據更新時間。
注意:如果設置為0,則永久不更新。
Custom intervals
可以創建例外的更新間隔,例如:
Interval:10,Period:1-5,10:00-19:00,表示周一到周五的早上 10 點到晚上 19 點每十秒更新
一次數據。其余時間使用默認值。這邊最多只能設置 7 個靈活更新間隔。
注意:1  若設置的多個靈活時間間隔有沖突,則使用最小的時間間隔。
          2  如果時間間隔被設置為 0,那么數據永久不會更新,且不能用在 zabbix主動方式的 item
History storage period (in days)
歷史記錄在數據庫中保存時間,過期的歷史數據將會刪除。
 
zabbix官方推薦開啟后盡量使用一個較短的歷史記錄。
若需要查看歷史數據,可將"趨勢歷史記錄 Keep trends"的保留時間設置長一點。
注意:此值會被全局值(Administrator->General->Housekeeper->History覆蓋。
Trend storage period (in days)
趨勢數據(以小時為單位min,max,avg,count的數據)在數據庫中保留時長,過期數據將會刪除。
注意:1    此值會被全局值(Administrator->General->Housekeeper->History覆蓋。 
          2    趨勢數據只能存數字類型數據,字符、日志都無法存儲。
Store value
As is:數據不作處理
Delta (speed per second)——計算公式為 (value-prev_value)/(time-prev_time)
    value:獲取到得原始值
    value_prev:上一次接收到的值
    time:當前時間
    prev_time:上次接收數據的時間
            一般用於數據增長的類型,例如:網卡流量,每次獲取到得都是當前網卡總流量。
    比如第一次給的值是 0 字節,第二獲獲取的為3000字節,則(3000-0)(/31-30),即100 字節/秒
    備注:如果當前獲取到的值比上一個值更小,則忽略這個值,等待下一次的值
Delta (simple change)——計算公式為 (value-prev_value)
    value:獲取到得原始值
    value_prev:上一次接收到的值
Show value
值映射,需要配置數字映射到字符的映射表。
例如:1=>xhy.cn訪問正常。
則key 返回的數據為1時,監控頁面顯示xhy.cn訪問正常。
key返回數據只能為整數,且不做任何修改保存到數據庫。僅在顯示時才會根據映射表來展示相應的內容。
Log time format
只可以用在 LOG 類型中,支持占位符:
* y: 年(0001-9999)
* M: 月(01-12)
* d: 日(01-31)
* h: 小時(00-23)
* m: 分鍾(00-59)
* s: 秒(00-59)如果時間搓留空不會被解析。
例如:
如下為 zabbix agent 日志"23480:20100328:154718.045 Zabbix agent started. Zabbix
1.8.2 (revision 11211).",前面 6 個字符是PID,后面為日期,時間和日志內容。
日志時間類為"pppppp:yyyyMMdd:hhmmss”。
備注:“ p” 與 ” :” 為占位符,除了“ yMdhms”不能為占位符,其它任意字符都可以作為占位符
New application
創建一個新的應用
Applications
包含多個應用,例如:
cpu、 disk、 network,監控項可以屬於多個應用
Populates host inventory field
數據自動填充到 inventory 資產清單的相應屬性,前提是inventory 處於自動模式
Description
監控項的描述
Enabled
是否啟用這個監控項。
65

注意:[root@imxhy01 ~]# zabbix_get -s 172.24.8.101 -k system.cpu.num可以測試key值是否正確。

三 Items key的添加

3.1 Items key的格式

66
key名[參數]:key的定義必須遵循如圖所示規則,首先驗證key名是否合法,若有參數則之后驗證key的參數是否合法,若沒有參數則跳過。
如:vfs.fs.size[/]或vfs.fs.size[/opt]

3.2 key參數

67
key可接參數分為引號字符串、非銀引號字符串和數組。
  • 引號字符串:若參數是引號字符串,可為任意字符串,若存在雙引號,必須用反斜杠\進行轉移。
68
  • 非引號字符串參數:除逗號、方括號外的其他字符都能引用。、
69
  • 數組:如果key的參數是一個數組,用逗號將各參數分開。
70
 
屬性
描述
quoted string
帶引號字符串
unquoted string
不帶引號字符串
array
數組
 

3.3 key的名稱定義注意項

  • key名稱的取值范圍如下:
  • 所有的數字(0~9);
  • 所有的小寫字母(a~z);
  • 所有的大寫字母(A~Z);
  • 下划線(_);
  • 破折號(——);
  • 點(.)。

四 用戶自定義key

注意:強烈建議將用戶自定義的參數(UserParameter)寫入新的配置文件,然后在原配置文件中引用,便於維護和管理。

4.1 自定義參數語法格式

UserParameter=key,command
UserParameter=key[*],command $1 $2 $3……
參數
描述
key
Items key具有唯一性,定義[*]可以接受參數
command
Zabbix將[]中的參數傳遞給命令中的$1……$9,將值作為命令的一部分
注意:1 自定義key對特殊字符如\".*?$!&;()<>#@等,默認情況下無法處理,需要在/etc/zabbix/zabbix_agentd.confabbix中開啟參數。
UnsafeUserParameters=1
2 自定義參數可以返回文本(character/log/text)和空值,若返回的是一個無效值,則顯示ZBX_NOTSUPPORTED。

4.2 自定義參數實例

  1 [root@imxhy01 ~]# vi /etc/zabbix/zabbix_agentd.conf		#編輯原配置文件
  2  UnsafeUserparameters=1					#開啟對特殊字符的處理
  3 Include=/etc/zabbix/zabbix_agentd.d/*.conf			#開啟子配置文件
 4 [root@imxhy01 ~]# vi /etc/zabbix/zabbix_agentd.d/my.conf	#新增子配置文件
 5  UserParameter=get.os.type, cat /etc/redhat-release		#新增獲取系統的Items key
 6  UserParameter=wc[*], grep -c "$2" $1			#新增統計的Items key
 7 [root@imxhy01 ~]# systemctl restart zabbix-agent.service	#重啟agent服務
 8 [root@imxhy01 ~]# zabbix_get -s 172.24.8.100 -k get.os.type
 9 Red Hat Enterprise Linux Server release 7.0 (Maipo)
 10 [root@imxhy01 ~]# zabbix_get -s 172.24.8.100 -k wc[/etc/passwd,root]
    2
 

4.3 配置自定義key總結

  • 自定義key的語法;
  • 特殊字符的處理開啟;
  • 子配置文件的注意事項;
  • 多Agent則需要每個agent客戶端分別配置。

4.4 配置定義key步驟

1.Agent配置文件修改
  • 開啟特殊字符處理;
  • 建立子配置文件。
2.子配置文件配置相應key
3.重啟服務測試key
4.用zabbix_agentd查看key是否被支持
  1 [root@imxhy01 ~]# zabbix_agentd -p | grep get\.os
  2 get.os.type			[t|Red Hat Enterprise Linux Server release 7.0
 
5.在Web界面添加相應的Items,注意數據類型的選擇。
71


免責聲明!

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



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