5 简单检查
概述
简单检查通常用于检查远程未安装Zabbix agent的服务。
请注意,简单检查不需要Zabbix agent,由Zabbix server和Zabbix proxy来负责处理(例如创建外部连接等)。
简单检查使用示例:
net.tcp.service[ftp,,155]
net.tcp.service[http]
net.tcp.service.perf[http,,8080]
net.udp.service.perf[ntp]
在简单检查项的配置中,用户名 和 密码 字段用于Vmware的监控项;非VMware监控项则可忽略。
支持的简单检查
Zabbix支持的简单检查列表:
另请参考:
键值 | ||||
---|---|---|---|---|
描述 | 返回值 | 参数 | 注解 | |
icmpping[<target>,<packets>,<interval>,<size>,<timeout>] | ||||
通过ICMP ping,检测主机的可访问性 | 0 - ICMP ping 失败 1 - ICMP ping 成功 | target - 主机IP或者域名 packets - 数据包数量 interval - 连续数据包之间的时间间隔(以毫秒为单位) size - 数据包大小(以字节为单位) timeout - 超时时间(以毫秒为单位) | 示例: ⇒ icmpping[,4] → 4个包中只要一个有返回,那么该项则返回1. 另请参考: 默认值表 | |
icmppingloss[<target>,<packets>,<interval>,<size>,<timeout>] | ||||
丢失数据包的百分比 | 数值(浮点数) | target - 主机IP或者域名 packets - 数据包数量 interval - 连续数据包之间的时间间隔(以毫秒为单位) size - 数据包大小(以字节为单位) timeout - 超时时间(以毫秒为单位) | 另请参考: 默认值表. | |
icmppingsec[<target>,<packets>,<interval>,<size>,<timeout>,<mode>] | ||||
ICMP ping响应时间(以秒为单位) | 数值(浮点数) | target - 主机IP或者域名 packets - 数据包数量 interval - 连续数据包之间的时间间隔(以毫秒为单位) size - 数据包大小(以字节为单位) timeout - 超时时间(以毫秒为单位) mode - 可能的值: min, max, avg (默认) | 如果主机不可用(达到超时), 则该监控项返回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地址或者域名 (默认使用主机IP/DNS) port - 端口号 (默认使用标准服务端口) | 示例: ⇒ net.tcp.service[ftp,,45] → 可用于测试运行在TCP 45端口上FTP服务器的可用性. 请注意,使用 tcp 服务必须指定端口. 这些检查可能会在系统守护进程日志文件中产生额外的信息 (通常会记录SMTP和SSH会话). 目前不支持检测加密协议(如端口993上的IMAP或端口995上的POP). 作为一种解决方法, 请使用 net.tcp.service[tcp,<ip>,port]进行检测. 从Zabbix 2.0以后开始支持https 和 telnet 服务。 | |
net.tcp.service.perf[service,<ip>,<port>] | ||||
检测TCP服务性能. | 浮点数. 0.000000 - 服务停止 seconds - 连接到服务花费的时间(秒) | service - 可能的值: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (另见 详细说明) ip - IP地址或者域名 (默认使用主机ip/DNS) port - 端口号 (默认使用标准服务端口) | 示例: ⇒ net.tcp.service.perf[ssh] → 可以用来测试SSH服务器的初始响应速度. 请注意,使用 tcp 服务必须指定端口。 目前不支持检测加密协议(如端口993上的IMAP或端口995上的POP)。 作为一种解决方法, 请使用 net.tcp.service.perf[tcp,<ip>,port] 进行检测. 从Zabbix 2.0以后开始支持https and telnet 服务。 在Zabbix 2.0之前,调用的是tcp_perf。 | |
net.udp.service[service,<ip>,<port>] | ||||
检测服务是否正在运行并响应UDP请求 | 0 - 服务停止 1 - 服务正在运行 | service - 可能的值: ntp (另见 详细说明) ip - IP地址或者域名 (默认使用主机ip/DNS) port - 端口号 (默认使用标准服务端口). | 示例: ⇒ net.udp.service[ntp,,45] → 可用于测试UDP端口45上NTP服务的可用性. 从Zabbix 3.0以后开始支持此监控项, 但在之前的版本中 ntp 服务可用于net.tcp.service[]监控项。 | |
net.udp.service.perf[service,<ip>,<port>] | ||||
检测UDP服务的性能 | 浮点数. 0.000000 - 服务停止 seconds - 等待服务响应的时间(秒) | service - 可能的值: ntp (另见 详细说明) ip - IP地址或者域名 (默认使用主机IP/DNS) port - 端口号 (默认使用标准服务端口). | 示例: ⇒ net.udp.service.perf[ntp] → 可用于测试NTP服务的响应时间. 从Zabbix 3.0以后开始支持此监控项, 但在之前的版本中 ntp 服务可用于net.tcp.service[]监控项。 |
超时处理
如果简单检查时间超过了zabbix server或是proxy配置文件中设置的超时时间,zabbix 将不会做处理。
ICMP pings
Zabbix使用外部程序 fping 来处理ICMP ping
fping不包含在Zabbix的发行版中,您需要另外安装。如果程序未安装、程序权限错误或者程序路径与配置文件中(‘FpingLocation’ 参数)定义的不匹配,则不会处理ICMP ping (icmpping, icmppingloss, icmppingsec)
另请参考: 已知问题
fping fping必须可被Zabbix守护进程以root身份执行,需要设置setuid权限。为设置正确的权限,请以root身份执行这些命令:
shell> chown root:zabbix /usr/sbin/fping
shell> chmod 4710 /usr/sbin/fping
执行上述两条命令之后,检查fping可执行文件的所有权。在某些情况下,可以通过执行chmod命令来重置所有权。
还要检查一下,如果用户zabbix属于zabbix组,则运行:
shell> groups zabbix
如果没有添加上,通过如下命令解决:
shell> usermod -a -G zabbix zabbix
ICMP检测参数的默认值、限制和以及数值的描述:
参数 | 单位 | 描述 | Fping的标志 | fping默认设置 | Zabbix允许的 限制 | ||
---|---|---|---|---|---|---|---|
fping | Zabbix | min | max | ||||
packets | 数量 | 到目标的请求包的数量 | -C | 3 | 1 | 10000 | |
interval | 毫秒 | 在连续数据包之间等待的时间 | -p | 1000 | 20 | 无限制 | |
size | 字节 | 数据包大小(以字节为单位) x86上使用56字节,x86_64上使用68字节 | -b | 56 or 68 | 24 | 65507 | |
timeout | 毫秒 | fping v3.x - 最后一个包发送后等待的超时时间 (受 “-C” 标志的影响) fping v4.x - 每个包的单独超时时间 | -t | fping v3.x - 500 fping v4.x - 继承自 -p 标志, 但不超过 2000 | 50 | 无限制 |
此外,Zabbix使用fping 参数-i interval ms
(不要和上表中提到的参数interval混淆,它对应于fping 参数-p)和-S source IP address
(或者旧fping版本的选项-I)。这些参数通过使用不同的参数组合运行自动检测。Zabbix尝试检测fping允许与-i参数一起使用的最小值(以毫秒为单位),尝试3个值:0、1和10。第一个成功的值将用于后续的ICMP检查。这个过程是由每个 ICMP pinger 进程单独完成的。
从Zabbix 5.0.4版本开始,fping 自动检测的参数每小时都会失效,并且在下一次尝试执行ICMP检查时再次加载。设置 DebugLevel>=4 可以在服务器或代理日志文件中查看该进程的详细信息。
警告: 根据平台和版本的不同,fping的默认值也会有所不同 - 如有疑问, 请参考fping文档。
Zabbix将三个 icmpping* 键值中任何一个IP地址写入一个临时文件中,然后传递给 **fping。如果监控项有不同的键值参数,则只有具有相同键值参数的监控项IP才会被写入相同的单个文件。
所有写入到单个文件的IP地址将被fping并行检查,因此Zabbix icmp pinger进程将花费固定的时间来处理监控项,而不管文件中的IP地址数量