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时首先超时。

  • 相关阅读:
    mmap 函数
    poisx 文件锁
    三次握手的第三个ACK包丢了,TCP的处理方式
    unix 网络编程第八章 UDP
    STDIN_FILENO vs stdin
    unix 网络编程 第七章
    select 实现分析,poll epoll
    pselect 和 select
    export LANG="zh_CN.UTF-8"
    Unix 网络编程 I/O 模型 第六章
  • 原文地址:https://www.cnblogs.com/wyzhou/p/10832442.html
Copyright © 2011-2022 走看看