PRTG Manual: Monitoring via HTTP

HTTP is a standard application layer protocol and the basis for data communication on the internet. It is a request-response method for client-server architectures, where the client sends a request and the server processes and responds to the request.

Monitoring via HTTP is useful if you want to monitor websites or web servers. It enables you to keep an eye on the availability and download times of a website or the performance statistics of a web server. There are also a lot of other possible use cases for HTTP sensors. For example, you can request any application programming interface (API) that is reachable via HTTP and monitor returned values. This approach lets you include almost any type of device or application into your monitoring.

PRTG comes with sensors for HTTP monitoring:

Use Cases

  • Monitor the availability and loading times of a website
  • Monitor the source code and specific content of a website
  • Test the login, purchasing, and shipping processes of a web shop
  • Monitor performance statistics and activity of Apache web servers

Types of HTTP Monitoring

Availability Monitoring

This type monitors the availability of a website or a specific website element. For example, the HTTP sensor shows how long the HTML code of a website takes to load. If the sensor shows a loading time that is much longer than expected, the website might not be responding or might be unavailable.

Cloud Monitoring with HTTP Provides Better Performance Statistics

Cloud Monitoring with HTTP Provides Better Performance Statistics

The HTTP sensor uses different HTTP requests to request the specified URL:

  • GET (default): requests the website directly
  • POST: sends post form data to the URL
  • HEAD: requests the HTTP header only, without the actual web page body, saving bandwidth

The HTTP Advanced sensor also monitors the availability of a website, along with other parameters such as bytes received, download bandwidth (speed), and time to first byte, which shows you how fast your web server responds. This sensor lets you use a (custom) user agent when connecting to the target URL and lets you send custom HTTP headers to the target URL.

The Cloud HTTP v2 sensor monitors a web server from various locations across the globe. For example, the URL of a website to measure the loading time of a page’s source code or the URL of a page asset to measure its availability and loading time. The sensor also shows the global average response time.

The Common SaaS monitors the availability of your cloud services and is an important pillar for unified monitoring.

Content Monitoring

This type monitors internal values of a web server based application or changes to specific content on a website. The HTTP Full Web Page sensor measures the time it takes to download a web page including all embedded page elements, for example Flash content or images.

i_round_blueThis monitoring option can create a lot of bandwidth traffic, depending on the page size and the scanning interval.

Additionally, the HTTP Content sensor monitors a numeric value returned by an HTTP request. It can also optionally trigger a ‘change’ notification to notify you of changes to the content.

Example: Content Monitoring

i_speechFor example, consider a URL http://www.example.com/status.html that returns a PHP script with the current system status in a simple HTML page.

<html>
<body>
 Description: Script gives back current status of disk free (%) and CPU usage (%).
 [85.5][12.0]
</body>
</html>

You would configure the HTTP Content sensor using

  • the script URL from above,
  • value type Float,
  • and number of channels 2.

The sensor calls the URL with every scanning interval and only regards the two values in brackets [ ], handling each of them in one channel. The additional description text and HTML tags are not necessary. In this example, they are added in case a human calls the URL.

i_round_blueIf you define the number of channels as 1, the sensor only reads the first value. The second value is ignored. Using 3 as number of channels results in a sensor error message.

To be notified when the website content changes, you first need to configure a Trigger 'change' notification in the sensor's settings and then the notification itself.

i_square_cyanFor more information, see section Notification Triggers Settings.

Performance Monitoring

The HTTP Transaction sensor checks if a web shop is working as expected: with a series of requests, for example, you can simulate the login, purchasing, and shipping processes. Only if all actions can be completed successfully in a row, the check returns an "OK" message. If anything goes wrong, you are immediately alerted and can react instantly to avoid loss of earnings for your company because the web shop is unavailable or very slow.

Apache Web Server Monitoring

The HTTP Apache ModStatus PerfStats and HTTP Apache ModStatus Totals sensors monitor performance statistics and the activity of an Apache web server using mod_status over HTTP. Among other HTTP sensors, these sensors let you enter credentials for web pages that need authentication and let you choose the necessary authentication method.

Security Monitoring

PRTG also provides the option to monitor the security of your website by checking the status of Secure Sockets Layer (SSL) certificates and the security of a connection:

  • SSL Certificate sensor: monitors the certificate of an SSL/TLS-secured connection. For example, it displays whether a certificate has been revoked, or is trusted as root authority, or is self-signed.
  • SSL Security Check sensor: monitors the SSL connectivity to the port of a device. It tries to connect to the specified TCP/IP port number of a device with different SSL/TLS versions and shows if a specific protocol is supported.

Push Monitoring

PRTG provides the option to monitor passively received data. For this purpose, you can set up a device in a way that it automatically sends the data to PRTG. Specific sensors can receive this data and alert you based on your individual settings. For example, all Linux/Unix and most network devices support remote devices generating data, which has to be configured on each device, and sending the messages to a probe system. Usually, only the destination IP and port are required.

i_square_cyanFor more information, see the Paessler website: How to use push monitoring via HTTP.

Other Data

You can also monitor other types of data from your website, for example the number of website visitors via the HTTP XML/REST Value sensor. The sensor lets you monitor values within the returned Extensible Markup Language (XML) code, provided your web analytics tool has an XML export option. The HTTP Data Advanced sensor accesses a web server and retrieves XML or JavaScript Object Notation (JSON) encoded data.

The REST Custom sensor queries a Representational State Transfer (REST) application programming interface (API) endpoint and maps the JSON or XML result to sensor values. The mapping rule has to be available as a REST configuration file in JSON template (*.template) format according to the PRTG API definition.

i_square_cyanFor more information about the return value format, see section Custom Sensors.

HTTP Status Codes

The HTTP sensors show their status depending on the HTTP status codes that they receive. By default, the sensor states are the following:

HTTP Status Code

HTTP Sensor Status

2xx Success

Up

3xx Redirection

Warning, Down for too many redirects)

4xx Client Error

Down

5xx Server Error

Down

i_round_blueYou need to configure your HTTP sensors manually only if you want to change these default reactions. In this case, you can change the sensor status based on limits and/or keyword checks.

Other HTTP Sensor Settings

  • Server Name Indication: You can configure SNI, which has to be a fully qualified domain name (FQDN) and must match the configuration of the target server. For more information, see the Knowledge Base: My HTTP sensors fail to monitor websites which use SNI. What can I do?
  • HTTP Version: You can choose the HTTP version that the sensor uses when connecting to the target URL.
  • Authentication Method: You can define if the configured URL needs authentication, enter credentials, and choose an authentication method.
  • Custom User Agent: You can enter a string to be used as user agent when connecting to the target URL.
  • Custom HTTP Headers: You can send custom HTTP headers to the target URL.

HTTP Sensor Troubleshooting

For troubleshooting and other tips for monitoring with HTTP sensors, see More below.

More

i_square_blueKNOWLEDGE BASE

My HTTP sensors fail to monitor websites which use SNI. What can I do?

Which user agent should I use in the HTTP Advanced sensor's settings?

HTTP Full Web Page sensor is unable to navigate. What can I do?

What to do when I see a CreateUniqueTempDir() error message for my HTTP Full Web Page sensor?

Where can I find more information about the HTTP XML/REST Value sensor?

Why does my HTTP XML/REST Value sensor return a 404 error?