You can create a site monitoring task to monitor sites on the Internet and analyze network quality or performance.

Prerequisites

  • Alert contacts and alert contact groups are created if you need to configure alert rules for a site monitoring task. When you configure an alert rule, you can select an alert contact group as the alert notification recipient. 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

To test and monitor access to your site, site monitoring sends detection requests that simulate real user access from Alibaba Cloud data centers to your site. Site monitoring is applicable to the following scenarios:
  • Monitoring of DNS resolution failures

    You can configure a scheduled task to monitor DNS resolution failures. You can select the detection points of China Mobile, China Telecom, and China Unicom in the provincial capital cities of China. CloudMonitor sends detection requests to your domain name and obtains the resolution results of the domain name from the public DNS servers of the specified carriers. If the resolution results obtained by CloudMonitor are different from the DNS records configured for the domain name, the DNS servers of the specified carriers fail to resolve the domain name. DNS resolution failures may be caused by DNS hijacking and DNS poisoning.

  • Monitoring of service availability

    You can configure a scheduled task to monitor a HTTP or HTTPS domain name. You can select detection points distributed around the world to send detection requests. The status code in the detection results indicates the availability of your service. After you configure alert rules, CloudMonitor sends alert notifications to you if an abnormal status is detected. Then, you can troubleshoot your service based on the information displayed in the console. In addition, you can observe the network latency between your service and the carrier detection points in different regions. The information helps you understand the user experience of carriers in different regions, and provides a reference for system deployment architecture optimization.

  • Comparative analysis of network quality

    You can configure a scheduled task to send ping requests to a specific domain name. You can select carrier detection points in different countries and regions. After the task runs for a period of time, you can observe the network latency between your service and the carriers in different countries and regions. You can also configure multiple tasks to send ping requests to different domain names. By comparing the detection results of different tasks, you can observe the network quality of the domain names.

Procedure

  1. Log on to the CloudMonitor console.
  2. In the left-side navigation pane, choose Network Analysis and Monitoring > Site Monitoring (Timing Dial Test).
  3. On the Monitoring Tasks tab, click Create Task.
  4. On the Create Task page, configure parameters for the site monitoring task.
    • 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 value)
        • POST
        • HEAD
        Frequency

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

        Advanced Settings For more information about the advanced settings for HTTP(S), see Advanced Settings.
      • 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.
        Frequency

        The frequency at which the site monitoring task sends detection requests to the site that you want to monitor. Valid values: 15 Seconds, 1 Minutes, 5 Minutes, 15 Minutes, 30 Minutes, and 60 Minutes. For example, if you select 1 Minutes, 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.
        Frequency

        The frequency at which the site monitoring task sends detection requests to the site that you want to monitor. Valid values: 15 Seconds, 1 Minutes, 5 Minutes, 15 Minutes, 30 Minutes, and 60 Minutes. For example, if you select 1 Minutes, 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 value)
        • MX
        • NS
        • CNAME
        • TXT
        • ANY
        • AAAA
        DNS Access Protocol The transport layer protocol used by DNS. Valid values:
        • udp (default value)
        • tcp
        • tcp-tls
        DNS Server The type of the DNS server. Valid values:
        • System default DNS
        • The operator DNS corresponding to the detection point
        • Custom DNS
        Number of retries after DNS failure. The number of retries after a DNS detection fails.
        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 (,).

        Match Rule The matching rule for the domain name or IP address.
      • Task Type: TCP or UDP
        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.
        Frequency

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

        Port The TCP or UDP port. Default value: 80.
        Advanced Settings For more information about the advanced settings for TCP or UDP, see Advanced Settings.
      • Task Type: SMTP or POP3
        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.
        Frequency

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

        Port The SMTP or POP3 port.

        Default SMTP port: 25.

        Default POP3 port: 110.

        Username

        The username and password of the FTP server.

        Password
        Secure Connection Specifies whether to use secure connections for the SMTP or POP3 protocol. Valid values:
        • Use
        • Not Use
      • Task Type FTP
        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.
        Frequency

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

        Port The FTP port.

        Default value: 21.

        Anonymous Logon
        • Anonymous Logon (default value)
        • Authentication Required

          If you select the Authentication Required option, you must specify the username and password of the FTP server.

        Username

        The username and password of the FTP server.

        Password
    • Define Assertions
      If you set the Task Type parameter to HTTP(S), you can use the assertion feature to specify conditions and check whether a detection point meets your expectations based on the verification result. 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 less than 400 are available by default.
      CloudMonitor provides an available condition by default. If the default condition cannot 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.
        • 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: checks 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 JSONPath Syntax.
      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 on 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 Custom Detection Points The default detection points and custom detection points that are used for site monitoring.
      If the default detection points cannot meet your business requirements, perform the following steps to add custom detection points.
      1. Click the Modify icon next to Select Custom Detection Points.
      2. Click Create Template.
      3. Enter a custom template name in the Template Name field and select 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 cannot meet your business requirements, perform the following steps to add an alert rule:
      1. Click Add Rule Description.
      2. In the panel that appears, 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 available detection points / 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 in 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 in 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 Code (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 comparison operator that is used in the alert rule. Valid values:
        • >=
        • >
        • <=
        • <
        • =
        • !=
        • Compare With Yesterday Rise
        • Compare With Yesterday Decline
        • Compare With Last Week Rise
        • Compare With Last Week Decline
        • Compare With Last Period Rise
        • Compare With Last Period Decline
        Threshold and Alert Level The alert level and the corresponding threshold.

        Valid values of the alert level: Critical, Warn, and Info.

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

        Tag The tags of the alert rule.
      3. Click OK.
    • Select Alert Contact Groups
      Parameter Description
      Contact Groups Select the alert contact groups to which alert notifications are sent.

      The alert notifications are sent to the alert contacts that belong to the selected alert contact groups. A contact group can contain one or more alert contacts.

      For information about how to create an alert contact and an alert contact group, see Create an alert contact or alert contact group.

      Mute For The interval at which CloudMonitor sends alert notifications until the alert that is triggered based on the alert rule is cleared. Valid values: 5 Minutes, 15 Minutes, 30 Minutes, 60 Minutes, 3 Hours, 6 Hours, 12 Hours, and 24 Hours.

      If the threshold value is exceeded, CloudMonitor sends an alert notification. If the threshold value is exceeded 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 URL that is used to receive the alert notifications sent from CloudMonitor by using HTTP POST requests. The URL must be accessible over the Internet. You can enter only an HTTP URL. For more information about how to configure alert callback, see Use the alert callback feature to send notifications about threshold-triggered alerts.
      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 operations 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 Troubleshoot in the Actions column. Then, view the cause of the assertion failure.

Advanced Settings

The following tables describe the advanced settings for different protocols.
  • HTTP or HTTPS
    Parameter Description
    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.
    Match 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 (,).
    HTTP Authentication Username The username and password that are used for basic HTTP authentication.
    HTTP Authentication Password
    Certificate Verification Specifies whether server name indication (SNI) is supported. By default, the check box is cleared. This indicates that SNI is not supported.
    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.
    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.
    DNS Server The IP address of the DNS server.
  • TCP or UDP
    Parameter Description
    Request Format This parameter takes effect only if you configure the Request content parameter. Valid values:
    • Text
    • Hexadecimal Format
    Request content
    • Text
      Common text refers to strings that consist of printable characters.
      Note Common text does not support escaping. For example, \n is considered as two characters (\ and n) rather than the newline character.
    • Hexadecimal Format

      If the request content is a byte string that cannot be presented in printable characters, you can convert the byte string to a hexadecimal string that consists of printable characters. Conversion rules: A byte is converted to two hexadecimal characters. For example, (byte)1 is converted to 01, and (byte)27 is converted to 1B.

      Binary array in the Java format: {(byte)1, (byte)27} is converted to 011b or 011B. Hexadecimal characters are not case-sensitive in site monitoring. Enter "011B" in the Request content field and set the Request Format parameter to Hexadecimal Format.

    Matching Content Format This parameter takes effect only if you configure the Content Match parameter. Valid values:
    • Text
    • Hexadecimal Format
    Content Match
    • Text
      Common text refers to strings that consist of printable characters.
      Note Common text does not support escaping. For example, \n is considered as two characters (\ and n) rather than the newline character.
    • Hexadecimal Format

      If the request content is a byte string that cannot be presented in printable characters, you can convert the byte string to a hexadecimal string that consists of printable characters. Conversion rules: A byte is converted to two hexadecimal characters. For example, (byte)1 is converted to 01, and (byte)27 is converted to 1B.

      Binary array in the Java format: {(byte)1, (byte)27} is converted to 011b or 011B. Hexadecimal characters are not case-sensitive in site monitoring. Enter "011B" in the Request content field and set the Request Format parameter to Hexadecimal Format.