PRTG Manual: Script v2 Sensor
The Script v2 sensor runs a Python script (.py) on the probe system.
The return result of this sensor must comply with the provided JavaScript Object Notation (JSON) schema. For more information, see the Remarks below.
For a detailed list and descriptions of the channels that this sensor can show, see section Channel List.
- Dutch: Script v2
- French: Script v2
- German: Skript v2
- Japanese: スクリプト v2
- Portuguese: Script v2
- Russian: Скрипт v2
- Simplified Chinese: Script v2
- Spanish: Script v2
Consider the following remarks and requirements for this sensor:
Remark |
Description |
---|---|
Python |
This sensor requires that Python is installed for the Windows user account that the probe runs under. |
File storage |
This sensor requires that you store the script file on the probe system. In a cluster, copy the file to every cluster node. You must store the script file in the \Custom Sensors\scripts subfolder of the PRTG program directory of the probe system on Windows systems or in the /opt/paessler/share/scripts directory of the probe system on Linux systems. |
Channel IDs |
This sensor supports the channel IDs 10 to 2,147,483,647. |
IPv6 |
This sensor supports IPv6. |
Channels |
This sensor supports up to 50 channels. |
Placeholders |
You can define placeholders in credentials for script sensors settings that are higher in the object hierarchy. |
Performance impact |
This sensor has a medium performance impact. |
Lookups |
This sensor uses lookups to determine the status values of one or more channels. |
Parameters |
This sensor invokes all scripts with the -E parameter as a security measure. This parameter ignores all python* environmental variables when starting the script. |
Example scripts |
This sensor comes with example scripts. For more information, see the Knowledge Base: I want to use the Script v2 sensor example scripts. What do I need to know? |
JSON schema |
For more information about the JSON schema that this sensor uses, see the Knowledge Base: Where can I find the JSON schema against which the Script v2 sensor validates my script output? |
Scanning interval |
|
Hosted probe |
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. |
Multi-platform probe |
You can add this sensor to a multi-platform probe. |
The sensor has the following default tags that are automatically predefined in the sensor's settings when you add the sensor:
- exesensor
For more information about basic sensor settings, see section Sensor Settings.
Setting |
Description |
---|---|
Name |
Select one or more Python scripts from the list. PRTG creates one sensor for each script that you select. The sensor executes it with every scanning interval. This list shows all Python script files that are available in the \Custom Sensors\scripts subfolder of the PRTG program directory of the probe system on Windows systems or in the /opt/paessler/share/scripts directory of the probe system on Linux systems. For the files to appear in this list, store the files in this subfolder with the extension .py. To show the expected values and sensor status, your scripts must return the expected JSON format to standard output (stdout). The Script v2 sensor validates the results that the script returns against the provided JSON schema. For more information, see the Knowledge Base: Where can I find the JSON schema against which the Script v2 sensor validates my script output?. If you use custom sensors on the cluster probe, copy your files to every cluster node. You cannot change this value after sensor creation. |
Type |
The type of the script file. |
Setting |
Description |
---|---|
Timeout (Sec.) |
Enter a timeout in seconds for the request. Enter an integer. The maximum timeout value is 900 seconds (15 minutes). If the reply takes longer than this value, the sensor cancels the request and shows a corresponding error message. |
Parameters |
If your script file uses parameters, you can enter them here. You can use placeholders as well. Enter a string or leave the field empty. You can define placeholders in the credentials for script sensors in the settings of a parent object and use the %host and %sensorid placeholders. The sensor replaces the parameters with their values and passes them to the script as strings via stdin. |
Setting |
Description |
---|---|
Primary Channel |
Select a channel from the list to define it as the primary channel. In the device tree, PRTG displays the last value of the primary channel below the sensor's name. The available options depend on what channels are available for this sensor. You can set a different primary channel later by clicking below a channel gauge on the sensor's Overview tab. |
Graph Type |
Define how this sensor shows different channels:
|
Stack Unit |
This setting is only visible if you select Stack channels on top of each other above. Select a unit from the list. PRTG stacks all channels with this unit 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. |
Setting |
Description |
---|---|
Result Handling |
Define what PRTG does with the sensor result:
If you select Store result, the sensor writes the standard error (stderr) streams in clear text to the last sensor result file. Do not return sensitive information via the scripts that you run with this sensor. In a cluster, PRTG stores the result in the PRTG data directory of the master node. |
By default, all of these settings are inherited from objects that are higher in the hierarchy. We recommend that you 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 and to display its options.
For more information, see section Inheritance of Settings.
Which channels the sensor actually shows might depend on the target 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 |
Execution Time |
The execution time of the script |
Status |
The status that the script returns
This channel is the primary channel by default. |
[Value] |
The values that the script file returns in several channels |
KNOWLEDGE BASE
What security features does PRTG include?
I want to use the Script v2 sensor example scripts. What do I need to know?
Where can I find the JSON schema against which the Script v2 sensor validates my script output?