# HTTP URL Monitoring In an environment where the downtime of any website applications and services can cause a negative impact on the business performance, problems must be accurately identified and solved. Applications Manager acts as a continuous URL monitoring service that keeps constant watch over a specified URL or website page. They test the website applications and web services to ensure that they are functioning properly. URL monitors verify the availability of specified, addressable, standard HTTP and HTTPS URLs. They scan the HTTP and HTTPS pages looking for a predefined keyword to check whether the website is available. - [Creating a new HTTP(s) URL monitor](https://www.manageengine.com/products/applications_manager/help/http-url-monitors.html#url-monitoring) - [Monitored Parameters](https://www.manageengine.com/products/applications_manager/help/http-url-monitors.html#parameter) **Note:** - For monitoring, URL should be accessible from the machine where Applications Manager is running. - If you are connecting to a URL using a proxy server, then you must configure proxy to initiate monitoring. Refer to the [Configuring Proxy](https://www.manageengine.com/products/applications_manager/help/configure-proxy.html) section for further details. - To monitor multiple URLs in a sequence, refer to [HTTP(s) URL Sequence Monitoring](https://www.manageengine.com/products/applications_manager/help/http-url-sequence-monitors.html). ## Creating a new HTTP(s) URL monitor **Prerequisites for monitoring URL metrics:** [Click here](https://www.manageengine.com/products/applications_manager/help/prerequisites-for-applications-manager.html#urlmonitor) **Using the REST API to add a new URL monitor:** [Click here](https://www.manageengine.com/products/applications_manager/help/web-server-services-api.html#urlmonitor) To configure for URL monitoring, follow the given steps: 1. Select **New Monitor**. Choose **HTTP-URLs**. 2. Provide any **display name** for the HTTP-URL monitoring. 3. Provide the **HTTP/HTTPS URL address** you want to monitor. 4. Provide the **Polling Interval** (in minutes) for which Applications Manager updates the status of the monitor. 5. Enter the **Timeout** (in seconds) for which the URL monitor should wait for a page to complete downloading before timing out. 6. Use the **Add Advanced Web Monitors** field to add other advanced web monitors like [SSL/TLS Certificate Monitor](https://www.manageengine.com/products/applications_manager/ssl-certificate-monitoring.html), [Webpage Analyzer](https://www.manageengine.com/products/applications_manager/web-page-analyzer.html), [DNS Monitor](https://www.manageengine.com/products/applications_manager/dns-monitoring.html), [Brand Reputation](https://www.manageengine.com/products/applications_manager/brand-reputation-monitoring.html), and [Website Content Monitor](https://www.manageengine.com/products/applications_manager/website-content-monitoring.html). **HTTP Configurations:** Apart from the basic URL Monitoring, Applications Manager also provides you with advanced options that furnish effective and more flexible URL Monitoring. This is optional and you need to choose these options only if the HTTP/ HTTPS URL requires Form-based authentication. 7. Choose a **Form Submission Method** between the **POST** and **GET**, which are the two types of methods for any HTTP/HTTPS URL. If you choose POST, select **Payload Type** for 'POST' form submission. 8. Provide the **request parameters**, if any. The request parameters must be provided as name=value pairs for POST and GET methods. For example, if you want to monitor a URL like, `https://apm-prod-server:9090/showresource.do?haid=1&type=UrlMonitor&method=getMonitorForm`, then provide `"?haid=1&type=UrlMonitor&method=getMonitorForm"` as request parameter. 9. Enter the credential details like **user name** and **password** for authentication, or select the required credentials from the [Credential Manager](https://www.manageengine.com/products/applications_manager/help/credential-manager.html) list after enabling the **Select from Credential list** option. You can also authenticate through **SAML ADFS Authentication** by selecting the required credentials added using [SAML Authenticator](https://www.manageengine.com/products/applications_manager/help/saml-authenticator-for-adfs.html). 10. Specify the **response code** and choose the appropriate **condition** for which the error should be notified by specifying the criteria under **Error if Response Code** field. By default, it is greater than 200. 11. Enable the **"If monitor detects error, re-try immediately to verify error"** checkbox, if the monitoring is to be automatically performed whenever it detects an error, i.e. when an error is detected, the monitor will immediately be scheduled to run again once. 12. Sometimes you may want to customize the default HTTP request header. You have the option to customize the "User-Agent" field. Check the **Custom HTTP(S) Headers and User Agent** checkbox and enter the HTTP Header and User Agent in the text boxes. You may add multiple HTTP Headers and User Agents. 13. Choose the **SSL version** from the drop-down menu, if enabled. By default, it is set as **Auto**. 14. Enable the **Client Certificate Authentication** checkbox if and only if you have enabled Client Certificate Authentication for the server you want to monitor. Please note that only files of type *"PKCS#12"(.p12)* are supported. Also, provide the **Client Certificate Password** for the certificate, if required. **Note:** When you upload two Client Certificates of same name, note that the previous one will be overwritten by the later. 15. If you are adding a new monitor from the Central Server, [select a Probe Server](https://www.manageengine.com/products/applications_manager/help/enterprise-managed-server.html). **Content check:** Additionally, you can choose to perform content check in the URL page. The URL monitoring searches the keyword in the content of the URL page to check the availability of the URL. 16. Specify the contents that **should contain** and/or **should not contain** while performing the check in the URL response. 17. Enable the **Do case sensitive keyword search** checkbox if you wish to perform a content check for case-sensitive character strings. 18. Enable the **Regular Expression** checkbox if you wish to perform a content check based on regular expressions. (Refer [Regex Guide](https://www.manageengine.com/products/applications_manager/help/regular-expressions.html) for more info) **Note:** - The content search is case-sensitive. Multiple keywords should be put within quotes. Otherwise, it will be treated as 'Any' one of the multiple keywords. If you provide two words, the content match is performed for the words separately. **For example**, if you specify the content as '*applications manager*', the match is found for '*applications*' and '*manager*' separately. If you need the content match to be performed for the complete text, specify the 2 words in quotes, like "**applications manager**". - Space character will be acting as the delimiter. - Regex content check is supported only for "Should contain" field. The "Should not contain" field supports only plain text match. - Limitation for content check is subject to 250 characters. 19. Click **Add URL Monitor** to initiate monitoring of the specified URL. **Note:** - **Security/firewall requirement** - URL should be accessible from the machine where AppManager server is running. - **User privilege** - Required credentials should be provided for reading URL response. ## Monitored Parameters To access the HTTP URL monitor in Applications Manager, navigate to the **Monitors Category View** by clicking the **Monitors** tab. Click on **HTTPs URLs Monitor** under the *Web Server/Services* table. Displayed is the bulk configuration view of the HTTP URL monitor, distributed into three tabs: - **Availability** tab gives the Availability history for the past 24 hours or 30 days. - **Performance** tab gives the Health Status and events for the past 24 hours or 30 days. - **List view** enables you to perform [bulk admin configurations](https://www.manageengine.com/products/applications_manager/help/bulk-config.html). Click on the individual monitors listed to view the monitored parameters. | Parameter | Description | |---|---| | **Monitor Information** | | | Health | Specifies the health of the monitor based on its dependencies. | | Type | Type of Monitoring | | URL address | Specifies the URL being monitored | | Match Content | The string that is searched in the resulting html page. | | Request Method | The request method sent to the HTTP/ HTTPS URL (Get or Post) | | **Monitored Parameters** | | | Availability | The current status of the URL - whether it is up or down. | | Response Time | The response time for accessing a URL. | | Current response time | The response time for accessing an URL. | | Average response time | Average response time of the URL over the last one hour. | | Current Status | Current status of the URL. Click on the icon to know its RCA details. | | Current Page Size | The current page size of the URL in bytes (only in URL monitoring) | | Previous Page Size | The page size of the URL in the previous poll. | | % Change in Page Size | The percentage change between the current page size and the previous page size. (only in URL monitoring) | | **Response Time Split Up** | | | DNS Time | The time that it takes to resolve the website's hostname to a certain IP address. If the DNS lookup time is high, it means that you or your hosting provider has a problem with their DNS servers. | | Connection Time | Once the URL has been resolved to an IP address, the connection time shows how long it takes to establish a connection to your server. The connection time helps in discovering network latency, routing issues, and server bandwidth problems. | | First Byte Time | The first byte shows how long it takes from the moment the connection was created until the first byte is about to be transferred. The time to perform any negotiations with the server and the time needed for the server to calculate the result are also included. | | Last Byte Time | Once the first byte of HTML has been received, the Web server continues to send the HTML that represents the layout of the Web page, including CSS and Java Script. Last byte time includes time till the last byte for all documents with the HTML to load. Also commonly referred to as the "Download Time" or "HTML Content Time". |