<%NUMBERING1%>.<%NUMBERING2%>.<%NUMBERING3%> 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.
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.
The HTTP sensor uses different HTTP requests to request the specified URL.
GET: 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.
This 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
For 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.
If 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.
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.
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.
For details 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
You 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.