2022 Zabbix中国峰会
2022 Zabbix中国峰会

5 简单检查

Overview

概览

简单检查通常用于检查远程未安装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监控项则可忽略。

Note that for SourceIP support in LDAP simple checks (since Zabbix 5.4.11), OpenLDAP version 2.6.1 or above is required.

支持的简单检查

Zabbix支持的简单检查列表:

另请参考:

键值
描述 * 返回值** **参数 * 注解
icmpping[<target>,<packets>,<interval>,<size>,<timeout>]
通过ICMP ping,检测主机的可访问性 0 - ICMP pi g 失败  target -
1 - ICMP ping 成功 *
机IP或者域名  示例:
packets - 数据包数量  =&gtinterval** - 连续数据包之间的时间间隔(以毫秒为单位) 
size - 数据包大小(以字节为单位)  另请参考: [默认值](timeout - 超时时间(以毫秒为单位)
<icmpping[,4] → 4个包中只要一个有返回,那么该项则返回1.
imple_checks#icmp_pings)表
icmppingloss[<target>,<packets>,<interval>,<size>,<timeout>]
丢失数据包的百分比 数值(浮点数) target - 主机 P或者域名  另请参考: [默认值](simple_chpackets - 数据包数量
interval - 连续数据包之间的时间间隔(以毫秒为单位)
size - 数据包大小(以字节为单位)
timeout - 超时时间(以毫秒为单位)
cks#icmp_pings)表.
icmppingsec[<target>,<packets>,<interval>,<size>,<timeout>,<mode>]
ICMP ping响应时间(以秒为单位) 数值(浮点数) target - 主机IP 者域名  如果主机不可用(达到超时), 则该监控项返回0packets - 数据包数量  如果返回interval - 连续数据包之间的时间间隔(以毫秒为单位) 
size - 数据包大小(以字节为单位)  另请参考: [默认值](timeout - 超时时间(以毫秒为单位)
mode - 可能的值: min, max, avg (默认)

小于0.0001秒, 该值将被设置为0.0001秒.
imple_checks#icmp_pings)表.
net.tcp.service[service,<ip>,<port>]
检测服务是否正在运行并且接受TCP连接. 0 - 服务停止
service - 可能的值:
1 - 服务正在运行 **por
ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (另见 详细说明)  示例:
ip - IP地址或者域名 (默认使用主机IP/DNS)  => net.t** - 端口号 (默认使用标准服务端口)
<p.service[ftp,,45] → 可用于测试运行在TCP 45端口上FTP服务器的可用性.
请注意,使用 tcp 服务必须指定端口.
这些检查可能会在系统守护进程日志文件中产生额外的信息 (通常会记录SMTP和SSH会话).
目前不支持检测加密协议(如端口993上的IMAP或端口995上的POP). 作为一种解决方法, 请使用 net.tcp.service[tcp,<ip>,port]进行检测.
从Zabbix 2.0以后开始支持httpstelnet 服务。
net.tcp.service.perf[service,<ip>,<port>]
检测TCP服务性能. 浮点数.
servic
0.000000 - 服务停止 
p
seconds - 连接到服务花费的时间(秒)
** - 可能的值: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (另见 详细说明)  示例:
ip - IP地址或者域名 (默认使用主机ip/DNS)  => net.trt** - 端口号 (默认使用标准服务端口)
目前不支持检测加密协议(
<p.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 - 服务停止
service - 可能的值
1 - 服务正在运行 **por
ntp (另见 详细说明)  示例:
ip - IP地址或者域名 (默认使用主机ip/DNS)  => net.u** - 端口号 (默认使用标准服务端口).
<p.service[ntp,,45] → 可用于测试UDP端口45上NTP服务的可用性.
从Zabbix 3.0以后开始支持此监控项, 但在之前的版本中 ntp 服务可用于net.tcp.service[]监控项。
net.udp.service.perf[service,<ip>,<port>]
检测UDP服务的性能 浮点数.
service
0.000000 - 服务停止 
p
seconds - 等待服务响应的时间(秒)
* - 可能的值: ntp (另见 详细说明)  示例:
ip - IP地址或者域名 (默认使用主机IP/DNS)  => net.urt** - 端口号 (默认使用标准服务端口).
<p.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默认设 Zab ix允许的
<限制

警告: 根据平台和版本的不同,fping的默认值也会有所不同 - 如有疑问, 请参考fping文档。

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