5 简单检查
概述
简单检查通常用于远程无agent的服务监控。
注意:简单检查不需要Zabbix agent。Zabbix server/proxy负责处理简单检查(建立外部连接等操作)。
简单检查的使用示例:
net.tcp.service[ftp,,155]
net.tcp.service[http]
net.tcp.service.perf[http,,8080]
net.udp.service.perf[ntp]
在简单检查监控项配置中,用户名和密码字段(限制255个字符)用于VMware监控监控项;其他情况下会被忽略。
支持的检查类型
监控项键值监控项列示时未包含可选参数及附加信息。点击该监控项键值监控项以查看完整详情。
另请参阅 VMware monitoring item keys。
| 监控项 键值 | 描述 |
|---|---|
| icmpping | 通过 ICMP ping 检测 主机 的可访问性。 |
| icmppingloss | 丢包率。 |
| icmppingsec | ICMP ping 响应时间。 |
| net.tcp.service | 检查服务是否正在运行并接受 TCP 连接。 |
| net.tcp.service.perf | 检查 TCP 服务的性能。 |
| net.udp.service | 检查服务是否正在运行并响应UDP请求。 |
| net.udp.service.perf | 检查UDP服务的性能。 |
监控项 键详情
不带尖括号的参数是必填项。用尖括号 < > 标记的参数是可选项。
icmpping[<target>,<packets>,<interval>,<size>,<timeout>,<options>]
主机 的 ICMP ping 可达性。
返回值:0 - ICMP ping 失败;1 - ICMP ping 成功。
参数:
- target - 主机 的 IP 或 DNS 名称;
- packets - 数据包数量;
- interval - 数据包之间的时间间隔(毫秒);
- size - 数据包大小(字节);
- timeout - 超时时间(毫秒);
- options - 用于允许重定向:如果为空(默认值),重定向的响应将被视为 target 主机 处于宕机状态;如果设置为 allow_redirect,重定向的响应将被视为 target 主机 处于运行状态。
另请参阅 默认值 表格。
示例:
icmpping[,4] # 如果四个数据包中至少有一个返回,则 监控项 将返回 1。
icmppingloss[<target>,<packets>,<interval>,<size>,<timeout>,<options>]
丢失数据包的百分比。
返回值: float.
参数:
- target - 目标主机 IP 或 DNS 名称;
- packets - 数据包数量;
- interval - 数据包之间间隔时间(毫秒);
- size - 数据包大小(字节);
- timeout - 超时时间(毫秒);
- options - 用于允许重定向:如果为空(默认值),重定向响应将被视为target 主机 失败;如果设置为 allow_redirect,重定向响应将被视为target 主机 成功。
另请参阅 默认值 表格。
icmppingsec[<target>,<packets>,<interval>,<size>,<timeout>,<mode>,<options>]
ICMP ping 响应时间(以秒为单位)。
返回值: float.
参数:
- target - 主机 的 IP 或 DNS 名称;
- packets - 数据包数量;
- interval - 数据包之间间隔的毫秒数;
- size - 数据包大小(以字节为单位);
- timeout - 超时时间(以毫秒为单位);
- mode - 可选值:min、max 或 avg(默认);
- options - 用于允许重定向:如果为空(默认值),重定向的响应将被视为 target 主机 处于宕机状态;如果设置为 allow_redirect,重定向的响应将被视为 target 主机 处于运行状态。
备注:
- 丢失或超时的数据包不会参与计算;
- 如果 主机 不可用(达到超时时间),监控项 将返回 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(参见 details);
- ip - IP地址或DNS名称(默认使用主机的IP/DNS);
- port - 端口号(默认使用标准服务端口号)。
备注:
- 请注意,对于tcp服务,指定端口是强制性的;
- 这些检查可能会在系统守护进程日志文件中产生额外的消息(通常会记录SMTP和SSH会话);
- 当前不支持加密协议的检查(如端口993上的IMAP或端口995上的POP)。作为变通方案,请使用
net.tcp.service[tcp,<ip>,port]进行此类检查。
示例:
net.tcp.service[ftp,,45] #这个 监控项 可用于测试TCP端口45上FTP服务器的可用性。
如果SELinux以强制模式运行,自定义TCP/UDP简单检查可能会被策略阻止。要验证并允许新的出站连接,请查看审计拒绝:使用 grep denied /var/log/audit/audit.log
net.tcp.service.perf[service,<ip>,<port>]
检查TCP服务的性能。
返回值:float: 0.000000 - 表示服务不可用;seconds - 连接到服务所花费的秒数。
参数:
- service - 可能的值:ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet(参见 details);
- ip - IP地址或DNS名称(默认使用主机的IP/DNS);
- port - 端口号(默认使用标准服务端口号)。
备注:
- 请注意,对于tcp服务,指定端口是强制性的;
- 当前不支持加密协议的检查(如端口993上的IMAP或端口995上的POP)。作为变通方案,请使用
net.tcp.service[tcp,<ip>,port]进行此类检查。
示例:
net.tcp.service.perf[ssh] #这个监控项可用于测试SSH服务器初始响应的速度。
net.udp.service[service,<ip>,<port>]
检查服务是否正在运行并响应UDP请求。
返回值:0 - 服务已停止;1 - 服务正在运行。
参数:
- service - 可能的值:ntp(参见 details);
- ip - IP地址或DNS名称(默认使用主机 IP/DNS);
- port - 端口号(默认使用标准服务端口号)。
示例:
net.udp.service[ntp,,45] #这个 监控项 可用于测试UDP端口 45 上NTP服务的可用性。
net.udp.service.perf[service,<ip>,<port>]
检查UDP服务的性能。
返回值:float: 0.000000 - 表示服务已停止;seconds - 等待服务响应所花费的秒数。
参数:
- service - 可能的取值:ntp(参见 details);
- ip - IP地址或DNS名称(默认使用 主机 的IP/DNS);
- port - 端口号(默认使用标准服务端口号)。
示例:
net.udp.service.perf[ntp] #这个 监控项 可用于测试来自NTP服务的响应时间。
对于LDAP简单检查中的SourceIP支持(例如 net.tcp.service[ldap]),需要OpenLDAP version 2.6.1 或更高版本。
超时处理
如果一个简单检测的执行时间超过了在配置表单中定义的 超时(Timeout) 秒数,Zabbix 将不会继续处理该检测。
对于 VMware items 监控项,Zabbix 将不会处理执行时间超过在 Zabbix 超时 或 超时 配置文件中定义的 Timeout 秒的简单检测。对于 icmpping* 监控项,超时和重试次数的值是直接在 监控项 键中指定的,不受全局 Timeout 参数的影响。请确保在 监控项 键中正确配置这些值。
ICMP ping
Zabbix 使用外部工具 fping 来处理 ICMP ping(icmpping、icmppingloss、icmppingsec)。
安装
Zabbix 未包含 fping,需要单独安装:
-
各种基于 Unix 的平台在其默认仓库中提供了 fping 软件包,但默认未预安装。在这种情况下,您可以使用软件包管理器安装 fping。
-
Zabbix 为 RHEL 提供了 fping packages。请注意,这些软件包不包含官方支持。
-
fping 也可以被编译:安装。
配置
在 Zabbix server/proxy 配置 file 的 fping位置 参数中指定 fping 的位置
(或使用 fping6location 参数以支持 IPv6 地址)。
fping 必须可由用户 Zabbix server/proxy run 作为执行,并且该用户应具有足够的权限。
另请参阅:有关使用低于 3.10 版本的 fping 处理简单检查的信息,请参见 简单检查。
默认值
ICMP 检查参数的默认值、限制和值描述:
| 参数 | 单位 | 描述 | Fping 的 flag | 默认设置方 | Zabbix 允许的限制 | ||
|---|---|---|---|---|---|---|---|
| fping | Zabbix | 最小值 | 最大值 | ||||
| packets | 数字 | 发送到目标的请求包数量 | -C | 3 | 1 | 10000 | |
| interval | 毫秒 | 向单个目标连续包之间等待的时间 | -p | 1000 | 20 | 无上限 | |
| size | 字节 | 包大小(字节) 56 字节在 x86 上,68 字节在 x86_64 上 |
-b | 56 或 68 | 24 | 65507 | |
| timeout | 毫秒 | fping v3.x - 最后一个包发送后的等待超时,受 -C flag 影响 fping v4.x - 每个包的单独超时 |
-t | fping v3.x - 500 fping v4.x 及更新版本 - 继承自 -p flag,但不超过 2000 |
50 | 无上限 | |
默认值可能因平台和版本略有不同。
此外,Zabbix 使用 fping 选项 -i interval ms(不要与上表中提到的 监控项 参数 interval 混淆,该参数对应 fping 选项 -p)和 -S 源 IP 地址(或旧版本 fping 中的 -I)。 这些选项通过运行不同选项组合的检查自动检测。 Zabbix 会尝试检测 fping 允许使用的 -i 的最小毫秒值,尝试的 3 值为:0、1 和 10。 第一个成功值将用于后续的 ICMP 检查。 此过程由每个 服务器进程类型与线程 进程单独完成。
每小时会失效一次自动检测的 fping 选项,并在下次执行 ICMP 检查时重新检测。 设置 debuglevel>=4 以便在 server 或 proxy 日志文件中查看此过程的详细信息。
Zabbix 将通过任意一个 icmpping* 键检查的 IP 地址写入一个临时文件,然后传递给 fping。 如果 监控项 具有不同的键参数,则只有具有相同键参数的地址才会写入单个文件。 所有写入单个 file 的 IP 地址将由 fping 并行检查, 因此 Zabbix ICMP pinger 进程花费的时间是固定的,与文件中的 IP 地址数量无关。