5 简单检查
概述
简单的检查通常用于远程无代理监控服务。
请注意,Zabbix代理不需要简单的检查。Zabbix服务器/代理服务器负责处理简单的检查(使外部连接等)。
使用简单检查的例子:
- net.tcp.service[ftp,,155]
- net.tcp.service[http]
- net.tcp.service.perf[http,,8080]
- 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]进行检查。https 和telnet 服务从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] 进行如下检查。https 和 telnet 从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用户身份运行这些命令,以便设置正确的权限:
- shell> chmod 4710 /usr/sbin/fping
- shell> chown root:zabbix /usr/sbin/fping
还要检查一下,如果用户zabbix属于组zabbix,则运行:
- shell> groups zabbix
如果不是通过如下命令添加:
- 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地址数量。