All Products
Search
Document Center

CloudMonitor:Use mobile devices to detect the network quality of sites

Last Updated:Jul 25, 2024

CloudMonitor simulates the access behavior of end users by using detection points (requesters) around the globe and obtains the access data from the detection points to the target URLs (monitored addresses). To monitor your sites over cellular networks, you can configure a task that initiates simulated requests from mobile devices.

Prerequisites

  • One or more alert contacts and alert contact groups are created. For more information, see Create an alert contact or alert contact group.

  • A callback URL that can be accessed over the Internet is prepared if you need to enable the alert callback feature for alert rules. In addition, URL callback is enabled as an alert notification method in your existing O&M or notification system.

Background information

  • If your site is configured with high-level firewall policy settings or a whitelist, you may need to add the IP addresses of detection points to the whitelist so that the detection points can successfully access your site without being blocked by the firewall.

  • Mobile detection points provide the following advantages:

    • Real mobile networks

      You can send simulated requests to sites in real mobile networks of China Mobile, China Telecom, and China Unicom to obtain the availability and latency information at the sites.

    • Abundant mobile detection points

      More than 300 mobile detection points from China Mobile, China Telecom, and China Unicom are available in more than 100 cities within China.

    • Non-intrusive task deployment

      This is an out-of-the-box capability and no script embedding is required.

Procedure

  1. Log on to the CloudMonitor console.

  2. In the left-side navigation pane, choose Network Analysis and Monitoring > Site Monitoring.

  3. On the Monitoring Tasks tab, click Create Task.

  4. On the Create Task page, select Mobile (Mobile) and configure the parameters for the site monitoring task. The following table describes the parameters.

    • Basic Information

      • Task Type: HTTP(S)

        Parameter

        Description

        Task Name

        The name of the site monitoring task. The name must be 4 to 100 characters in length, and can contain letters, digits, and underscores (_).

        Monitored Address

        The address of the site that you want to monitor. Valid values:

        • GET (default)

        • POST

        • HEAD

        The monitored address is a URL. Separate multiple monitored addresses with carriage returns.

        Frequency

        The frequency at which the site monitoring task sends detection requests to the site that you want to monitor. Valid values: 1 Minute and 5 Minutes. For example, if you select 1 Minute, a detection point in a region sends a detection request to the site that you want to monitor every minute.

        Advanced Settings

        The following table describes the advanced settings.

        Important

        Handshake protocols earlier than TLS 1.2 have security vulnerabilities. Therefore, CloudMonitor does not support handshake protocols earlier than TLS 1.2 on the server, keeping pace with mainstream browsers. If the error tls: server selected unsupported protocol version 302 occurs on a running site monitoring task but you do not want to upgrade the TLS protocol on the server, you can select the minimum compatible TLS version on the Others tab of the Advanced Settings page.

        The following table describes the advanced settings for HTTP (S).

        Subtab

        Parameter

        Description

        Request Parameters

        HTTP Request Header

        An HTTP header is a key-value pair in which the key and value are separated by a colon (:). Each HTTP header occupies a line. Site monitoring adds the following preset headers to the request:

        • Host:${Domain name in the monitored address}

        • Pragma:no-cache

        • Cache-Control:no-cache

        • User-Agent:Chrome/57

        • Accept: */*

        If the request body is a form, the request also contains the following header:

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

        If your request contains one or more of the preceding headers, the headers are overwritten by your settings.

        Note

        Site monitoring converts the keys that you specify in the request headers to the canonical format of MIME headers based on the following rules of the HTTP protocol:

        • The first letter and the letter that follows a hyphen (-) are converted to uppercase letters. For example, accept-encoding is converted to Accept-Encoding.

        • If a key contains a space or invalid characters, the key remains unchanged.

        Cookie

        The HTTP cookie.

        Request Content

        The request content can contain multiple key-value pairs in the key1=value1;key2=value2 format or a JSON string in the {"test":"testValue"} format.

        Note

        This parameter is required if you set the Request Method parameter to POST.

        Unfollow Redirect

        Specifies whether to follow redirects if the status code 301 or 302 is returned. By default, the check box is cleared. This indicates that redirects are followed.

        Certificate Verification

        Specifies whether server name indication (SNI) is supported. By default, the check box is cleared. This indicates that SNI is not supported.

        User Authentication

        HTTP Authentication Username

        The username and password that are used for basic HTTP authentication.

        HTTP Authentication Password

        Others

        Enable PROXY Protocol

        Specifies whether to enable the PROXY protocol. By default, the check box is cleared. This indicates that the PROXY protocol is not supported.

        Minimum TLS version

        The minimum TLS version with which CloudMonitor is compatible. Valid values:

        • tlsv1.0

        • tlsv1.1

        • tlsv1.2

        • tlsv1.3

        Matching Response Mode

        If you specify the response content that you want to match, site monitoring checks whether the first 64 KB of the response body contains the response content that you specify. Valid values:

        • Generate Alerts If Response Contains

        • Generate Alerts If Response Does Not Contain

        Site monitoring determines whether to generate an alert based on the mode in which the response is matched.

        The matching content must be in English.

        Match Response Content

        Acceptable Additional HTTP Status Codes

        An HTTP status code that is greater than or equal to 400. Separate multiple status codes with commas (,).

      • Task Type: PING

        Parameter

        Description

        Task Name

        The name of the site monitoring task. The name must be 4 to 100 characters in length, and can contain letters, digits, and underscores (_).

        Monitored Address

        The address of the site that you want to monitor. The monitored address is a domain name or an IP address. Separate multiple monitored addresses with carriage returns.

        Frequency

        The frequency at which the site monitoring task sends detection requests to the site that you want to monitor. Valid values: 1 Minute and 5 Minutes. For example, if you select 1 Minute, a detection point in a region sends a detection request to the site that you want to monitor every minute.

        Number of Ping Packets

        The number of times that the site is pinged. Default value: 10.

      • Task Type: DNS

        Parameter

        Description

        Task Name

        The name of the site monitoring task. The name must be 4 to 100 characters in length, and can contain letters, digits, and underscores (_).

        Monitored Address

        The address of the site that you want to monitor. The monitored address is a domain name. Separate multiple monitored addresses with carriage returns.

        Frequency

        The frequency at which the site monitoring task sends detection requests to the site that you want to monitor. Valid values: 1 Minute and 5 Minutes. For example, if you select 1 Minute, a detection point in a region sends a detection request to the site that you want to monitor every minute.

        Type

        The type of DNS records that you want to query. Valid values:

        • A (default)

        • MX

        • NS

        • CNAME

        • TXT

        • ANY

        • AAAA

        DNS Access Protocol

        The transport layer protocol used by DNS. Valid values:

        • udp (default)

        • tcp

        • tcp-tls

        Expected Resolution Result

        CloudMonitor checks whether the DNS resolution result contains the expected domain names or IP addresses. If the list of expected values is a subset of the list of DNS results, the detection is considered successful.

        Separate multiple domain names or IP addresses with commas (,).

        Matching rules

        The matching rule for the domain name or IP address.

        Port

        The port of the DNS server.

    • Define Assertions

      If you set the Task Type parameter to HTTP(S), you can use the assertion feature to specify conditions based on the response that is returned by a detection and check whether the expected result is returned. You can configure multiple assertions by specifying conditions. A detection point is available only if it meets all the specified conditions.

      Note

      If you do not configure a status code assertion for HTTP detections, status codes that are less than 400 are available by default.

      CloudMonitor provides an available condition by default. If the default condition does not meet your business requirements, perform the following steps to add conditions:

      1. Click Add Condition Group.

      2. Configure the condition of the assertion.

        • Response Time (ms): checks whether the response time meets expectations. Default setting: less than 1,000 ms.

          Note

          The response time includes the DNS resolution time.

        • Status Code: checks whether the response status code meets expectations. Default status code: less than 400.

        • Header: checks whether the fields in the response header meet expectations. You must configure a custom condition for the response header assertion.

        • Body, XML Field of Body, and JSON Field of Body: check whether the content in the response body meets expectations by using text matching, XML parsing (XPath), and JSON parsing (JSONPath). For more information, see XPath Syntax and JSON with JSONPath.

      3. Click Verify.

        You can view the verification result on the right side of the page.

        • If the verification result is Successful, you can create a site monitoring task as expected.

        • If the verification result is Failed, you can perform network diagnostics at the corresponding detection point.

      If responses that do not meet the conditions are detected, you can initiate PING and MTR detections at the corresponding detection points.

      Note

      MTR is a network diagnostic tool that integrates PING and Traceroute features.

    • Select Detection Points

      Parameter

      Description

      IP Protocol

      The type of the IP address that is used by the site monitoring task. Valid values: IPv4 and IPv6.

      Select detection points

      The default detection points and custom detection points that are used for site monitoring.

      If the default detection points do not meet your business requirements, perform the following steps to add custom detection points:

      1. Click the 修改 icon next to Select Custom Detection Points.

      2. In the Detection Point Templates panel, click Create Template.

      3. In the Create/Modify Detection Point Template dialog box, enter a custom template name in the Template Name field and select the custom detection points that you want to use.

      4. Click OK.

      5. Click OK.

    • Configure Alert Rules

      CloudMonitor provides an alert rule by default. If the default rule does not meet your business requirements, perform the following steps to add an alert rule:

      1. Click Add Rule.

      2. In the Add Rule Description panel, configure parameters for the alert rule. The following table describes the parameters.

        Parameter

        Description

        Rule Name

        The name of the alert rule.

        Metric Name

        The name of the metric that is used by the alert rule. Valid values:

        • Percentage of Available Detection Points

          Percentage of available detection points = (Number of times that a domain name or IP address can be accessed properly within a monitoring period/Total number of detection requests) × 100%.

        • Number of Unavailable Detection Points

          This metric specifies the number of times that the domain name or IP address of the site cannot be accessed as expected within a monitoring period.

        • Number of Available Detection Points

          This metric specifies the number of times that the domain name or IP address of the site can be accessed as expected within a monitoring period.

        • Any Status Code (Independent Alert)

          If the status code that is returned by one of the detection points meets the specified condition, an alert is triggered.

        • All Status Codes (Combined Alert)

          If the status codes that are returned by all detection points meet the specified condition, an alert is triggered.

        • Response Time

        Comparison

        The operator that is used to compare the metric value with the threshold in the alert rule. Valid values:

        • >=

        • >

        • <=

        • <

        • =

        • !=

        • Compared With Yesterday Rise

        • Compared With Yesterday Decline

        • Compared With Last Week Rise

        • Compared With Last Week Decline

        • Compared With Last Period Rise

        • Compared With Last Period Decline

        Threshold and Alert Level

        The alert level and the corresponding threshold.

        The notification method for alerts of the Info level is Email + Webhook.

        Valid values of the number of consecutive periods in which the metric value reaches the threshold before an alert is triggered: 1, 2, 3, 4, 5, 10, 15, and 20.

        Tag

        The tags of the alert rule.

        Auto Scaling

        If you turn on Auto Scaling, the specified scaling rule is enabled when an alert is triggered. In this case, you must configure the Region, ESS Group, and ESS Rule parameters.

        Log Service

        If you turn on Simple Log Service, the alert information is sent to the specified Logstore when an alert is triggered. In this case, you must configure the Region, ProjectName, and Logstore parameters.

        For more information about how to create a project and a Logstore, see Getting Started.

        Message Service - topic

        If you turn on Message Service - Topic, the alert information is sent to the specified topic in Message Service (MNS) when an alert is triggered. In this case, you must configure the Region and topicName parameters.

        For more information about how to create a topic, see Create a topic.

        Function Compute

        If you turn on Function Compute, an alert notification is sent to Function Compute for format processing when an alert is triggered. In this case, you must configure the Region, Service, and Function parameters.

        For more information about how to create a service and a function, see Quickly create a function.

      3. Click OK.

    • Select Alert Contact Groups

      Parameter

      Description

      Contact Groups

      The alert contact groups to which alert notifications are sent. Select at least one alert contact group.

      Alert notifications are sent to the alert contacts that belong to the specified alert contact groups. An alert contact group can contain one or more alert contacts.

      Mute For

      The interval at which CloudMonitor resends alert notifications before an alert is cleared. Valid values: 5 Minutes, 15 Minutes, 30 Minutes, 60 Minutes, 3 Hours, 6 Hours, 12 Hours, and 24 Hours.

      If a metric value reaches the threshold, CloudMonitor sends an alert notification. If the metric value reaches the threshold again within the mute period, CloudMonitor does not resend an alert notification. If the alert is not cleared after the mute period ends, CloudMonitor resends an alert notification.

      Note

      You can click Advanced Settings to configure this parameter.

      Effective Period

      The period during which the alert rule is effective. CloudMonitor monitors the specified resources based on the alert rule only within the specified period.

      Note

      You can click Advanced Settings to configure this parameter.

      Alert Callback

      The callback URL that can be accessed over the Internet. CloudMonitor sends HTTP POST requests to push alert notifications to the specified URL. Only the HTTP protocol is supported. For more information about how to configure alert callback, see Use the alert callback feature to send notifications about threshold-triggered alerts.

      To test the connectivity of an alert callback URL, perform the following steps:

      1. Click Test next to the callback URL.

        In the Webhook Test panel, you can check and troubleshoot the connectivity of the alert callback URL based on the returned status code and test result details.

        Note

        To obtain the details of the test result, configure the Test Template Type and Language parameters and click Test.

      2. Click Close.

      Note

      You can click Advanced Settings to configure this parameter.

  5. Click Create.

What to do next

If the site monitoring task shows assertion failed, the assertion fails. You can perform the following steps to view the cause of the failure:

  1. On the Monitoring Tasks tab of the Site Monitoring Tasks page, click the name of the site monitoring task that you want to manage.

  2. On the Overview page, click the Error tab.

  3. Find the detection point that you want to troubleshoot, and click Troubleshooting in the Actions column. Then, view the cause of the assertion failure.

References