通过移动端探测目标站点的网络质量

云监控通过站点监控的探测点(请求方)模拟最终用户的访问行为,从而获得各地域探测点到目标地址(监控地址)的访问数据。当您希望通过蜂窝网络探测目标站点时,用移动端探测。

前提条件

  • 请确保您已创建报警联系人和报警联系人组。具体操作,请参见创建报警联系人或报警联系人组

  • 如果您需要在设置报警规则时使用报警回调功能,则请准备通过公网访问的回调URL,并在已有的运维系统或消息通知系统的告警方式中开启URL回调。

背景信息

  • 当您的站点有较高的防火墙配置策略或有访问白名单的限制时,有可能需要对探测点的IP地址进行加白,从而允许探测点成功访问您的站点不被防火墙屏蔽。处理方法,请参见当探测请求被误识别成攻击或爬虫时,如何给探测请求加白

  • 通过移动端探测的优势如下:

    • 真实的移动网络

      使用真实的移动网络对目标站点进行探测,获得目标站点在三大运营商移动网络中的可用性和延时信息。

    • 丰富的移动探测点资源

      移动探测点覆盖全国300多个探测节点和100多个城市,覆盖中国电信、中国移动和中国联通三大运营商。

    • 无侵入式部署任务

      无需嵌入任何脚本,开箱即用。

操作步骤

  1. 登录云监控控制台

  2. 在左侧导航栏,选择网络分析与监控 > 站点监控

  3. 监控任务页签,单击创建任务

  4. 创建任务页面,先选择移动端(Mobile),再设置移动端站点监控任务的相关信息。

    • 基本信息

      • 任务类型HTTP(S)

        参数

        描述

        任务名称

        站点监控任务支持的任务名称。取值:4~100个字符,支持英文字母、数字、下划线(_)和汉字。

        监控地址

        站点监控的目标地址。取值:

        • GET(默认值)

        • POST

        • HEAD

        监控地址格式为URL地址。多个监控地址用回车换行来区分。

        监控频率

        站点监控的周期。取值:1分钟和5分钟。例如:选择1分钟频率,各地域探测点将以1分钟一次的频率监控目标地址。

        高级设置

        高级设置如下表所示。

        重要

        由于TLS1.2以下版本的握手协议有安全漏洞,因此云监控与主流浏览器保持同步,不再支持服务端TLS1.2以下版本。当站点监控任务运行时,如果出现报错tls: server selected unsupported protocol version 302,但您不希望升级服务端的TLS协议,则可在高级设置其他页签中选择兼容的最低TLS版本。

        HTTP(S)的高级设置如下表所示。

        页签

        参数

        描述

        请求参数

        HTTP请求头

        HTTP请求头格式为key1:value1,通过回车键换行。站点监控会在请求头中预置以下Header:

        • Host:${监控地址中的域名}

        • Pragma:no-cache

        • Cache-Control:no-cache

        • User-Agent:Chrome/57

        • Accept: */*

        当请求内容是表单时,还会有以下Header:

        Content-Type: application/x-www-form-urlencoded;charset=UTF-8

        如果您的Header中出现了以上内容的某一项或某几项,则这几项将被您的设置所覆盖。

        说明

        根据HTTP协议,您提供的请求头中的key会被站点监控转换为canonical format of MIME Header形式:

        • 首字母以及短划线(-)后面的字母被转换为大写形式。如accept-encoding被转换为Accept-Encoding。

        • 如果key中包含空格或其他非法字符,则key保持不变。

        Cookie

        HTTP规则的Cookie文本。

        请求内容

        请求内容的格式为key1=value1;key2=value2或一段JSON代码{"test":"testValue"}

        说明

        请求方法选择POST时,需要设置该参数。

        不跟随跳转

        如果出现301或302状态码,是否跟随再次做重定向探测。默认不勾选,即跟随跳转。

        证书验证

        是否支持SNI。默认不勾选,即不支持。

        用户认证

        HTTP验证用户名

        通过HTTP协议的基础验证。

        HTTP验证密码

        其他

        是否开启ProxyProtocol

        是否开启代理协议。默认不勾选,即不支持。

        最低TLS版本

        云监控兼容的最低TLS版本。取值:

        • tlsv1.0

        • tlsv1.1

        • tlsv1.2

        • tlsv1.3

        匹配响应方式

        当匹配响应内容非空时,站点监控读取HTTP服务器回应Body的前64K,从中查找匹配响应内容。取值:

        • 包含匹配内容则报警

        • 不包含匹配内容则报警

        站点监控会根据匹配响应方式来决定是否报警。

        匹配内容仅支持英文。

        匹配响应内容

        可接受的大于等于400的HTTP状态码

        大于等于400的HTTP状态码。多个状态码之间用半角逗号(,)分隔。

      • 任务类型PING

        参数

        描述

        任务名称

        站点监控任务支持的任务名称。取值:4~100个字符,支持英文字母、数字、下划线(_)和汉字。

        监控地址

        站点监控的目标地址。监控地址为域名或IP地址。多个监控地址用回车换行来区分。

        监控频率

        站点监控的周期。取值:1分钟和5分钟。例如:选择1分钟频率,各地域探测点将以1分钟一次的频率监控目标地址。

        ping包数目

        发起ping的次数。默认值:10。

      • 任务类型DNS

        参数

        描述

        任务名称

        站点监控任务支持的任务名称。取值:4~100个字符,支持英文字母、数字、下划线(_)和汉字。

        监控地址

        站点监控的目标地址。监控地址为域名。多个监控地址用回车换行来区分。

        监控频率

        站点监控的周期。取值:1分钟和5分钟。例如:选择1分钟频率,各地域探测点将以1分钟一次的频率监控目标地址。

        类型

        DNS查询的类型。取值:

        • A(默认值)

        • MX

        • NS

        • CNAME

        • TXT

        • ANY

        • AAAA

        DNS访问协议

        DNS访问的协议。取值:

        • udp(默认值)

        • tcp

        • tcp-tls

        期望解析结果

        云监控对域名解析的结果进行验证,验证是否包含您期望的域名或IP地址。当期望列表是DNS列表的子集时,表示探测成功。

        多个域名或IP地址之间用半角逗号(,)分隔。

        匹配规则

        域名或IP地址的匹配规则。

        端口

        DNS服务器的端口。

    • 断言定义

      任务类型HTTP(S)时,您可以通过断言功能根据一次探测的返回内容设置可用条件,判断结果是否符合预期。您可以为断言设置多个可用条件,仅当所有条件都满足时,本次探测结果才被定义为可用。

      说明

      对于HTTP探测,如果您未设置状态码的断言,则默认小于400的状态码均可用。

      云监控默认提供一个可用条件,如果该条件不能满足您的需求,请按照如下操作添加可用条件。

      1. 单击添加条件组

      2. 设置断言的可用条件的相关信息。

        • 响应时间:判定响应时间是否符合预期。默认时间:小于1000ms。

          说明

          响应时间包括域名解析时间。

        • 状态码:判定响应状态码是否符合预期。默认状态码:小于400。

        • Header:判定响应Header中的字段是否符合预期。响应Header需要您自定义。

        • bodybody的xml字段body的json字段:通过文本字符匹配、XML解析(XPath)和JSON解析(JSON Path)判断返回Body中的内容是否符合预期。更多信息,请参见XPath语法说明JSON Path语法说明

      3. 单击拨测验证

        您可以在右侧查看拨测验证结果。

        • 当拨测验证成功时,您可以正常创建站点监控任务。

        • 当拨测验证失败时,您可以在对应探测点发起网络诊断探测。

      当出现不符合条件的响应信息时,您可以在对应探测点发起PING和MTR(My traceroute)网络诊断探测。

      说明

      MTR是集合PING和Traceroute功能的网络诊断工具。

    • 选择探测点

      参数

      描述

      IP探针类型

      探测点的IP探针类型。包括:IPv4和IPv6。

      选择探测点

      站点监控的默认探测点和自定探测点。

      如果云监控默认提供的探测点不能满足您的需求,请按照如下操作自定义探测点。

      1. 单击自定义探测点选择后面的修改图标。

      2. 单击创建模板

      3. 输入模板名称,选择自定义探测点。

      4. 单击确定

      5. 单击确定

    • 设置告警

      云监控默认提供一条报警规则。如果默认规则不能满足您的需求,请按照如下操作重新添加规则。

      1. 单击添加规则

      2. 设置规则描述相关参数。

        参数

        描述

        规则名称

        报警规则的名称。

        指标名称

        报警规则的指标名称。取值:

        • 可用探测点百分比

          可用探测点百分比=(域名或IP地址在一个探测周期内可以正常访问的次数/探测总次数)×100%。

        • 不可用探测点数量

          不可用探测点数量是指域名或IP地址在一个探测周期内不能正常访问的次数。

        • 可用探测点数量

          可用探测点数量是指域名或IP地址在一个探测周期内可以正常访问的次数。

        • 任意错误码(独立报警)

          当任意一个探测点的探测结果符合该状态码时,就会报警。

        • 所有错误码(组合报警)

          当所有探测点的探测结果都符合该状态码时,才会报警。

        • 响应时间

        比较

        报警规则的阈值比较符。取值:

        • >=

        • >

        • <=

        • <

        • =

        • !=

        • 同比昨天同时间上涨

        • 同比昨天同时间下降

        • 同比上周同一时间上涨

        • 同比上周同一时间下降

        • 环比上周期上涨

        • 环比上周期下降

        阈值和报警级别

        报警级别和该级别对应的阈值。

        报警级别对应的报警通知方式如下:

        • Critical(严重):电话+短信+邮件+WebHook。

        • Warn(警告):短信+邮件+WebHook。

        • Info(信息):邮件+WebHook。

        报警连续周期取值:1、2、3、4、5、10、15和20。

        标签

        报警规则的标签。

        弹性伸缩

        如果您打开弹性伸缩开关,当报警发生时,会触发相应的伸缩规则。您需要设置弹性伸缩的地域弹性伸缩组弹性伸缩规则

        日志服务

        如果您打开日志服务开关,当报警发生时,会将报警信息发送至日志服务的日志库。您需要设置日志服务的地域ProjectNameLogstore

        关于如何创建Project和Logstore,请参见快速入门

        轻量消息队列(原 MNS)— topic

        如果您打开轻量消息队列(原 MNS)— topic开关,当报警发生时,会将报警信息发送至消息服务的主题。您需要设置消息服务的地域和主题。

        关于如何创建主题,请参见创建主题

        函数计算

        如果您打开函数计算开关,当报警发生时,会将报警通知发送至函数计算进行格式处理。您需要设置函数计算的地域、服务和函数。

        关于如何创建服务和函数,请参见快速创建函数

      3. 单击确定

    • 配置报警联系组

      参数

      描述

      报警联系组

      发送报警的联系人组。请您至少选择一个报警联系组。

      报警通知会发送给该报警联系组中的报警联系人。报警联系组是一组报警联系人,可以包含一个或多个报警联系人。

      通道沉默周期

      报警发生后未恢复正常,间隔多久重复发送一次报警通知。取值:5分钟、15分钟、30分钟、60分钟、3小时、6小时、12小时和24小时。

      某监控指标达到报警阈值时发送报警,如果监控指标在通道沉默周期内持续超过报警阈值,在通道沉默周期内不会重复发送报警通知;如果监控指标在通道沉默周期后仍未恢复正常,则云监控再次发送报警通知。

      说明

      单击高级设置,可设置该参数。

      生效时间

      报警规则的生效时间,报警规则只在生效时间内才会检查监控数据是否需要报警。

      说明

      单击高级设置,可设置该参数。

      报警回调

      公网可访问的URL,用于接收云监控通过POST请求推送的报警信息。目前仅支持HTTP协议。关于如何设置报警回调,请参见使用阈值报警回调

      当您需要测试报警回调地址的连通性时,可以执行以下操作。

      1. 单击回调地址正后方的测试

        WebHook测试面板,您可以通过Webhook返回的状态码和测试结果详情对报警回调地址的连通性进行判断和排查。

        说明

        您还可以设置Webhook的回调模板类型语言,再次单击测试,获取对应的测试结果详情。

      2. 单击关闭

      说明

      单击高级设置,可设置该参数。

  5. 单击创建

相关操作

当站点监控任务在探测过程中显示assertion failed时,说明断言失败,您可以执行如下操作查看失败原因。

  1. 站点监控列表页面的监控任务页签,单击目标站点监控任务的任务名称。

  2. 概览页面的探测结果中,单击错误页签。

  3. 单击目标探测点对应操作列的问题排查,查看断言失败的原因。

相关文档