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

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 - ICM ping失败  **target
1 - ICMP ping 成功
- 主机IP或者DNS名  示例:
packets - 数据包数量  =&gtinterval** - 连续数据包之间的时间(以毫秒为单位) 
size - 数据包大小(以字节为单位)  可参考: [默认值](stimeout - 超时(以毫秒为单位)
<icmpping[,4] → 如果返回四个的至少一个数据包,则该项将返回1。
mple_checks#icmp_pings)表。
icmppingloss[<target>,<packets>,<interval>,<size>,<timeout>]
丢失数据包的百分比。 Float. **target* - 主机IP或者DNS名  可参考: [默认值](simpackets - 数据包数量
interval - 连续数据包之间的时间(以毫秒为单位)
size - 数据包大小(以字节为单位)
timeout - 超时(以毫秒为单位)
le_checks#icmp_pings)表。
icmppingsec[<target>,<packets>,<interval>,<size>,<timeout>,<mode>]
ICMP ping响应时间(以秒为单位)。 Float. target 主机IP或者DNS名  如果主机不可用(达到超时),则该packets - 数据包数量  如果返回interval - 连续数据包之间的时间(以毫秒为单位) 
size - 数据包大小(以字节为单位)  可参考: [默认值](stimeout - 超时(以毫秒为单位)
mode - 可能的值: min, max, avg (default)
控项将返回0。
小于0.0001秒,该值将设置为0.0001秒。
mple_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地址或者DNS名 (默认使用主机IP/DNS)  => net.** - 端口号(默认使用标准服务端口号)。
<cp.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 - 服务不 用  service
seconds - 连接到服务时花费的秒数 port -
可能的值: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (参考详细信息)  示例:
ip - IP地址或者DNS名 (默认使用主机IP/DNS)  => net.端口号(默认使用标准服务端口号)。
<cp.service.perf[ssh] → 可以用来测试SSH服务器的初始响应速度。
请注意,使用tcp服务指示端口是必需的。
目前不支持检查加密协议(如端口993上的IMAP或端口995上的POP)。作为解决方法,请使用 net.tcp.service.perf[tcp,<ip>,port] 进行如下检查。
httpstelnet 从Zabbix 2.0开始支持。
在Zabbix 2.0之前调用tcp_perf。
net.udp.service[service,<ip>,<port>]
检查服务是否正在运行并响应UDP请求。 0 - 服务停了
service - 可能的值:
1 - 服务正在运行 **por
ntp (参考详细信息)  示例:
ip - IP地址或DNS名称(默认使用主机IP/DNS)  => net.ud** - 端口号(默认使用标准服务端口号)。
<.service[ntp,,45] → 可用于测试UDP端口45上NTP服务的可用性。
这个监控项从Zabbix 3.0开始支持, 但是对于以前版本的net.tcp.service[]监控项,可以使用ntp服务。
net.udp.service.perf[service,<ip>,<port>]
检查UDP服务的性能。 0 - 服务停   service
seconds - 等待服务响应的秒数 port
- 可能的值: ntp (参考详细信息)  示例:
ip - IP地址或DNS名称(默认使用主机IP/DNS)  => net.ud- 端口号(默认使用标准服务端口号)。
<.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默认值可能有所不同 - 如果有疑问,请检查fping文档。

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