(12)zabbix agent 類型所有key


zabbix服務器端通過與zabbix agent通信來獲取客戶端服務器的數據,agent分為兩個版本,其中一個是主動一個是被動,在配置主機我們可以看到一個是agent,另一個是agent(active)。前者為被動檢測,后者為主動檢測。那么主動和被動區別在哪里呢?
被動:zabbix server向zabbix agent討要數據。
主動:zabbix agent提交數據給zabbix server。


監控項keys列表

以下表格是zabbix agent所支持的所有.請大家一一過目,認識他們就行,不需要背下來。

1 Zabbix Agentactive

概述

這些檢查與Zabbix agent進行通信實現數據的采集。

一共有被動和主動兩種agent模式. 在配置監控項時,你可以選擇所需的類型:

  • Zabbix agent                       被動模式,Zabbix ServerAgent索要數據(默認, 如果要監控的客戶端較多, zabbix server 主機負載會過大)
  • Zabbix agent (active)             主動模式,Agent主動上報數據給Zabbix Server

支持的監控項key

下表提供了可用的Zabbix agent監控項的詳細信息。

請參考:

必填和可選參數

沒有尖括號的參數是強制性的,標有尖括號< >的參數是可選的。

Key

描述

返回值

參數

注釋

agent.hostname

Agent主機名

字符串

String

從配置文件返回Agent主機名的實際值。

agent.ping

Agent可用性檢查

0- 不可用

1 - 可用

可使用Show value將:

0映射為down

1映射為up

使用nodata()觸發器函數檢查主機不可用性。

agent.version

Zabbix Agent的版本

字符串

 

例如返回值:1.8.2

kernel.maxfiles

系統支持的打開文件的最大數量

整數

 

 

kernel.maxproc

系統支持的最大進程數

整數

 

 

log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>]     

日志文件監控

Log

file- 日志文件完整路徑和名稱
regexp- 描述所需模式的正則表達式
encoding- 編碼標識符
maxlines- Agent將發送到Zabbix服務器或proxy的每秒最大行數。此參數將會覆蓋zabbix_agentd.conf中的“MaxLinesPerSecond”值
mode- 可能的值:
all(默認值),

skip- 跳過處理的歷史數據(僅影響新創建的監控項)。
output- 可選項,輸出格式模板。 \0轉義序列替換為匹配的文本,而\N(其中N = 1 … 9)轉義序列被替換為第N個匹配組(如果N超過捕獲組的數量,則為空字符串)。
maxdelay- 最大延遲(秒)。

類型:float。

值:

0-(默認)不忽略日志文件行;

> 0.0 -忽略舊行,以便在“maxdelay”秒內獲取最近分析的行。使用前請閱讀maxdelay注釋!

監控項必須定義為主動檢查(即active.
如果文件丟失或權限不允許訪問,則監控項不受支持。因此被監控的日志文件zabbix用戶要有讀取的權限
如果output為空 - 返回包含匹配文本的整行

注意:除“Result為TRUE”之外的所有全局正則表達式類型始終返回整個匹配行,並忽略輸出參數。

在Agent端使用輸出參數提取內容。

示例:
⇒ log[/var/log/syslog]
⇒ log[/var/log/syslog,error]
⇒ log[/home/zabbix/logs/logfile,,,100]

mode參數從Zabbix 2.0之后被支持。
output從Zabbix 2.2之后被支持
maxdelay參數從Zabbix 3.2以后被支持。

更多信息請參考日志文件監控.

log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>]

日志文件監控中匹配行的數量

整數

file - 日志文件完整的路徑和名稱
regexp - 正則表達式
encoding - 編碼 標識符
maxproclines - Agent將每秒分析的最大行數。

默認值為 4*'MaxLinesPerSecond'在zabbix_agent配置文件.
mode - 可選的值:
all (默認)

 skip - 跳過處理的舊數據(僅影響新創建的監控項)。
maxdelay - 最大延遲秒數。

類型: float.

值:

0 - (默認) 從不忽略每行日志;

> 0.0 - 忽略舊行,以便在“maxdelay”秒內獲取最近分析的行。

在使用前請閱讀maxdelay參數 的注解!

該監控項必須配置為主動檢查Active
如果文件丟失或權限不允許訪問,則監控項不受支持。

查看更多信息在日志文件監控.

從Zabbix 3.2.0開始支持

logrt[file_regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>]

支持監控輪詢的日志文件

Log

file_regexp - 文件名以及正則表達式定義的文件名的絕對路徑。
regexp - 描述匹配內容的正則表達式。
encoding - 編碼 標識符
maxlines - Agent發送到Zabbix服務器或者Proxy服務器的每秒最大生成行數。此參數將覆蓋配置文件zabbix_agent配置文件的參數'MaxLinesPerSecond'的值
mode - 可選的值:
all (默認)

 skip - 跳過處理的舊數據(僅影響新創建的監控項)。
output - 一個可選的輸出格式模板。 \0 轉義序列替換為匹配文本,而\N(其中N = 1 … 9)轉義序列被替換為第N個匹配組(如果N超過捕獲組的數量,則為空字符串)
maxdelay - 最大延遲(秒)。

 類型:float。

值:

0-(默認)不忽略日志文件行;

 > 0.0-忽略舊行,以便在“maxdelay”秒內獲取最近分析的行。使用前請閱讀maxdelay參數注釋!

監控項必須定義為主動檢查active.
日志輪詢是基於文件的最后修改時間。
如果output 為空 - 返回包含匹配文本的整行.

注意:除“Result為TRUE”之外的所有全局正則表達式類型始終返回整個匹配行,並忽略輸出參數。

在Agent端使用輸出參數提取內容。

示例:
⇒ logrt["/home/zabbix/logs/^logfile[0-9]{1,3}$",,,100] → 將返回一個文件類似"logfile1" (不會匹配".logfile1")
⇒ logrt["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] → 將從文件收集信息例如 "logfile_abc_1" 或者 "logfile__001".

mode 參數從Zabbix 2.0以后開始支持。
output參數從Zabbix 2.2開始支持。
maxdelay參數從Zabbix 3.2開始支持。

更多信息請參考日志文件監控.

logrt.count[file_regexp,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>]

支持對輪詢日志文件監控中匹配的行數

整型

file_regexp - 文件名以及正則表達式定義的文件名的絕對路徑
regexp - 描述匹配內容的正則表達式
encoding - 編碼 標識符
maxproclines - Agent將分析每秒最大新生成行數

默認值為 4*'MaxLinesPerSecond' 定義在 zabbix_agent配置文件.
mode - 可能的值:
all (默認),

skip - 跳過處理舊數據(僅影響新創建的監控項)。
maxdelay - 最大延遲(秒)。

類型:float。

值:

0-(默認)不忽略日志文件行;

> 0.0-忽略舊行,以便在“maxdelay”秒內獲取最近分析的行。

使用前請閱讀maxdelay參數注釋!

監控項必須定義為主動檢查.(Active)
日志輪詢是基於文件的最后修改時間。

更多信息請參考 日志文件監控

從Zabbix 3.2.0后開始支持。

net.dns[<ip>,name,<type>,<timeout>,<count>,<protocol>]

檢查DNS服務是否開啟(通過查詢某個域名來檢查),可用來檢查內網DNS服務是否在正常,或檢測公網上 的某個DNS服務器是否可用

0 - DNS宕了(服務器沒有響應或DNS解析失敗)
1 - DNS正在運行

ip - DNS服務器的IP地址(默認DNS服務器為空,在Windows上被忽略,不支持)
name - 要查詢的DNS名稱(即要查詢的域名,如www.baidu.com)
type - 要查詢的記錄類型 (默認為SOA)
timeout (在windows上忽略) - 請求的超時秒數(默認為1秒)
count (在windows上忽略) - 請求的嘗試次數 (默認為2)
protocol - 用於執行DNS查詢的協議:udp(默認) 或者tcp

示例:
⇒ net.dns[8.8.8.8,zabbix.com,MX,2,1] 

type 可選的值為:
ANYANSCNAMEMBMGMRPTRMDMFMXSOANULLWKS (Windows系統除外)HINFOMINFOTXTSRV

不支持國際化域名,請改用IDNA編碼名稱。

Zabbix 3.0支持協議參數。
Zabbix Agent從版本1.8.6(Unix)和2.0.0(Windows)開始支持SRV記錄類型。

Zabbix 2.0之前命名(仍然支持): net.tcp.dns

net.dns.record[<ip>,name,<type>,<timeout>,<count>,<protocol>]

執行一個DNS查詢

使用這里的DNS服務器執行一條解析

字符串與所需類型的信息

ip - DNS服務器的IP地址(默認DNS服務器為空,在Windows上被忽略)
name - 要查詢的DNS名稱(即要查詢的域名,如www.baidu.com)
type - 要查詢的記錄類型 (默認為SOA)
timeout (在windows上忽略) - 請求的超時秒數(默認為1秒)
count (在windows上忽略) - 請求的嘗試次數 (默認為2)
protocol - 用於執行DNS查詢的協議:udp (默認) 或者 tcp

示例:
⇒ net.dns[8.8.8.8,zabbix.com,MX,2,1] 

type 可選的值為:
ANYANSCNAMEMBMGMRPTRMDMFMXSOANULLWKS (Windows系統除外), HINFOMINFOTXTSRV

不支持國際化域名,請改用IDNA編碼名稱。

Zabbix 3.0支持協議參數。
Zabbix Agent從版本1.8.6(Unix)和2.0.0(Windows)開始支持SRV記錄類型。

Zabbix 2.0之前命名(仍然支持): net.tcp.dns.query

net.if.collisions[if]

Number of out-of-window collisions.

整型

if - 網卡名稱

 

net.if.discovery

網絡接口列表用於低級發現

JSON對象

 

Zabbix agent從2.0之后開始支持。
Zabbix agent在FreeBSD, OpenBSD 和 NetBSD系統從2.2開始支持。 
某些Windows版本(例如Server 2008)可能需要安裝最新的更新以支持網卡名稱中的非ASCII字符。

net.if.in[if,<mode>]

網卡流入量統計。

整型

if - 網卡名 (Unix); 網卡完整描述或IPv4地址(Windows)
mode - 可用的值:
bytes - 字節數(默認)
packets - 包數量
errors - 錯誤數量
dropped - 丟包數量

Windows上,該選項從64位計數器獲取值(如果可用)。64位接口統計計數器在Windows Vista和Windows Server 2008中引入。如果64位計數器不可用,agent使用32位計數器。

從Zabbix Agent 1.8.6版本起,支持Windows上的多字節接口名稱。
示例:
⇒ net.if.in[eth0,errors]
⇒ net.if.in[eth0]
你可以使用net.if.discovery或net.if.list監控項在Windows上獲取網卡說明。
你可以使用該key與Delta(每秒速度)存儲值,以獲得每秒字節的統計信息。

net.if.out[if,<mode>]

網卡流出量統計。

整型

if - 網卡名稱 (Unix); 網卡完整描述或IPv4地址(Windows)
mode - 可用的值:
bytes - 字節數(默認)
packets - 包數量
errors - 錯誤數量
dropped - 丟包數量

Windows上,該選項從64位計數器獲取值(如果可用)。64位接口統計計數器在Windows Vista和Windows Server 2008中引入。如果64位計數器不可用,agent使用32位計數器。
從Zabbix Agent 1.8.6版本起,支持Windows上的多字節接口名稱。
示例:
⇒ net.if.out[eth0,errors]
⇒ net.if.out[eth0]
你可以使用net.if.discovery或net.if.list監控項在Windows上獲取網卡說明。
你可以使用該key與Delta(每秒速度)存儲值,以獲得每秒字節的統計信息。

net.if.total[if,<mode>]

網卡的進出流量統計信息的總和。

整型

if - 網卡名稱(Unix); 網卡完整描述或IPv4地址(Windows)
mode - 可用的值:
bytes - 字節數(默認)
packets - 包數量
errors - 錯誤數量
dropped - 丟包數量

Windows上,該選項從64位計數器獲取值(如果可用)。64位接口統計計數器在Windows Vista和Windows Server 2008中引入。如果64位計數器不可用,agent使用32位計數器。
示例:
⇒ net.if.total[eth0,errors]
⇒ net.if.total[eth0]

你可以使用net.if.discovery或net.if.list監控項在Windows上獲取網卡說明。
你可以使用該key與Delta(每秒速度)存儲值,以獲得每秒字節的統計信息。
請注意,只有當net.if.in和net.if.out都用於平台上丟棄的數據包時,丟棄的數據包才被支持。

net.tcp.listen[port]

檢查此TCP端口是否處於監聽狀態,

即檢查某個端口是否啟動。

0 - 未監聽
1 - 處於監聽狀態

port - TCP端口

示例:
⇒ net.tcp.listen[80]
在Zabbix代理版本1.8.4之后支持Linux。
從Zabbix 3.0.0之后,在Linux內核2.6.14及更高版本上從內核的NETLINK接口獲取有關監聽TCP套接字的信息。否則,將從/proc/net/tcp和/proc/net/tcp6文件中檢索該信息。

net.tcp.port[<ip>,port]

檢查是否可以將TCP連接到指定的端口。

 

0 - 不能連接
1 - 可以連接

ip - IP地址 (默認是 127.0.0.1)
port - 端口

示例:
⇒ net.tcp.port[,80] → 可用於測試在端口80上運行的Web服務器的可用性。
對於簡單的TCP性能測試,使用 net.tcp.service.perf[tcp,<ip>,<port>]
注意:這些檢查可能會導致增加系統守護程序日志文件中的額外信息(通常會記錄SMTP和SSH會話)。 
舊的命名方式: check_port[*]

net.tcp.service[service,<ip>,<port>]

檢查服務是否正在運行並接受TCP連接

0 - 服務down了
1 - 服務正在運行

service - 如下任一服務:
sshldapsmtpftphttppopnntp, .imap, tcphttpstelnet (查看詳細信息)

注意:

第一個參數,服務名稱必須按照上述的方式書寫,如http,不能寫成httpd

對於其他沒有涉及到的服務,可使用tcp
ip - IP地址 (默認是 127.0.0.1)

port - 端口號 (默認為標准服務端口號)

 

示例:
⇒ net.tcp.service[ftp,,45] → 可用於檢測FTP服務器上TCP端口45的可用性。
注意:這些檢測可能會導致增加系統守護程序日志文件的信息(通常會記錄SMTP和SSH會話)。
目前不支持檢測加密協議(如端口993上的IMAP或端口995上的POP)。 一個解決方案是使用net.tcp.port來檢測這些。
目前不支持Windows Agent檢測LDAPHTTPS
注意,telnet檢測查找登錄提示符(':'在結尾)。

參考HTTPS服務檢測的 已知問題
https 和 telnet 服務從Zabbix 2.0開始支持。
舊命名: check_service[*]

net.tcp.service.perf[service,<ip>,<port>]

檢測TCP服務性能

0 - 服務停止。
seconds - 連接到服務花費的時間(秒,可能是小數,大多數情況都是小數,因此應選擇浮點型數值

service - 如下任一服務:
sshldapsmtpftphttppopnntpimaptcp, httpstelnet (參考 詳細描述)

注意:

第一個參數,服務名稱必須按照上述的方式書寫,如http,不能寫成httpd

對於其他沒有涉及到的服務,可使用tcp
ip - IP 地址(默認為 127.0.0.1)
port - 端口號 (默認為標准服務端口號)

示例:
⇒ net.tcp.service.perf[ssh] → 可以用來檢測SSH服務器的初始響應速度。
目前不支持檢測加密協議 (IMAP 上的端口993或者POP上的端口995) 。一個解決方案是使用net.tcp.service.perf[tcp,<ip>,<port>]來檢測
目前不支持Windows代理檢查LDAPHTTPS
注意:telnet檢測查找登錄提示符(':'在結尾)。
參考檢測HTTPS服務的已知問題
https 和 telnet 服務從Zabbix 2.0開始支持。
舊名稱: check_service_perf[*]

net.udp.listen[port]

檢測UDP端口是否處於監聽狀態。

0 - 未監聽。
1 - 處在監聽狀態。

port - UDP端口

示例:
⇒ net.udp.listen[68]
在Linux平台從Zabbix agent version 1.8.4 開始支持。

net.udp.service[service,<ip>,<port>]

檢查服務是否正在運行並能響應UDP請求

0 - 服務停了。
1 - 服務正在運行

service - ntp (參考 詳細信息)

目前僅支持ntp服務(時間服務器
ip - IP地址 (默認是127.0.0.1)
port - 端口號 (默認使用標准服務端口號)

示例: 
⇒ net.udp.service[ntp,,45] → 用於測試UDP端口45NTP服務的可用性
此選項從Zabbix 3.0.0起支持,但ntp服務可用於以前版本中的net.tcp.service []選項。

net.udp.service.perf[service,<ip>,<port>]

檢測UDP服務的性能

0 - 服務停了
seconds - 等待服務響應的秒數

service - ntp (參考詳細信息)
ip - IP地址 (默認為 127.0.0.1)
port - 端口 (默認使用標准服務端口號)

示例:
⇒ net.udp.service.perf[ntp] → 可用於測試NTP服務的響應時間。
此選項從Zabbix 3.0.0起支持,但ntp服務可用於以前版本中的net.tcp.service []選項。

proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>]

進程CPU利用率百分比。

浮點型

name - 進程名 (默認為 all processes)

使用netsteat -tunlp顯示結果的最后一列
user - 用戶名 (默認為 all users)
type - CPU利用率類型:
total (默認), usersystem
cmdline - 可按命令行過濾(即具體程序執行的指令,支持正則表達式)
mode - 數據收集模式: avg1 (默認), avg5avg15 
zone - 目標區域: 

current (默認), all. 此參數僅在Solaris平台上受支持

從Zabbix 3.0.3開始,如果agent程序已在Solaris上編譯且沒有區域支持,而是在支持區域的較新Solaris上運行,並且<zone>參數為缺省值或當前值,則agent程序將返回NOTSUPPORTED(該代理程序不能將結果限制為僅當前區)。但在這種情況下,支持<zone>參數值all

示例:
⇒ proc.cpu.util[,root] → 在“root”用戶下運行的所有進程的CPU利用率。
⇒ proc.cpu.util[zabbix_server,zabbix] → 在zabbix用戶下運行的所有zabbix_server進程的CPU利用率。

返回值基於單CPU核的利用率。例如,使用兩個內核的進程的CPU利用率為200%。

進程CPU利用率數據由收集器收集,該收集器最多支持1024個唯一(按名稱,用戶和命令行)查詢。 過去24小時內未被訪問的查詢將從收集器中刪除。

自Zabbix 3.0.0起支持此Key,並可在多個平台上使用 (請查看 平台支持的監控項).

proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]

用戶進程使用的內存。

整型

name - 進程名 (默認是all processes)

使用netsteat -tunlp顯示結果的最后一列
user - 用戶名 (默認是 all users)
mode - 可能的值:
avg,max,min,sum(默認值)
cmdline - 按命令行過濾(它是一個正則表達式)
memtype- 進程使用的內存類型

默認是vsize(虛擬內存大小)

所有系統均支持的有3個:

vsize    虛擬內存大小

rss      駐留集大小

pmem   駐留集占總內存的百分比

示例:
⇒ proc.mem[,root] → “root”用戶運行的所有進程使用的內存
⇒ proc.mem[zabbix_server,zabbix] → zabbix用戶運行的所有zabbix_server進程使用的內存
⇒ proc.mem[,oracle,max,oracleZABBIX] → oracle用戶下,包含有oracleZABBIX命令行運行的所使用的內存最大內存

注意: 當多個進程使用共享內存時,進程使用的內存總和可能導致大到不切實際的值。

參考 說明 關於選擇進程name 和 cmdline 參數(指定為Linux)。

memtype參數從Zabbix 3.0.0開始在多個 平台 支持。

proc.num[<name>,<user>,<state>,<cmdline>]

進程數量

整型

name - 進程名稱 (默認是 all processes)
user - 用戶名 (默認是 all users)
state - 可選的值: 

all (默認), runsleepzomb
cmdline - 按命令行過濾(它是一個正則表達式)

示例:
⇒ proc.num[,mysql] → 在mysql用戶下運行的進程數
⇒ proc.num[apache2,www-data] → 在www-data用戶下運行的apache2進程數
⇒ proc.num[,oracle,sleep,oracleZABBIX] → 在oracleZABBIX命令行下的oracle用戶運行的睡眠狀態進程數。
參考 說明 關於選擇進程 name 和 cmdline 參數(適用於Linux).
在Windows上,只支持name和user參數。

service.info[service,<param>]          測試不成功

服務信息

 

關於服務的信息:

Param取值為state或startup時:

返回整數

State

0 - running, 1 - paused,

2 - start pending, 3 - pause pending,

4 - continue pending,

5 - stop pending,  6 - stopped,

7 - unknown,  255 - no such service;

startup:

0 - automatic, 1 - automatic delayed,

2 - manual, 3 - disabled,

4 - unknown

Param取值為displayname, path, user時:

返回值為字符串string類型

Param取值為description時:

返回值為Text類型

 

 

 

 

services[<type>,<state>,<exclude>]      測試不成功

列表服務

 

返回0表示空,

如果是列表則是每行一個內容

 

sensor[device,sensor,<mode>]

硬件傳感器讀數

浮點型

device - 設備名稱 
sensor - 傳感器名 
mode - 可能的值:
avgmaxmin (如果省略此參數,則會對設備和傳感器進行逐字處理).

在Linux 2.4上讀取 /proc/sys/dev/sensors 
示例:
⇒ sensor[w83781d-i2c-0-2d,temp1]

在Zabbix 1.8.4之前,使用傳感器[temp1]格式。

system.boottime

系統啟動時間

整數 (Unix時間戳)

 

 

system.cpu.discovery

檢測到的CPU/CPU內核列表。用於低級發現。

JSON對象

 

所有平台從2.4.0開始支持

system.cpu.intr

設備中斷數

整數

 

數字越大說明系統系統越忙碌,頻繁在各個應用之間切換

system.cpu.load[<cpu>,<mode>]

CPU負載

浮點數

cpu - 可能的值:
all (默認), percpu (總負載除以在線CPU數)
mode - 可能的值:

avg1 (默認), avg5avg15

示例:
⇒ system.cpu.load[,avg5]
percpu 從Zabbix 2.0.0開始支持

舊名稱: system.cpu.loadX

system.cpu.num[<type>]

CPU的數量

整數

type - 可能的值:
online (默認), max

示例:
⇒ system.cpu.num

system.cpu.switches

上下文交換的數量。

整數

 

舊名稱: system[switches]

system.cpu.util[<cpu>,<type>,<mode>]

CPU利用率。

浮點型

cpu - <CPU序號> 或者 all (默認值)
cat /proc/cpuinfo |grep processor讀取各個cpu序號

type - 可能的值:
idleniceuser (默認值), system (Windows默認), iowaitinterruptsoftirqstealguest (在Linux kernels 2.6.24 以及以上支持), guest_nice (在Linux kernels 2.6.33 以及以上支持)
mode - 可能的值:
avg1 (默認), avg5avg15

示例:
⇒ system.cpu.util[0,user,avg5]

舊名稱: system.cpu.idleX, system.cpu.niceX, system.cpu.systemX, system.cpu.userX

system.hostname[<type>]

系統主機名

字符串型

type (僅Windows使用) –

netbios (默認) 或者 host

該值由Windows上的GetComputerName()(對於netbios)或gethstname()(用於host)函數以及其它系統上的“hostname”命令獲取。
返回值示例:
Linux系統:
⇒ system.hostname → linux-w7x1
⇒ system.hostname → www.zabbix.com
Windows系統:
⇒ system.hostname → WIN-SERV2008-I6
⇒ system.hostname[host] → Win-Serv2008-I6LonG
參數type Zabbix 1.8.6開始支持

system.hw.chassis[<info>]

機架信息(需要機架是網絡設備

字符串

info

full (默認), model, serial, type or vendor之一

示例: system.hw.chassis[full]
Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop]

此key取決於SMBIOS表的可用性。
將嘗試從sysfs讀取DMI表,如果sysfs訪問失敗,嘗試直接從內存中讀取
需要root權限,因為通過從sysfs或內存讀取獲取該值
Zabbix agent從2.0開始支持。

system.hw.cpu[<cpu>,<info>]

CPU信息

字符串或者整型

cpu - <CPU序號> 或者 all (默認)
info - 可能的值:
full (默認), curfreqmaxfreqmodel 或者vendor

示例:
⇒ system.hw.cpu[0,vendor] → AuthenticAMD
從 /proc/cpuinfo 和 /sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freq 獲取信息。
如果指定了CPU編號和curfreqmaxfreq,則返回數值(Hz
Zabbix agent從版本2.0開始支持

system.hw.devices[<type>]

列出PCI或者USB設備

通過執行lspci指令獲得信息

文本型

type - pci (默認) 或者 usb

示例:
⇒ system.hw.devices[pci] → 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
[..]
返回lspcilsusb實用程序的輸出(沒有任何參數)
Zabbix agent 從版本2.0開始支持

system.hw.macaddr[<interface>,<format>]

列出MAC地址

字符串型

interface - all (默認) 或者為一個正則表達式
format - full (默認) 或者 short

列出與給定接口正則表達式名稱匹配的網卡的MAC地址(所有網卡的所有列表)
示例:
⇒ system.hw.macaddr["eth0$",full] → [eth0] 00:11:22:33:44:55
如果format被指定為short,則不會列出接口名稱和相同的MAC地址
\\Zabbix agent從版本2.0開始支持。

system.localtime[<type>]

系統時間

整數 - type為 utc
字符串 - type為 local

type - 可能的值:
utc - (默認值) 從紀元以來的時間(1970年1月1日00:00:00 UTC),以秒為單位。

local - 'yyyy-mm-dd,hh:mm:ss.nnn,+ hh:mm'格式的時間

此監控項參數從Zabbix agent 版本2.0開始支持。

示例:
⇒ system.localtime[local] → 使用該key創建一個監控項,然后使用它在時鍾screen element中顯示主機時間。

system.run[command,<mode>]              提示遠程指令不能執行

在主機上運行指定的命令

命令執行的文本結果
1 - mode為nowait(不管命令結果如何)

command - 要執行的命令
mode - 可能的值:
wait - 等待執行結束(默認),返回值為text類型
nowait - 不等待,返回值為1

最多可以返回512KB的數據,包括截斷的尾隨空格
要被正確的處理,命令的輸出必須是文本

示例:
⇒ system.run[ls -l /] → 根目錄的詳細文件列表。

注意: 要啟用此功能,Zabbix agent配置文件 必須包含EnableRemoteCommands=1 選項

否則會提示:Remote commands are not enabled.
注意: 監控項的返回值是標准輸出以及由命令產生的標准錯誤輸出。 如果沒有使用nowait標志,則會檢查執行結果。
注意: 從Zabbix 2.4.0開始,空結果是允許的。

同時參考: 執行指令.

system.stat[resource,<type>]

系統信息。

整型或浮點型

ent - 該分區有權接收的處理器單元數(float)
kthr,<type> - 關於內核線程狀態的信息:
r - 平均可運行內核線程數(float)
b - 虛擬內存管理器等待隊列中的平均內核線程數(float)
memory,<type> - 有關虛擬和真實內存使用情況的信息:
avm - 活動虛擬頁面(整數)
fre - 自由列表的大小(整數)
page,<type> - 關於頁面錯誤和分頁活動的信息:
fi - 每秒文件頁面輸入(float)
fo - 每秒文件頁面輸出(float)
pi - 從調頁空間(float)分頁的頁面
po - 頁面分頁到調頁空間(float)
fr - 頁面被釋放(頁面替換)(浮點)
sr - 通過頁面替換算法掃描的頁面 (float)
faults,<type> - trap和中斷率:
in - 設備中斷 (float)
sy - 系統調用 (float)
cs - 內核線程上下文切換 (float)
cpu,<type> - 處理器時間使用百分比的細分:
us - 用戶時間 (float)
sy - 系統時間 (float)
id - 空閑時間 (float)
wa - 系統具有未完成的磁盤/NFS I/O請求(float)的空閑請求時間(float)
pc - 消耗的物理處理器數量(float)
ec - 被授權的容量消耗的百分比(float)
lbusy - 表示在用戶和系統級執行時發生的邏輯處理器利用率的百分比(float)
app - 表示共享池中的可用物理處理器(float)
disk,<type> - 磁盤信息:
bps - 表示以每秒字節為單位傳輸(讀取或寫入)驅動器的數據量 (integer)
tps - 表示發送到物理磁盤/磁帶的每秒傳輸次數(float)
此監控項從Zabbix 1.8.1. 開始支持

 

system.sw.arch

軟件架構信息。

字符串型

 

示例:
⇒ system.sw.arch → i686
信息從uname()函數中獲取。
Zabbix agent從版本2.0開始支持

system.sw.os[<info>]

操作系統信息

字符串

info - 可能的值: 
full (默認), short 或者 name

示例:
⇒ system.sw.os[short]→ Ubuntu 2.6.35-28.50-generic 2.6.35.11
信息獲取(注意,並非所有發行版中都存在所有文件和選項):
/proc/version (full)
/proc/version_signature (short)
/etc/os-release中支持它的系統上的PRETTY_NAME參數,或/etc/issue.net(name)
Zabbix agent從版本2.0開始支持。

system.sw.packages[<package>,<manager>,<format>]

列出已安裝的軟件包

文本

package - all (默認) 或者為正則表達式
manager - all (默認) 或者為包管理器,
format - full (默認) 或者 short

列表(按字母順序)安裝的包名稱與給定的包regexp匹配的包(全部列出它們全部)。
示例:
⇒ system.sw.packages[mini,dpkg,short] → python-minimal, python2.6-minimal, ubuntu-minimal
支持包管理器(執行命令):
dpkg (dpkg
--get-selections)
pkgtool (ls /var/log/packages)
rpm (rpm -qa)
pacman (pacman -Q)
如果format被指定為full,則軟件包由包管理器分組(每個管理器在單獨的行上以其方括號開頭)。
如果format 被指定為short, 包管理器不分組,並列在一行里。

Zabbix agent從版本2.0開始支持

system.swap.in[<device>,<type>]

交換(從設備到內存)統計。

整型

device - 用於交換的設備 (默認是all)
type - 可能的值:
count (swapins的數量), sectors (換入的區域), pages (換入的頁).

有關默認的詳細信息請參考 支持的平台

示例:
⇒ system.swap.in[,pages]
這個信息的來源是:
/proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
/proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)

system.swap.out[<device>,<type>]

交換(從內存到設備)統計。

整型

device - 用於交換的設備 (默認是all)
type - 可能的值:
count (swapouts的數量), sectors (換出的區域), pages (換出的頁).
有關默認的詳細信息請參考支持的平台

示例:
⇒ system.swap.out[,pages]
信息來源是:
/proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
/proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)

system.swap.size[<device>,<type>]

交換空間大小(以字節為單位)或百分比(total)。

Integer - 字節

Float - 百分比

device - 用於交換的設備 (默認是 all)
type - 可能的值:
free (可用的交換空間, 默認值), 

pfree (空閑交換空間,百分比), 

pused (使用交換空間,百分比), 

total(總交換空間), 

used (使用交換空間)

如果沒有指定設備,Zabbix代理只會考慮交換設備(文件),物理內存將被忽略。 例如,在Solaris系統上,swap -s命令包含一部分物理內存和交換設備(與swap -l不同)。

注意,此key報告虛擬化(VMware ESXi,VirtualBox)Windows平台上的百分比可能會不正確。在這種情況下,使用perf_counter [\700(_Total)\702]鍵來獲取正確的交換使用數據。

舊名稱: system.swap.freesystem.swap.total

system.uname

系統相關信息

字符串

 

返回值的示例(Unix):
FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386
返回值示例(Windows):
Windows ZABBIX-WIN 6.0.6001 Microsoft® Windows Server® 2008 Standard Service Pack 1 x86
從Zabbix 2.2.0開始在Unix上,該監控項的值是通過uname()系統調用獲得的。以前它是通過調用“uname -a”獲得的。 此監控項的值可能與“uname -a”的輸出不同,並且不包含基於其它來源輸出的“uname -a”的信息。

從Zabbix 3.0開始的Windows系統上,該監控項的值是從Win32_OperatingSystem和Win32_Processor WMI類獲取信息。以前它是從不穩定的Windows API和未記錄的注冊表項獲得的。操作系統名稱(包括版本)可能會被翻譯成用戶的顯示語言。 在某些版本的Windows上,它包含商標符號和額外的空格。
注意,在Windows上,該item返回操作系統架構,而在Unix上則返回CPU架構。

system.uptime

系統正常運行時間(以秒為單位)

整數

 

監控項配置中, 使用 s 或者 uptime 單位來獲取可讀取的值。

system.users.num

已登錄用戶數

整數

 

who 命令用於代理端獲取該值。

vfs.dev.read[<device>,<type>,<mode>]

磁盤讀取統計信息

Integer – Type取值為 sectorsoperationsbytes

Float - 類型 為 spsopsbps

device - 磁盤設備 (默認為 all
type - 可能的值: sectorsoperationsbytesspsopsbps
必須指定此參數,因為各種操作系統的默認值不同
spsopsbps 表示:

sectors  per  second(每秒扇區數)

operations  per  second(每秒操作數)

bytes  per  second(每秒字節數)


mode - 可能的值: avg1 (默認), avg5avg15
此參數僅支持的類型為: sps, ops, bps.

不同操作系統的“類型”參數的默認值:
AIX         operations
FreeBSD     bps
Linux        sps
OpenBSD    operations
Solaris       bytes
示例:
⇒ vfs.dev.read[,operations]
在支持的平台上的spsops 和 bps 曾被限制為 8 個設備(7個獨立的和1個 all). 從Zabbix 2.0.1 開始,這個限制提高到1024個設備(1023個獨立的和1個all).

如果默認為全部用於第一個參數,那么該key將返回摘要統計信息,包括所有塊設備,如sda,sbd及其分區(sda1,sda2,sdb3 …)和基於這些塊設備/分區的多個設備(MD raid)和基於這些設備/分區的邏輯卷(LVM)。在這種情況下,返回值只能作為相對值(動態時間)而不是絕對值。

LVM的支持從Zabbix 1.8.6開始。
直到Zabbix 1.8.6才能使用相關的設備名稱(例如,sda)。 從那時起,可選的 /dev/前綴(例如/dev/sda)必須被使用。
舊名稱: io[*]

vfs.dev.write[<device>,<type>,<mode>]

磁盤寫入統計信息

整數 - 類型 為sectorsoperationsbytes

浮點型 - 類型 為 spsopsbps

device - 磁盤設備 (默認為all
type - 可能的值: sectorsoperationsbytesspsopsbps
因為各種操作系統的默認值有所不同,所以這個參數必須被指定
spsopsbps 表示:

sectors  per  second(每扇區數)

operations  per  second(每秒操作數)

bytes  per  second(每秒字節數)

 

mode - 可能的值: avg1 (默認), avg5avg15
此參數僅支持這些類型: sps, ops, bps.

不同操作系統的“類型”參數的默認值:
AIX         operations
FreeBSD     bps
Linux       sps
OpenBSD    operations
Solaris       bytes
示例:
⇒ vfs.dev.write[,operations]
spsops and bps在支持的平台上的spsops 和 bps 曾被限制為 8 個設備(7個獨立的和1個 all). 從Zabbix 2.0.1 開始,這個限制提高到1024個設備(1023個獨立的和1個all)。

如果默認為全部用於第一個參數,那么該key將返回摘要統計信息,包括所有塊設備,如sda,sbd及其分區(sda1,sda2,sdb3 …)和基於這些塊設備/分區的多個設備(MD raid)和基於這些設備/分區的邏輯卷(LVM)。在這種情況下,返回值只能作為相對值(動態時間)而不是絕對值。

LVM的支持從Zabbix 1.8.6開始。
直到Zabbix 1.8.6才能使用相關的設備名稱(例如,sda)。 從那時起,可選的 /dev/前綴(例如/dev/sda)必須被使用。
舊名字: io[*]

vfs.dir.size[dir,<regex_incl>,<regex_excl>,<mode>,<max_depth>]

目錄大小(以字節為單位)

整數

dir - 目錄的絕對路徑 
regex_incl - 正則表達式描述包含的文件名模式(如果為空則包括所有文件;空字符串是默認值
regex_excl - 正則表達式描述用於排除的文件名模式(如果為空不排除任何文件;空字符串是默認值


mode - 可能的值:
apparent (默認) - 獲得明確的文件大小,而不是磁盤利用率(作為 du -sb dir), 

disk - 獲取磁盤使用情況 (作為 du -s -B1 dir).

和du命令不同,vfs.dir.size 監控項在計算目錄大小時會將隱藏的文件也包含在內(作為 du -sb .[^.]* * 在 dir內). 


max_depth - 要遍歷的子目錄的最大深度。 

1 (默認) - 無限

0 - 不會遍歷到子目錄。

僅計算具有zabbix用戶讀取權限的目錄。

示例: 
⇒ vfs.dir.size[/tmp,log] - 計算/tmp中包含“log”的所有文件的大小 
⇒ vfs.dir.size[/tmp,log,^.+\.old$] - 計算/tmp中包含“log”的所有文件的大小,不包括包含'.old'的文件 

文件大小限制取決於大文件支持

vfs.file.cksum[file]

文件checksum校驗,由UNIX cksum算法計算實現

整型

file - 文件全路徑

示例:
⇒ vfs.file.cksum[/etc/passwd]
返回值示例:
1938292000
舊名字: cksum
文件大小限制取決於大文件支持

vfs.file.contents[file,<encoding>]

檢索文件的內容

文本

file - 文件全路徑 
encoding - 編碼頁 標識符

默認是utf-8

如果文件為空或僅包含LF/CR字符,則返回空字符串。
Example:
⇒ vfs.file.contents[/etc/passwd]
此選項對文件限制是不超過64KB的文件
Zabbix agent從版本2.0開始支持。

vfs.file.exists[file]

檢測文件是否存在。

0 - 不存在 
1 - 常規文件或常規存在文件的link(符號或硬)

file - 文件的全路徑

示例:
⇒ vfs.file.exists[/tmp/application.pid]
返回值取決於S_ISREG POSIX宏返回的值
文件大小限制取決於大文件支持

vfs.file.md5sum[file]

文件的MD5 checksum

字符串(文件的MD5哈希)

file - 文件的全路徑

示例:
⇒ vfs.file.md5sum[/usr/local/etc/zabbix_agentd.conf]
返回值示例:
b5052decb577e0fffd622d6ddc017e82
此item的文件大小限制(64 MB)在1.8.6版中已刪除。
文件大小限制取決於 大文件支持

vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>]

查找文件中的字符串

包含匹配字符串的行,或由可選輸出參數指定的行

file - 文件完整路徑 
regexp - GNU正則表達式
encoding - 編碼頁 標識符
start line – 從哪一行開始查詢(默認為文件的第1行)
end line - 查詢到哪一行截止(默認為文件的最后一行)。
output - 一個可選的輸出格式模板。 \0轉義序列替換為匹配的文本,而\N(其中N = 1 … 9)轉義序列被替換為第N個匹配組(如果N超過捕獲組的數量,則為空字符串)。

只返回第一個匹配行。\\如果沒有行與表達式匹配,則返回空字符串。

使用輸出參數的提取過程發生在代理端。

start line, end line 和output 參數從版本2.2開始支持。

示例:
⇒ vfs.file.regexp[/etc/passwd,zabbix]
⇒ vfs.file.regexp[/path/to/some/file,"([0-9]+)$",,3,5,\1]
⇒ vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1] → 獲取用戶Zabbix的ID

vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>]

查詢文件中的字符串

0 - 不匹配
1 - 匹配

file - 文件全路徑 
regexp - GNU正則表達式
encoding - 編碼頁 標識符
start line –查詢的起始行(默認為文件的第1行)。
end line – 查詢的截止行(默認為文件的最后一行)。

start line, end line 和output 參數從版本2.2開始支持。

示例:
⇒ vfs.file.regmatch[/var/log/app.log,error]

vfs.file.size[file]

文件大小(按字節)

整數

file - 文件全路徑

文件必須具有Zabbix用戶讀的權限
示例:
⇒ vfs.file.size[/var/log/syslog]
文件大小限制取決於 大文件支持large file support.。

vfs.file.time[file,<mode>]

文件時間信息。

整數(Unix時間戳)

file - 文件全路徑
mode - 可能的值:
modify (默認) - 更新時間, 

access - 最后一次訪問時間, 

change - 最后一次修改時間

示例:
⇒ vfs.file.time[/etc/passwd,modify]
文件大小限制取決於 大文件支持

vfs.fs.discovery

掛載的文件系統列表。用於低級發現

JSON對象

 

Zabbix agent從版本2.0開始支持。
Zabbix agent從3.0開始支持{#FSDRIVETYPE} 宏

vfs.fs.inode[fs,<mode>]

 

inode的數量或百分比

整型 - 針對數量

浮點值 - 針對百分比

fs - 文件系統
mode - 可能的值: 
total (默認), freeusedpfree (剩余, 百分比), pused(已用的, 百分比)

示例:
⇒ vfs.fs.inode[/,pfree] 
舊名字: vfs.fs.inode.free[*]vfs.fs.inode.pfree[*]vfs.fs.inode.total[*]

vfs.fs.size[fs,<mode>]

磁盤空間,以字節為單位,用百分比表示。

整數 - 針對字節

浮點- 針對百分比

fs - 文件系統
mode - 可能的值: 
total (默認), freeusedpfree (剩余, 百分比), pused(已用, 百分比)

在安裝卷的情況下,返回本地文件系統的磁盤空間。
示例:
⇒ vfs.fs.size[/tmp,free]
考慮到文件系統的保留空間,並且在使用模式為free時不包括。
舊名稱: vfs.fs.free[*]vfs.fs.total[*]vfs.fs.used[*]vfs.fs.pfree[*]vfs.fs.pused[*]

vm.memory.size[<mode>]

內存大小,以字節為單位,以百分比表示。

整數 - 用於字節

浮點 - 用於百分比

mode - 可能的值: 
total (默認), activeanonbufferscachedexecfilefreeinactivepinnedsharedwiredusedpused (已用, 百分比), availablepavailable (可用, 百分比)

此監控項接受3類參數:
1) total - 總內存量;
2) platform-
特定內存類型activeanonbufferscachedexecfilefreeinactivepinnedsharedwired;
3) user-
用戶級別估計使用和可用的內存量usedpusedavailablepavailable.

請參閱vm.memory.size的了解更詳細的參數描述.
舊名稱: vm.memory.buffersvm.memory.cachedvm.memory.freevm.memory.sharedvm.memory.total

web.page.get[host,<path>,<port>]

獲取網頁內容。

包括響應頭和實體

curl -I + 實體部分

網頁源碼

host - 主機名
path - HTML文檔路徑 (默認是/)
port - 端口號 (默認是80)

失敗時返回一個空字符串。 
示例:
⇒ web.page.get[www.zabbix.com,index.php,80]

web.page.perf[host,<path>,<port>]

加載完整網頁的時間(以秒為單位)

浮點

host - 主機名
path - HTML文檔的路徑 (默認是/)
port - 端口號(默認是80)

失敗時返回一個空字符串。 

示例:
⇒ web.page.perf[www.zabbix.com,index.php,80]

web.page.regexp[host,<path>,<port>,<regexp>,<length>,<output>]

在網頁上查找字符串。

匹配的字符串,或由可選的“輸出”參數指定

host - 主機名
path - HTML文檔路徑(默認是/)
port - 端口號(默認是80)
regexp - GNU正則表達式
length - 返回的最大字符數
output - 一個可選的輸出格式模板。 \0轉義序列替換為匹配的文本,而\N(其中N = 1 … 9)轉義序列被替換為第N個匹配組(如果N超過捕獲組的數量,則為空字符串)。

如果找不到匹配或失敗,則返回一個空字符串。

使用output參數的內容在代理端上進行提取。

參數output從版本2.2開始支持 

示例:
⇒ web.page.regexp[www.zabbix.com,index.php,80,OK,2]

一個特定於Linux的注意事項:Zabbix Agent必須具有權限讀取文件系統/proc(因此要給zabbix用戶(運行zabbix agent的用戶)足夠的權限)

參閱www.grsecurity.org的內核修補程序限制非特權用戶的訪問權限。

可用的編碼

encoding參數用於指定處理相應監控項檢查的編碼,以便獲取的數據不會被破壞。 有關支持的編碼(代碼頁標識符)的列表,請參閱相應的文檔,例如libiconv(GNU Project)或Microsoft Windows SDK文檔“代碼頁標識符”的文檔。

如果傳遞空encoding,則默認使用UTF-8(用於較新的Unix/Linux發行版的默認語言環境,請參閱系統設置)或使用具有系統特定擴展(Windows)的ANSI。

關於監控項的一些疑難問題

1)如果與passive agent(被動式)一起使用,Zabbix Server服務器配置中的超時值可能需要高於Agent配置文件中的超時值。 否則,該監控項可能無法獲取任何值,因為zabbix server請求agent時首先超時。


免責聲明!

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



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