IT运维流程库历史主题 · 只读
← 返回目录

Zabbix Agent类型支持所有的item key - (1)?


Key

描述
返回值
参数
说明

agent.hostname

返回被监控端名称
字符串
-
返回配置文件中配置的被监控端的名称

agent.ping

检测被监控端是否存活
1 – 运行中

其他 –未运行
-
使用触发函数 nodata()检测客户端是否正在运行

agent.version

zabbix agent监控端软件版本
字符串
-
例如返回值:1.8.2

kernel.maxfiles

当前内核支持最大打开文件数
整数
-


kernel.maxproc

当前内核支持最大运行进程数
整数
-


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

监控日志文件
日志
file - 文件路径
regexp - 正则表达式
encoding - 编码
maxlines - 最大传输行数
mode - 可选all (默认), skip - (跳过旧数据)
output - 可选,输出格式.
这个监控项只能设置为 active check(主动模式).如果文件不存在或者没有相应的权限,那么监控项状态会转变为unsupported.

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

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

监控带日志轮转的日志文件
日志
file_regexp - 文件路径支持正则表达文件名
regexp - 正则表达式
encoding - 编码
maxlines - 最大传输行数
mode -可选all (默认), skip - (跳过旧数据)
output - 可选,输出格式.
这个监控项只能设置为 active check(主动模式).
日志轮转基于文件的最后修改时间
如果output置为空将返回包含匹配的整个文本行,注意所有的正则表达式除了’结果为真’的将匹配整行而且output选项将被忽略。

示例: ⇒ logrt["/home/zabbix/logs/^logfile[0-9]{1,3}$",,,100] → will match a file like "logfile1" (will not match ".logfile1") ⇒ logrt["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] → will collect data from files such "logfile_abc_1" or "logfile__001".

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

检测DNS服务是否开启
0 - 未运行 (服务器未响应或解析失败)

1 - 运行中
ip - DNS服务器地址(留空表示使用本地DNS)
zone - 测试域名
type - 记录类型 (默认值SOA)
timeout 超时(默认1秒)
count 重试次数 (默认值2)
示例:
⇒ net.dns[8.8.8.8, ,MX,2,1]

type的可选值:
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (除了Windows),HINFO, MINFO, TXT, SRV

不支持国际化的域名,请使用IDNA编码的替代.

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

执行一个DNS查询
获取DNS查询数据.
ip - DNS服务器地址(留空表示使用本地DNS)
zone - 测试域名
type - 记录类型 (默认值SOA)
timeout 超时(默认1秒)
count 重试次数 (默认值2)
示例:
⇒ net.dns[8.8.8.8, ,MX,2,1]

type的可选值:
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (除了Windows),HINFO, MINFO, TXT, SRV

不支持国际化的域名,请使用IDNA编码的替代.

net.if.collisions[if]

out-of-window 碰撞数
整数
if - 网卡名称


net.if.discovery

列出网卡.通常用于底层发现
JSON对象
-


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

网卡入口流量
整数
if – 网卡名称
mode – 可用值:
bytes – 字节数 (默认)
packets – 包数量
errors – 错误数量
dropped – 丢包数量
示例:
⇒ net.if.in[eth0,errors]
⇒ net.if.in[eth0]

请使用 Delta (speed per second) 数据存储方式以得到每秒速率的统计

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

网卡出口流量
整数
if – 网卡名称
mode – 可用值:
bytes – 字节数 (默认)
packets – 包数量
errors – 错误数量
dropped – 丢包数量
示例:
⇒ net.if.out[eth0,errors]
⇒ net.if.out[eth0]

请使用 Delta (speed per second) 数据存储方式以得到每秒速率的统计

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

网卡进/出流量的总和
整数
if – 网卡名称
mode – 可用值:
bytes – 字节数 (默认)
packets – 包数量
errors – 错误数量
dropped – 丢包数量
示例:
⇒ net.if.total[eth0,errors] ⇒ net.if.total[eth0]
请使用 Delta (speed per second) 数据存储方式以得到每秒速率的统计

net.tcp.listen[port]

检测TCP端口是否开启
0 - 未监听

1 - 监听
port - 端口
示例:
⇒ net.tcp.listen[80]

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

是否可以连接到指定IP的TCP端口
0 - 无法连接

1 - 可连接
ip - IP 地址(默认 127.0.0.1)
port - 端口
示例:
⇒ net.tcp.port[,80] →可被用于检测80端口的WEB服务器是否正常

简单的TCP性能测试使用: net.tcp.service.perf[tcp,<ip>,<port>]

请注意,这些检查可能会导致系统守护进程记录相关的日志
旧命名: check_port

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

检测服务是否开启,并且端口可用
0 - 未运行

1 - 运行中
service - 如下:ssh, ntp, ldap, smtp, ftp, http, pop, nntp,imap, tcp, https, telnet
ip - IP地址 (默认127.0.0.1)
port - 端口 (默认情况为标准端口号)
示例:
⇒ net.tcp.service[ftp,,45] →检测45端口上得FTP是否运行中

请注意,这些检查可能会导致系统守护进程记录相关的日志

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

检测服务器性能
0 - 服务未运行
秒 - 连接到服务端口消耗的时间
service - 如下:ssh, ntp, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet
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 agent不能检测LDAP和HTTPS. 注意telnet检测格式 (‘:’ 结尾).

旧命名: check_service_perf

net.udp.listen[port]

检测UDP端口是否在监听
0 - 未监听

1 - 监听
port - 端口
示例:
⇒ net.udp.listen[68]

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

某用户某些状态的进程的数量
整数
name - 进程名称(默认所有进程)
user - 用户名 (默认所有用户)
mode - 可选值:
avg, max, min, sum (默认)
cmdline - 命令行过滤(正则表达式)
示例:
⇒ proc.mem[,root] → root用户运行的所有进程的内存使用量
⇒ proc.mem[zabbix_server,zabbix] → zabbix用户运行的所有zabbix_server进程的内存使用量
⇒ proc.mem[,oracle,max,oracleZABBIX] → oracle用户运行的命令行包含oracleZABBIX的并且最需要内存的进程的内存使用量

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

某用户某些状态的进程的数量
整数
name - 进程名称(默认所有进程)
user - 用户名 (默认所有用户)
state - 可选值: all (default), run, sleep, zomb
cmdline - 命令行过滤(正则表达式)
示例:
⇒ proc.num[,mysql] → mysql用户运行的所有进程数
⇒ proc.num[apache2,www-data] → www-data运行的所有apache2进程数
⇒ proc.num[,oracle,sleep,oracleZABBIX] → oracle用户运行的命令行包含oracleZABBIX的并且是sleep状态的进程数 number of processes in sleep state running under oracle having oracleZABBIX in its command line

sensor[device,sensor,<mode>]

读取硬件传感器
浮点
device - 设备名
sensor - 传感器名称
mode - 可选值:
avg, max, min (如果省略此参数,则设备和传感器处理逐字记录).
在Linux2.4中读取 /proc/sys/dev/sensors

示例:
⇒ sensor[w83781d-i2c-0-2d,temp1]

在Linux2.6中读取 /sys/class/hwmon

在OpenBSD中读取 hw.sensors MIB

示例:
⇒ sensor[cpu0,temp0] →一个CPU的温度
⇒ sensor["cpu[0-2]$",temp,avg] →前三个CPU的平均温度

system.boottime

系统启动时间
整数 (Unix 时间戳)
-
-

system.cpu.discovery

列出CPU和CPU核通常用于底层发现
JSON对象
-
-

system.cpu.intr

设备中断
整数
-
-

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

CPU负载
浮点
cpu - 可用值:
all (默认), percpu (每个工作的cpu负载)
mode - 可用值 :
avg1 (一分钟平均,默认值), avg5, avg15
示例:
⇒ system.cpu.load[,avg5]

旧命名: system.cpu.loadX

system.cpu.num[<type>]

CPU数量
整数
type - 可用值:
online (默认), max
示例:
⇒ system.cpu.num

system.cpu.switches

Cpu上下文切换
整数
-
旧命名: system[switches]

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

CPU 利用率
浮点
cpu - <CPU 数量> 或 all (默认)
type - 可用值:
idle, nice, user (默认), system (Windows默认), iowait, interrupt, softirq,steal
mode - 可用值:
avg1 (一分钟平均,默认), avg5, avg15
示例:
⇒ system.cpu.util[0,user,avg5]

旧命名: system.cpu.idleX, system.cpu.niceX, system.cpu.systemX, system.cpu.userX

system.hostname[<type>]

系统主机名
字符串
type (仅用于Windows,不能与其他主机重复) - 可用值:netbios (默认) or host
该值获取来自GetComputerName()(netbios类型)或gethostname()(host类型)Windows函数,其他系统使用”hostname”命令获取

返回值示例:
on Linux:
⇒ system.hostname → linux-w7x1 ⇒ system.hostname →
on Windows:
⇒ system.hostname → WIN-SERV2008-I6 ⇒ system.hostname[host] → Win-Serv2008-I6LonG

原创:开源联盟