一篇关于业务可用性探测的纯“干”货,榨出一滴水算我输!

2022-07-13 10:10:34 浏览数 (2)

黄小龙

腾讯云高级工程师/腾讯云监控方案架构师,多年监控开发和应用经验,对业务监控、智能监控有深刻的理解,主导腾讯云 DevOps 可观测方案落地。

案例背景

随着各行业业务高速发展,系统架构日渐庞大和复杂。导致应用系统可用性下降、发生故障时,无法及时发现并定位问题。生产系统运维管理难度和重要性日渐凸显,对业务连续性要求和运维服务质量要求也不断提高,为保障系统业务连续性,业务可用性能监控已成为刚需。

方案介绍

1. 监测方法

通过腾讯云云拨测在全球各个地区不同运营商和类型的监测点对目标地址进行定时访问,可以持续监测目标网站或 URL 地址的连通性,一旦出现可用性问题可以及时告警。

2. 评估维度

我们通过对 服务可用性页面可用性接口可用性 三方面对业务可用性做出评估。

指标说明:

3. 服务可用性

我们的软件系统处于可工作的时间比例,就是服务的可用性,也就是说,服务可用性可以描述为一个百分比的数值。从用户实际体验的视角出发,通过一系列指标来衡量服务的可用性,例如丢包率、解析错误率劫持比例等。

除此之外我们应该对整体请求的请求时长,所有网络调用的请求时长,所有数据操作的网络时长,以及关键函数的请求时长都有记录,最后在具体分析的时候就能有所抓手。

4. 页面可用性

以页面正常访问的频率,页面元素的正确性,JS 有无错误,是否存在 HTTP 劫持等会直接影响用户体验的因素为主,主要关注 可用性、错误元素个数、劫持比例。

在此之上深入分析元素级网页性能,对页面可用性、资源可用性、首屏时间等指标进行详细监控,快速定位性能问题的具体原因及所在地区,准确判断问题的原因是网络、CDN、服务器、还是网站页面性能。

5. 接口可用性

对接口调用成功率,返回值的校验正确率分析,判断接口的可用性,再结合接口的整体性能,排查问题,减少因业务接口故障带来的业务损失,节省运营成本,提高业务质量。关注指标为:整体性能、成功率、正确率

6. 场景任务配置

在业务可用性涉及的几种场景下,我们有对应的任务配置方案。

配置方案

1. 监测规划

监测任务:页面性能监测、网络质量监测、端口监测。

监测时间:常态化监控,实时监测各个场景下的业务性能。

监测地区:国内范围:国内省会城市三大运营商 ; 海外范围:根据海外业务覆盖地区选点。

2. 页面性能监测配置

2.1 简介

获取用户在不同的运营商、城市地域、浏览器版本、操作系统、设备等环境下,访问 Web 页面的体验数据,全面了解页面的性能,监控页面篡改等。

2.2 基本信息配置

  • 拨测点类型:PC 端/移动端。
  • 任务名称:任务名称与拨测地址绑定,在添加多个拨测地址时对应多个任务名称,不填会根据拨测地址生成默认任务名。
  • 拨测地址:以 http:// 或 https:// 开头的网址。
  • 拨测频率:5min/15min/30min/1h/2h。建议根据业务实际情况可以错开监测频率: 高峰期:5-10 分钟频率,拨测频率越高,报警及时性越高。 低峰期:30-60 分钟拨测频率,低峰期用户访问量少,低频率可以节约监测量使用。
  • 任务标签:用于从不同维度对资源分类管理,可不添加标签,也可添加多标签。可通过控制台 管理标签进行标签操作(https://console.cloud.tencent.com/tag/taglist)。

2.3 拨测点配置

  • 拨测点类型:可用性拨测点/高级场景拨测点/我的拨测点组
  • 选择拨测点:选择需要拨测的省市地区,及各地的运营商,节点覆盖中国大陆31个省市自治区,海外主要城市节点,可通过 高级场景拨测点 自定义拨测地区。

在 PC 端拨测,拨测点的类型分为 IDC,LM。

在移动端拨测,拨测点类型分为 4G,3G,2.5G。

2.4 拨测参数配置(可选)

3. 网络质量监测配置

3.1 介绍:

通过 Ping(ICMP/TCP/UDP)监测、DNS 监测、Tracert 监测多种方式,针对应用网络稳定性,路由稳定性、DNS 解析正确率,包括 ICMP 时延和丢包率等进行监控。

3.2 配置基本信息

拨测地址:拨测的 IP 地址或以 http:// 或 https:// 开头的域名,用于 CDN 时 http://[cname域名]

示例:

  • 域名:http://www.tencent.com
  • IP:0.0.0.0 或 0:0:0:0:0:0:0:1
  • 域名端口:http://www.tencent.com:80
  • IP端口:0.0.0.0:80 或 [0:0:0:0:0:0:0:1]:80
代码语言:javascript复制
(备注:Ping 监测下使用 TCP 或 UDP 协议时,需要填写端口)
其余字段可参考 2.2 说明配置。

3.3 拨测点配置

( 参考2.3配置 )

3.4 拨测参数配置(可选)

拨测配置:

  • Ping 监测
  • DNS 监测
  • Tracert 监测
  • 劫持监测参数

4 端口监测配置

4.1 简介

通过 SSL/TCP 协议、 GET/POST 方法对端口进行监测,监测接口响应性能、可用性等。

4.2 基本信息

注:未提及的配置字段参考章节2.2配置。

  • 拨测地址:
    • IPV4端口:0.0.0.0:80
    • IPV6端口:[0:0:0:0:0:0:0:1]:80
    • 域名端口:www.tencent.com:80

4.3 拨测点配置

( 参考章节2.3配置 )

4.4 拨测参数配置(可选)

  • 请求参数:根据请求协议选择对应的协议类型,设置 URL、Header、Body 等参数
  • 验证方式:对 statusCode、body、header 可设置相等、正则匹配、数值范围、包含和 MD5 验证。

数据分析

所有监测数据均可在 多维分析 、指标探索 中查看,支持按照任务域名,任务名,拨测点运营商等多维度筛选。

1. 设置指标维度

2. 数据分析

在页面性能监测任务中,从可用性,劫持率两个指标上能看出页面整体可用性还是很高的,在监测期间没有出现任何会直接影响用户的情况。

但是在错误元素的指标中,我们可以看到还是有一些元素出现了错误,需要做出处理。

我们通过散点图可以将某一次拨测的数据拿到,进而分析具体问题。

通过元素瀑布图可以了解到时页面中两个域名下均有元素,但是在域名性能图中, xxx.qq.com 域名下的元素都没有数据,说明 xxx.qq.com 域名下的元素出现了问题,这样,问题就定位到了具体的元素上。

3. 总结

针对用户需求,通过配置【页面,网络,端口监测】三种类型,测试不同场景下的业务可用性,并可以结合其他指标,分析定位其他问题出现的原因。

客户故事

某新闻资讯服务商的网络链路质量监控与评估故事

  • 场景和痛点

某新闻资讯网站日活用户数超过数百万,用户遍布全国,每年网站运营维护支出费用超过数百万元。

网站却经常收到各地用户投诉“网站不能正常访问”、“新闻打开缓慢”,但本地验证时却可以正常访问,用户活跃度断崖式下跌,产品留存率告警。

  • 业务洞察

如何有效验证全国各地用户真实访问网站时遇到的问题?

掌握全国不同城市运营商的用户访问网站时的真实性能与用户体验数据,为网站运营维护策略提供数据支撑,才能有效解决上述问题。

  • 解决方案

使用腾讯云云拨测,选取全国不同城市运营商监测点,创建云拨测浏览任务,从终端用户侧真实访问网站,验证网站的访问性能与用户体验问题,提升网站运营维护效率。

  • 落地实施

1. 网络出口监测通过覆盖全国各大运营商的节点 Ping 和 Tracert,统计丢包和路由变化,说明出口质量变化。

2. 运营商交割变更通过覆盖全国运营商的节点访问应用页面的可用性来发现交割开始时间,运营商与客户互联网出口恢复时间,业务恢复时间。

3. DNS 与页面劫持通过 IP 白名单发现 DNS 劫持,通过域名白名单发现内容劫持,及时保护用户体验与安全(无法直接豁免)。

视频教程

联系我们

如有任何疑问

欢迎扫码进入官方交流群~

相关文章推荐:


欢迎关注腾讯云监控公众号

0 人点赞