PRTG Manual: HTTP Advanced Sensor

The HTTP Advanced sensor monitors the source code of a web page using Hypertext Transfer Protocol (HTTP). It supports authentication, content checks, and other advanced parameters. It shows the loading time, bytes received, download bandwidth (speed), and time to first byte.

Add Sensor

The Add Sensor dialog appears when adding a new sensor on a device manually. It only shows the setting fields that are imperative for creating the sensor. Therefore, you will not see all setting fields in this dialog. You can change all settings in the sensor's Settings tab later.

Sensor Settings

On the sensor's details page, click on the Settings tab to change settings.

Note: If not set explicitly in a sensor's settings, it will connect to the IP Address or DNS Name defined in the settings of the parent device the sensor is created on.

Basic Sensor Settings

Sensor Name

Enter a meaningful name to identify the sensor. The name will be shown by default in the device tree and in all alarms.

Tags

Enter one or more tags, separated by space or comma. You can use tags to group sensors and use tag-filtered views later on. Tags are not case sensitive. We recommend using the default value. You can add additional tags to it, if you like. Other tags are automatically inherited from objects further up in the device tree. Those are not visible here.

Priority

Select a priority for the sensor. This setting determines where the sensor will be placed in sensor lists. Top priority will be at the top of a list. You can choose from one star (low priority) to five stars (top priority).

HTTP Specific

Timeout (sec.)

Enter a timeout in seconds for the HTTP request. If the reply takes longer than this value the request is aborted and an error message is triggered.

URL

Please enter the URL the sensor will connect to. This address can be independent from the IP address/DNS name setting of the device this sensor is created on. You can enter an URL leading to a webpage (to measure the page source code's loading time), or enter the URL of an image or of another page asset to measure this element's availability and loading time. PRTG uses a smart URL replacements which allows you to use the parent device's IP address/DNS name setting as part of the URL. For more information, please see section Smart URL Replacement below.

Request Method

The request method determines how the given URL is requested.

  • GET: Request the website directly, like browsing the web. We recommend using this setting for a simple check of a web page.
  • POST: Send post form data to the URL. If this setting is chosen, you must enter the data that will be sent in the Postdata field below.
  • HEAD: Only request the HTTP header from the server; without the actual web page. Although this saves bandwidth since less data is transferred, it is not recommended because the measured request time is not the one experienced by your users and you might not be notified for slow results or timeouts.

Postdata

This field is only active when POST is selected in the Request Method setting above. Please enter the data part for the post request here. Note: No XML is allowed here!

SSL Method

This setting is relevant only when using https in the URL field. We recommend using the default value. If you experience connection problems, please select another SSL method from the drop down menu. Choose between:

  • SSL V2
  • SSL V2 or V3: This is the default setting.
  • SSL V3
  • TLS V1

Advanced Sensor Data

Protocol Version

Define the HTTP protocol version that will be used when connecting to the URL. Choose between:

  • HTTP 1.0
  • HTTP 1.1: This is the default setting.

User Agent

Choose which user agent string will be sent by this sensor when connecting to the URL defined above. Choose between:

  • Use PRTG's Default String: Do not enter a specific user agent, use default setting. Usually, this is: Mozilla/5.0 (compatible; PRTG Network Monitor (www.paessler.com); Windows)
  • Use a Custom String: Use a custom user agent. Define below.

Custom User Agent

This field is only visible if custom user agent is enabled above. Enter a string which will be used as user agent when connecting to the URL specified above.

Content Changes

Define what will be done in case the content of the monitored web page (element) changes. You can choose between:

  • Ignore changes: No action will be taken on change.
  • Trigger 'change' notification: The sensor will send an internal message indicating that the web page content has changed. In combination with a Change Trigger, you can use this mechanism to trigger a notification whenever the web page content changes.

Check For Existing Key Words (Positive)

Define whether the the result at the configured URL will be checked for keywords. Choose between:

  • Disable: Do not search for keywords.
  • Enable key word check (positive): In the result returned at the URL, check if a key word exists.

Response Must Include

This field is only visible if keyword checking is enabled above. Define which string must be part of the source code at the given URL. You can either enter plain text or a Regular Expression. If the data does not include the search pattern, the sensor will be set to an error state. Please enter a string.

For Key Word Search Use

Define in which format you have entered the search expression in the field above.

  • Plain Text: Search for the string as plain text. The characters * and ? work here as placeholder, whereas * stands for no or any number of characters and ? stands for exactly one character (as known from Windows search). This behavior cannot be disabled, so the literal search for these characters is not possible with plain text search.

Check For Existing Key Words (Negative)

Define whether the the result at the configured URL will be checked for keywords. Choose between:

  • Disable: Do not search for keywords.
  • Enable key word check (negative): In the result returned at the URL, check if a key word does not exist.

Response must not include

This field is only visible if keyword checking is enabled above. Define which string must not be part of the source code at the given URL. You can either enter plain text or a Regular Expression. If the data does include this string, the sensor will be set to an error state. Please enter a string.

For Key Word Search Use

Define in which format you have entered the search expression in the field above.

  • Plain Text: Search for the string as plain text. The characters * and ? work here as placeholder, whereas * stands for no or any number of characters and ? stands for exactly one character (as known from Windows search). This behavior cannot be disabled, so the literal search for these characters is not possible with plain text search.

Limit Download (kb)

Enter a maximum amount of data that will be transferred per every single request. If you set content checks, please be aware that only the content downloaded up to this limit can be checked for search expressions.

Result Handling

Define what will be done with the web page loaded at the given URL. Choose between:

  • Discard HTML result: Do not store the requested web page.
  • Store latest HTML result: Store the last result of the requested web page to the "Logs (System)" directory (on the Master node, if in a cluster). This is for debugging purposes, especially in combination with content checks. The file will be overridden with each scanning interval. For information on how to find the folder used for storage, please see Data Storage section.

Note: This sensor loads the source code at the given URL. If you set up a content check, only this source code is checked for the keywords. The code is not necessarily identical to the one used to display the page when opening the same URL in a web browser, as there may be a reload configured or certain information may be inserted after loading, e.g. via Javascript. PRTG does not follow links to embedded objects nor does it execute scripts. Only the first page at the given URL is loaded and checked against the expressions configured. For debugging, please use the Result option to write the source code file to disk and look up what exactly PRTG gets when calling the URL. If the URL configured does not point to a web page, but to a binary file, for example, to an image, you usually won't check for content.

Authentication

Authentication

Define if the web page at the configured URL need authentication. Choose between:

  • No authentication needed
  • Web page needs authentication

User

This field is only visible if authentication is enabled above. Enter a username. Please enter a string.

Password

This field is only visible if authentication is enabled above. Enter a password. Please enter a string.

Authentication Method

This field is only visible if authentication is enabled above. Please select the authentication method the given URL is protected with. Choose between:

  • Basic access authentication (HTTP): Use simple HTTP authentication. This is the default setting and suitable for most cases. Note: This authentication method will transmit credentials as plain text!
  • Windows NT LAN Manager (NTLM): Use the Microsoft NTLM protocol for authentication. This is sometimes used in Intranets for single sign-on.

We recommend using the default value.

Sensor Display

Primary Channel

Select a channel from the list to define it as the primary channel. In the device tree, the last value of the primary channel will always be displayed underneath the sensor's name. The available options depend on what channels are available for this sensor.

Chart Type

Define how different channels will be shown for this sensor.

  • Show channels independently (default): Show an own graph for each channel.
  • Stack channels on top of each other: Stack channels on top of each other to create a multi-channel graph. This will generate an easy-to-read graph which visualizes the different components of your total traffic. Note: This option cannot be used in combination with manual Vertical Axis Scaling (available in the Sensor Channels Settings settings).

Stack Unit

This setting is only available if stacked graphs are selected above. Choose a unit from the list. All channels with this unit will be stacked on top of each other. By default, you cannot exclude single channels from stacking, if they use the selected unit. However, there is an advanced procedure to do so.

Inherited Settings

By default, all following settings are inherited from objects higher in the hierarchy and should be changed there, if necessary. Often, best practice is to change them centrally in the Root group's settings. To change a setting for this object, disable inheritance by clicking on the check mark symbol in front of the respective setting name. You will then see the options described below.

HTTP Proxy Settings

HTTP Proxy Settings

The proxy settings determine how a sensor connects to a given URL. You can enter data for a proxy server that will be used when connecting via HTTP or HTTPS.

Name

Enter the IP address or DNS name of the proxy server to use. If you leave this field empty, no proxy will be used.

Port

Enter the port number of the proxy. Often, port 8080 is used. Please enter an integer value.

User

If the proxy requires authentication, enter the username for the proxy login. Note: Only basic authentication is available! Please enter a string or leave the field empty.

Password

If the proxy requires authentication, enter the password for the proxy login. Note: Only basic authentication is available! Please enter a string or leave the field empty.

Scanning Interval

Scanning Interval

The scanning interval determines the time the sensor waits between two scans. Select a scanning interval (seconds, minutes, or hours) from the list. You can change the available intervals in the system administration.

Schedules and Dependencies

Schedule

Select a schedule from the list. Schedules can be used to pause monitoring for a certain time span (days, hours) throughout the week. You can create new schedules and edit existing ones in the account settings. Note: Schedules are generally inherited. New schedules will be added to existing ones, so all schedules are active.

Dependency Type

Define a dependency type. Dependencies can be used to pause monitoring for an object depending on the status of another. You can choose between:

  • Use parent: Pause the current sensor if the device it is created on is in a Down status, or if it is paused by another dependency.
  • Select object: Pause the current sensor if the device it is created on is in an Down status, or if it is paused by another dependency. Additionally, pause the current sensor if a specific other object in the device tree is in a Down status, or if it is paused by another dependency. Select below.
  • Master object for parent: Make this sensor the master object for its parent device. The sensor will influence the behavior of the device it is created on: If the sensor is in a Down status, the device will be paused. For example, it is a good idea to make a Ping sensor the master object for its parent device to pause monitoring for all other sensors on the device in case the device cannot even be pinged. Additionally, the sensor will be paused if the parent group of its parent device is in a Down status, or if it is paused by another dependency.

Note: Testing your dependencies is easy! Simply choose Simulate Error Status from the context menu of an object that other objects depend on. A few seconds later all dependent objects should be paused.

Dependency

This field is only visible if the select object option is enabled above. Click on the reading-glass symbol and use the object selector to choose an object on which the current sensor will be dependent on.

Inherit Access Rights

User Group Access

Define which user group(s) will have access to the object you're editing. A table with user groups and right is shown; it contains all user groups from your setup. For each user group you can choose from the following access rights:

  • Inherited: Use the settings of the parent object.
  • None: Users in this group cannot see or edit the object. The object does not show up in lists and in the device tree. Exception: If a child object is visible to the user, the object is visible in the device tree, though not accessible.
  • Read: Users in this group can see the object and review its monitoring results.
  • Write: Users in this group can see the object, review its monitoring results, and edit the object's settings. They cannot edit access rights settings.
  • Full: Users in this group can see the object, review its monitoring results, edit the object's settings, and edit access rights settings.

You can create new user groups in the System Administration—User Groups settings. To automatically set all objects further down in the hierarchy to inherit this object's access rights, set a check mark for the Revert children's access rights to inherited option.

Channel Unit Configuration

Channel Unit Types

For each type of sensor channel, define the unit in which data is displayed. If defined on probe, group, or device level, these settings can be inherited to all sensors underneath. You can set units for the following channel types (if available):

  • Bandwidth
  • Memory
  • Disk
  • File
  • Custom

Note: Custom channel types can be set on sensor level only.

Smart URL Replacement

Instead of entering a complete address in the URL field of an HTTP sensor, you can merely enter the protocol followed by colon and three slashes (that means you can enter either http:/// or https:/// or even a simple slash / as equivalent for http:///). PRTG will then fill in the parent device's IP address or DNS name in front of the third slash automatically. Whether this results in a valid URL or not, depends on the IP address or DNS name of the device where this HTTP sensor is created on. In combination with cloning devices, the smart URL replacement makes it easy to create many like devices.

For example, if you create a device with DNS name www.example.com and you put a HTTP sensor on it with the value https:/// in the URL field, PRTG will automatically create the URL https://www.example.com/ from that. Similarly, if you create a HTTP sensor on the same device using the value /help in the URL field, PRTG will automatically create and monitor the URL http://www.example.com/help

Note: Smart URL replacement does not work for sensors running on the "Probe Device".)

More

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

Channels

Click on the Channels tab to change display settings, spike filter, and limits. For detailed information, please see Sensor Channels Settings section.

Notifications

Click on the Notifications tab to change notification triggers. For detailed information, please see Sensor Notifications Settings section.

Others

For more general information about settings, please see Object Settings section.

Sensor Settings Overview

For information about sensor settings, please see the following sections:

Continue

Keywords: