本文为您介绍站点监控的探测指标和探测流程。
探测指标
HTTP协议的探测指标如下表所示。其他协议(SMTP、FTP、TCP、UDP等)的指标名称和解释与下表类似。
中文名 | 英文名 | 单位 | 解释 |
总响应时间 | total_time | 毫秒 | 整个探测过程消耗的时间(包含redirect_time)。 |
DNS域名解析时间 | http_dns_time | 毫秒 | 解析域名消耗的时间。 |
curl连接时间 | curl_connect_time | 毫秒 | 从发起探测到完成curl连接消耗的时间(包含http_dns_time)。 |
TCP连接时间 | tcp_connect_time | 毫秒 | 从发起探测到完成TCP连接消耗的时间(包含http_dns_time)。 |
SSL时间 | ssl_connect_time | 毫秒 | 从发起探测到完成SSL认证消耗的时间。 |
传输前置时间 | curl_pretransfer_time | 毫秒 | 从发起探测到完成HTTP请求写入消耗的时间。 |
传输开始时间 | curl_starttransfer_time | 毫秒 | 从发起探测到收到Web服务器返回数据的第一个字节消耗的时间。 |
HTTP连接时间 | http_connect_time | 毫秒 | HTTP连接时间=传输前置时间-DNS域名解析时间 |
下载时间 | http_download_time | 毫秒 | 当探针版本小于1.8时,该时间为0。 当探针版本大于等于1.8时,该时间为读取HTTP响应包前64字节所消耗的时间。如果HTTP响应包,经过加密,则该时间包含解密时间。 |
下载大小 | http_download_size | 字节 | HTTP响应包的大小。如果HTTP回应包中有Content-Length,则为HTTP响应包的大小;如果HTTP响应包中无Content-Length,则为实际读取的字节。 |
下载速度 | http_download_speed | 字节/秒 | 读取HTTP响应时的网络速度。 |
重定向时间 | redirect_time | 毫秒 | 从发起探测到发起第一个重定向请求消耗的时间。 |
重定向次数 | redirect_count | 次 | 重定向跳转次数。 |
如果探测过程中发生了重定向,则为最后一次探测。
指标计算与聚合说明
丢包率计算
站点监控的丢包率是基于所有探测点发送的总包数与丢失总包数计算的聚合值,而非单次任务或单个探测点的理论值。计算公式如下:
平均丢包率 =(所有探测点丢失包数总和)÷(所有探测点发送包数总和)× 100%如果配置了多个探测点,总发包数 = 探测点数量 × 单次发包数。
示例:假设配置了 3 个探测点,每个探测点单次发送 10 个包,则总发包数 = 3 × 10 = 30 个包。如果 3 个探测点共丢失了 2 个包,则平均丢包率 = 2 ÷ 30 × 100% ≈ 6.67%。
可用率计算
可用率表示探测周期内目标站点正常响应的比例。计算公式如下:
可用率 = 探测周期内正常访问次数 ÷ 探测总次数 × 100%其中:
探测总次数 =(60 分钟 ÷ 探测间隔分钟数)× 24 小时 × 天数 × 探测点数量示例:假设探测间隔为 5 分钟,配置了 2 个探测点,统计 1 天的可用率,则探测总次数 =(60 ÷ 5)× 24 × 1 × 2 = 576 次。如果其中有 3 次探测失败,则可用率 =(576 - 3)÷ 576 × 100% ≈ 99.48%。
告警数据聚合
配置站点监控告警规则时,告警周期决定了数据聚合的时间范围。系统在每个告警周期内对探测数据取平均值,并将平均值与告警阈值进行比较。
例如:设置告警周期为 60 秒,告警规则为"丢包率大于 50%",则系统计算前一分钟时间段内所有探测数据的丢包率平均值,当该平均值超过 50% 时触发告警。
探测流程
探测流程和计时方式如下图所示。
常见问题
为什么服务中断或连接拒绝时 ResponseTime 指标显示为 0?
当目标服务出现中断(如 connection refused)时,由于探测端未与目标服务建立有效的 TCP 连接,探测过程中不存在数据传输环节,因此 ResponseTime(总响应时间)指标记录为 0。
通过 ResponseTime 的值可以区分以下两种场景:
场景 | ResponseTime 表现 | 说明 |
网络超时 | 等于超时阈值(如 30000 毫秒) | 探测端已发起连接但在超时时间内未收到响应 |
如果告警规则基于 ResponseTime 配置,建议同时关注丢包率或可用率指标,以更准确地判断目标站点的健康状态。