zoukankan      html  css  js  c++  java
  • (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- 可选项,输出格式模板。 转义序列替换为匹配的文本,而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 - 一个可选的输出格式模板。  转义序列替换为匹配文本,而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 - 一个可选的输出格式模板。 转义序列替换为匹配的文本,而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 - 一个可选的输出格式模板。 转义序列替换为匹配的文本,而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时首先超时。

  • 相关阅读:
    洛谷—— P3353 在你窗外闪耀的星星
    洛谷—— P1238 走迷宫
    洛谷—— P1262 间谍网络
    9.8——模拟赛
    洛谷—— P1189 SEARCH
    算法
    May 22nd 2017 Week 21st Monday
    May 21st 2017 Week 21st Sunday
    May 20th 2017 Week 20th Saturday
    May 19th 2017 Week 20th Friday
  • 原文地址:https://www.cnblogs.com/wyzhou/p/10832442.html
Copyright © 2011-2022 走看看