PRTG Manual: HTTP Push Data Advanced Sensor
The HTTP Push Data Advanced sensor displays data from received messages that are pushed via an HTTP request to PRTG. It provides a URL that you can use to push messages to the probe system via HTTP (secured with TLS 1.2 or not secure).
For a detailed list and descriptions of the channels that this sensor can show, see section Channel List.
- Dutch: HTTP Push Data geavanceerd
- French: Données avancées Push HTTP
- German: HTTP Push-Daten (Erweitert)
- Japanese: HTTP プッシュデータ(アドバンスト)
- Portuguese: Dados HTTP Avançado via Push
- Russian: HTTP: Данные push-объекта (Расширенный)
- Simplified Chinese: HTTP 高级推送数据
- Spanish: HTTP Push de datos Avanzado
- If you use this sensor with multiple channels, we recommend that you simultaneously push the data for all your channels to PRTG. You can push data to only one of your channels but, in this case, all other channels record the value of 0 for this push message.
- If you want to install this sensor on a remote probe and use an HTTPS connection to send push notifications, you need to make sure that you import the same Secure Sockets Layer (SSL) certificates to the \cert subfolder of the PRTG program directory on the remote probe that you use on the PRTG core server.
For more information, see the PRTG Manual: Using Your Own SSL Certificate with the PRTG Web Server
- You cannot use this sensor in cluster mode. You can only set it up on a local probe or a remote probe but not on a cluster probe.
- This sensor might result in false alerts if the parent probe disconnects from the PRTG core server. In this case, the sensor shows the error message: The latest push message that the sensor received is older than the specified time threshold allows. (code: PE222).
- This sensor supports the IPv6 protocol.
- This sensor has a low performance impact.
- For more information about the sensor usage, see the PRTG Manual: How to Use.
You cannot add this sensor to the hosted probe of a PRTG Hosted Monitor instance. If you want to use this sensor, add it to a remote probe device.
This function is known as webhook. Basically, a webhook works like a push notification. Webhooks are usually triggered by some event (for example, a new comment on a blog post) and send according information to a specified URL. The HTTP Push Data Advanced sensor then displays the data of pushed and received messages.
The data that is pushed to this sensor must be valid XML or JSON.
For details about the return value format, see section Custom Sensors.
The HTTP Push Data Advanced sensor uses the following URLs depending on the type of HTTP request.
- GET requests: http://<probe_ip>:<port_number>/<token>?content=<valid XML_or_JSON>
The XML encoded value of the content parameter has to match the format as defined in section Custom Sensors. - POST requests: http://<probe_ip>:<port_number>/<token>
This HTTP request method sends the XML or JSON encoded HTTP body as POST data. The body has to match the format as defined in section Custom Sensors. For POST requests, use an HTTP content type other than application/x-www-form-urlencoded. We strongly recommend the HTTP content type application/xml or application/json.
Replace the parameters <probe_ip>, <port_number>, <token>, and <valid XML_or_JSON> (for GET requests) with the corresponding values:
- You can define port number and identification token in the sensor settings.
- The probe IP is the IP address of the probe system with this sensor.
- The content of GET requests has to be valid XML or JSON in the PRTG API format.
The content has to be URL encoded (for example, the whitespaces in the sample URL below). Most browsers do URL-encoding automatically.
Minimum example for the GET method that returns one static channel value:
http://127.0.0.1:5050/XYZ123?content=<prtg><result><channel>MyChannel</channel><value>10</value></result><text>this%20is%20a%20message</text></prtg>
By default, values within the <value> tags in the returned XML or JSON must be integers to be processed. If float values are returned, you have to explicitly define this value type as defined in section Custom Sensors with <float> tags, otherwise the sensor shows 0 values in affected channels. Example:
http://127.0.0.1:5050/XYZ123?content=<prtg><result><channel>MyChannel</channel><value>10.45</value><float>1</float></result><text>this%20is%20a%20message</text></prtg>
You can use several sensors with the same port and identification token. In this case, the data of push messages is shown in each of these sensors.
The Add Sensor dialog appears when you manually add a new sensor to a device. It only shows the setting fields that are required for creating the sensor. Therefore, you do not see all setting fields in this dialog. You can change (nearly) all settings in the sensor's Settings tab later.
The following settings in the Add Sensor dialog differ in comparison to the sensor's Settings tab.
HTTP Push
Setting |
Description |
---|---|
SSL/TLS Settings |
Define the security of the incoming HTTP push requests:
|
Port |
This setting is only visible if you enable HTTP (unsecure) above. Enter the number of the port on which this sensor listens for incoming HTTP requests. The default port is 5050. |
SSL/TLS Port |
This setting is only visible if you enable HTTPS (secured with TLS 1.2 only) above. Enter the number of the port on which this sensor listens for incoming HTTPS requests. The default port is 5051. |
Click the Settings tab of a sensor to change its settings.
Usually, a sensor connects to the IP Address or DNS Name of the parent device on which you created the sensor. See the device settings for details. For some sensors, you can explicitly define the monitoring target in the sensor settings. See below for details on available settings.
Setting |
Description |
---|---|
Sensor Name |
Enter a meaningful name to identify the sensor. By default, PRTG shows this name in the device tree, as well as in alarms, logs, notifications, reports, maps, libraries, and tickets.
|
Parent Tags |
Shows tags that the sensor inherits from its parent device, parent group, and parent probe. This setting is for your information only. You cannot change it. |
Tags |
Enter one or more tags. Confirm each tag with the Spacebar key, a comma, or the Enter key. You can use tags to group objects and use tag-filtered views later on. Tags are not case-sensitive. Tags are automatically inherited.
The sensor has the following default tags that are automatically predefined in the sensor's settings when you add the sensor:
|
Priority |
Select a priority for the sensor. This setting determines the position of the sensor in lists. The highest priority is at the top of a list. Choose from the lowest priority ( |
Setting |
Description |
---|---|
SSL/TLS Settings |
Shows whether the sensor accepts push messages via HTTP or HTTPS. Once you have created the sensor, you cannot change this value. It is shown for reference purposes only. If you need to change this value, add the sensor anew. |
Port |
This setting is only visible for sensors that accept push messages via HTTP. It shows the port number on which this sensor listens for incoming HTTP requests. Once you have created the sensor, you cannot change this value. It is shown for reference purposes only. If you need to change this value, add the sensor anew. |
SSL/TLS Port |
This setting is only visible for sensors that accept push messages via HTTPS. It shows the port number on which this sensor listens for incoming HTTPS requests. Once you have created the sensor, you cannot change this value. It is shown for reference purposes only. If you need to change this value, add the sensor anew. |
Request Method |
Select the request method of your webhook:
|
Identification Token |
This is the token that is used to find the matching sensor for the incoming message. When you create the sensor, this token is {__guid__}. This token is replaced with an automatically generated token after you have completed the sensor creation. If you want to use a different identification token, you can edit it during or after sensor creation.
|
Request Handling |
Define what PRTG does with the incoming messages:
|
Setting |
Description |
---|---|
No Incoming Data |
Define which status the sensor shows if it has not received a push message for at least two sensor scans:
|
Time Threshold (Minutes) |
This setting is only visible if you enable Switch to down status after x minutes above. Enter a time threshold in minutes. If this time elapses, the sensor shows a Down status if it has not received a push message within this time span. Enter an integer value. The maximum threshold is 1440 minutes. |
Setting |
Description |
---|---|
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 is always displayed below the sensor's name. The available options depend on what channels are available for this sensor.
|
Graph Type |
Define how different channels are shown for this sensor:
|
Stack Unit |
This setting is only visible if you enable Stack channels on top of each other as Graph Type. Select a unit from the list. All channels with this unit are 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. |
By default, all of the following settings are inherited from objects that are higher in the hierarchy. You should change them centrally in the root group settings if necessary. To change a setting for this object only, click under the corresponding setting name to disable the inheritance. You then see the options described below.
For more information, see section Inheritance of Settings.
Click to interrupt the inheritance.
Setting |
Description |
---|---|
Scanning Interval |
Select a scanning interval from the dropdown list. The scanning interval determines the amount of time that the sensor waits between two scans. Choose from:
|
If a Sensor Query Fails |
Select the number of scanning intervals that the sensor has time to reach and to check a device again if a sensor query fails. Depending on the option that you select, the sensor can try to reach and to check a device again several times before the sensor shows the Down status. This can avoid false alarms if the monitored device only has temporary issues. For previous scanning intervals with failed requests, the sensor shows the Warning status. Choose from:
|
Schedules, Dependencies, and Maintenance Windows
You cannot interrupt the inheritance for schedules, dependencies, and maintenance windows. The corresponding settings from the parent objects are always active. However, you can define additional schedules, dependencies, and maintenance windows. They are active at the same time as the parent objects' settings.
Setting |
Description |
---|---|
Schedule |
Select a schedule from the list. You can use schedules to monitor during a certain time span (days or hours) every week. Choose from:
|
Maintenance Window |
Select if you want to set up a one-time maintenance window. During a maintenance window, monitoring stops for the selected object and all child objects. They show the Paused status instead. Choose between:
|
Maintenance Begins |
This setting is only visible if you enable Set up a one-time maintenance window above. Use the date time picker to enter the start date and time of the one-time maintenance window. |
Maintenance Ends |
This setting is only visible if you enable Set up a one-time maintenance window above. Use the date time picker to enter the end date and time of the one-time maintenance window. |
Dependency Type |
Select a dependency type. You can use dependencies to pause monitoring for an object depending on the status of a different object. You can choose from:
|
Dependency |
This setting is only visible if you enable Select a sensor above. Click |
Dependency Delay (Sec.) |
This setting is only visible if you enable Select a sensor above. Define a time span in seconds for the dependency delay. After the master sensor for this dependency returns to the Up status, PRTG additionally delays the monitoring of the dependent objects by the time span you define. This can prevent false alarms, for example, after a server restart or to give systems more time for all services to start. Enter an integer value.
|
Click to interrupt the inheritance.
Setting |
Description |
---|---|
User Group Access |
Define the user groups that have access to the sensor. You see a table with user groups and group access rights. The table contains all user groups in your setup. For each user group, you can choose from the following group access rights:
|
Which channels the sensor actually shows might depend on the monitored device, the available components, and the sensor setup.
Channel |
Description |
---|---|
Downtime |
In the channel table on the Overview tab, this channel never shows any values. PRTG uses this channel in graphs and reports to show the amount of time in which the sensor was in the Down status in percent. |
[Value] |
The data received from the message encoded in valid Extensible Markup Language (XML) or JavaScript Object Notation (JSON) in several channels
|
KNOWLEDGE BASE
What security features does PRTG include?
My HTTP sensors don't work. What can I do?
For more information about sensor settings, see the following sections: