5 简单检查

概述

简单的检查通常用于远程无代理监控服务。

请注意,Zabbix代理不需要简单的检查。Zabbix服务器/代理服务器负责处理简单的检查(使外部连接等)。

使用简单检查的例子:

  1. net.tcp.service[ftp,,155]
  2. net.tcp.service[http]
  3. net.tcp.service.perf[http,,8080]
  4. net.udp.service.perf[ntp]

简单检查监控项配置中的用户名密码字段通常用于VMware监控项目,否则忽略。

被支持的简单检查

支持的简单检查列表:

请参考:

Key
描述返回值参数注释
icmpping[<target>,<packets>,<interval>,<size>,<timeout>]
主机可通过ICMP ping访问。 0 - ICMP ping失败1 - ICMP ping 成功 target - 主机IP或者DNS名packets - 数据包数量interval - 连续数据包之间的时间(以毫秒为单位)size - 数据包大小(以字节为单位)timeout - 超时(以毫秒为单位) 示例:⇒ icmpping[,4] → 如果返回四个的至少一个数据包,则该项将返回1。可参考: 默认值表。
icmppingloss[<target>,<packets>,<interval>,<size>,<timeout>]
丢失数据包的百分比。 Float. target - 主机IP或者DNS名packets - 数据包数量interval - 连续数据包之间的时间(以毫秒为单位)size - 数据包大小(以字节为单位)timeout - 超时(以毫秒为单位) 可参考: 默认值表。
icmppingsec[<target>,<packets>,<interval>,<size>,<timeout>,<mode>]
ICMP ping响应时间(以秒为单位)。 Float. target - 主机IP或者DNS名packets - 数据包数量interval - 连续数据包之间的时间(以毫秒为单位)size - 数据包大小(以字节为单位)timeout - 超时(以毫秒为单位)mode - 可能的值: min, max, avg (default) 如果主机不可用(达到超时),则该监控项将返回0。如果返回值小于0.0001秒,该值将设置为0.0001秒。可参考: 默认值表。
net.tcp.service[service,<ip>,<port>]
检查服务是否正在运行并接受TCP连接。 0 - 服务停止1 - 服务正在运行 service - 可能的值: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (参考细节)ip - IP地址或者DNS名 (默认使用主机IP/DNS)port - 端口号(默认使用标准服务端口号)。 示例:⇒ net.tcp.service[ftp,,45] → 可用于测试TCP端口45上FTP服务器的可用性。请注意,使用tcp服务指示端口是必需的。\这些检查可能会产生系统守护程序日志文件中额外的其它消息(通常会记录SMTP和SSH会话)。\检查加密协议(如993端口上的IMAP或端口995上的POP)当前不受支持。作为解决方法,请使用net.tcp.service[tcp,<ip>,port]进行检查。httpstelnet 服务从Zabbix 2.0开始支持。
net.tcp.service.perf[service,<ip>,<port>]
检查TCP服务的性能。 0 - 服务不可用seconds - 连接到服务时花费的秒数 service - 可能的值: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (参考详细信息)ip - IP地址或者DNS名 (默认使用主机IP/DNS)port - 端口号(默认使用标准服务端口号)。 示例:⇒ net.tcp.service.perf[ssh] → 可以用来测试SSH服务器的初始响应速度。请注意,使用tcp服务指示端口是必需的。目前不支持检查加密协议(如端口993上的IMAP或端口995上的POP)。作为解决方法,请使用 net.tcp.service.perf[tcp,<ip>,port] 进行如下检查。httpstelnet 从Zabbix 2.0开始支持。在Zabbix 2.0之前调用tcpperf。
net.udp.service[service,<ip>,<port>]
检查服务是否正在运行并响应UDP请求。 0 - 服务停了1 - 服务正在运行 service - 可能的值: _ntp (参考详细信息)ip - IP地址或DNS名称(默认使用主机IP/DNS)port - 端口号(默认使用标准服务端口号)。 示例:⇒ net.udp.service[ntp,,45] → 可用于测试UDP端口45上NTP服务的可用性。这个监控项从Zabbix 3.0开始支持, 但是对于以前版本的net.tcp.service[]监控项,可以使用ntp服务。
net.udp.service.perf[service,<ip>,<port>]
检查UDP服务的性能。0 - 服务停止seconds - 等待服务响应的秒数 service - 可能的值: ntp (参考详细信息)ip - IP地址或DNS名称(默认使用主机IP/DNS)port - 端口号(默认使用标准服务端口号)。 示例:⇒ net.udp.service.perf[ntp] → 可用于测试NTP服务的响应时间。从Zabbix 3.0以后支持此监控项,但是在以前的版本中,ntp服务可用于net.tcp.service[]监控项。
超时处理

Zabbix将不会处理比Zabbix服务器/代理服务器配置文件中定义的超时秒数更长的简单检查。

ICMP ping

Zabbix使用外部实用程序fping来处理ICMP ping。

该实用程序不是Zabbix发行版的一部分,必须另外安装。如果该实用程序丢失,那么其权限或其位置与Zabbix服务器/代理服务器配置文件(“FpingLocation”参数)中设置的位置不匹配,则不会处理ICMP ping(icmpping,icmppingloss,icmppingsec)。

fping必须由用户执行Zabbix守护程序运行as和setuid root。以root用户身份运行这些命令,以便设置正确的权限:

  1. shell> chmod 4710 /usr/sbin/fping
  2. shell> chown root:zabbix /usr/sbin/fping

还要检查一下,如果用户zabbix属于组zabbix,则运行:

  1. shell> groups zabbix

如果不是通过如下命令添加:

  1. shell> usermod -a -G zabbix zabbix

ICMP检查参数的默认值、限制值和描述值:

参数 单位 描述 Fping的标志 默认设置 允许的限制by Zabbix
fping Zabbix 最小 最大
packets number 到目标的请求数据包的数量 -C 3 1 10000
interval milliseconds 在连续数据包之间等待的时间 -p 1000 20 无限
size bytes 数据包大小(以字节为单位)\x86上的56个字节,x86_64上的68个字节 -b 56 or 68 24 65507
timeout milliseconds 最后一个包发送后等待的超时(受“-C”标志影响) -t 500 50 无限

警告:根据平台和版本,fping默认值可能有所不同 - 如果有疑问,请检查fping文档。

Zabbix将IP地址通过3个icmpping*key中的任一个写入临时文件,然后将其传递给fping。如果监控项具有不同的Key参数,则只有具有相同Key参数的参数被写入到单个文件。写入单个文件的所有IP地址将通过fping并行检查,因此Zabbix icmp pinger进程将花费固定的时间来忽略文件中的IP地址数量。