网络拨测是一套分布式网络性能监控系统,使用外部探针模拟用户请求,以进行数据采集。
通过对用户的业务感知,来获取用户”真实体验”信息,为运维人员判断网络状态和线上应用健康状况提供科学依据。
主动拨测监控工具可以大体分为以下几种探测类型:
- 单一页面访问检测
模拟浏览器发起网络请求(支持IPV6),通过检查网络协议参数和返回状态,评估被监控对象的可用性。
一个HTTP请求从发起到收到响应,可以获取的网络参数包括:DNS查询耗时,TCP连接耗时,客户端耗时,SSL握手耗时,首包耗时,下载耗时,重定向次数,总检测次数,成功/失败次数等。 - ping命令检测
调用系统Ping命令,对IP/Hostname发起检测,检测耗时和丢包率等参数。 - DNS检测
DNS检测任务通常要求用户设置一个目标IP地址,通过分布在互联网各大运营商内部的拨测节点,对目标Hostname/IP发起DNS解析查询,将查询结果和目标IP进行匹配,检查匹配结果。 - 端口检测
在本地创建和目标端口的TCP连接(前提是开墙,防火墙允许访问),如果建联成功,则认为端口存活,否则失败。 - 路由检测
调用操作系统tracert/traceroute命令,检测目标IP,查询经过的路由条数和网关地址,并记录转发耗时,将以上参数记录后展示给用户。 - 全元素检测
全元素检测本质上是一个单一页面访问检测,该类型任务会将HTML静态页面下载时间、成功/失败次数,css/javascritpt等静态文件下载耗时一起记录,计算页面可用率等关键指标信息。 - 事务检测
事务检测主要针对需要用户登录的系统,解决登录认证的问题。一般要求用户提供一个登录使用的账户和登录地址,拨测节点登录成功后,会携带cookie,访问系统内部的检测页面,通过识别关键字等信息,判断登录成功状态和页面可用性。
后续教程中,我们将围绕以上七种检测任务展开,简述开发过程。
网络拨测工具开发-单页面检测