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.
This sensor is in beta status. The operating methods and the available settings are still subject to change. Do not expect that all functions work properly, or that this sensor works as expected at all.
Script v2 Sensor
For a detailed list and descriptions of the channels that this sensor can show, see section Channel List.
Sensor in Other Languages
Dutch: Script v2
French: Script v2
German: Skript v2
Japanese: スクリプト v2
Portuguese: Script v2
Russian: Скрипт v2
Simplified Chinese: Script v2
Spanish: Script v2
Remarks
This sensor requires that the Beta Sensors experimental feature is enabled.
This sensor requires that Python is installed on the probe system.
This sensor requires that you store the script file on the probe system. In a cluster, copy the file to every cluster node.
This sensor supports the channel IDs 10 to 2,147,483,647.
This sensor uses lookups to determine the status values of one or more channels.
This sensor invokes all scripts with the -E parameter as a security measure. This parameter ignores all python* environmental variables when starting the script.
This sensor requires that Python is installed for the Windows user account that the probe runs under.
Script
This sensor requires that the script file is stored 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.
If the name contains angle brackets (<>), PRTG replaces them with braces ({}) for security reasons. For more information, see the Knowledge Base: What security features does PRTG include?
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.
It is not possible to enter tags with a leading plus (+) or minus (-) sign, nor tags with parentheses (()) or angle brackets (<>).
For performance reasons, it can take some minutes until you can filter for new tags that you added.
The sensor has the following default tags that are automatically predefined in the sensor's settings when you add the sensor:
exesensor
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 () to the highest priority ().
Script Specific
Script Specific
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.
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.
Script Settings
Script Settings
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.
Sensor Display
Sensor Display
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.
You can set a different primary channel later by clicking below a channel gauge on the sensor's Overview tab.
Graph Type
Define how different channels are shown for this sensor:
Show channels independently (default): Show a 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 generates a graph that visualizes the different components of your total traffic. You cannot use this option in combination with manual Vertical Axis Scaling (available in the channel settings).
Stack Unit
This setting is only visible if you select Stack channels on top of each other above.
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.
Debug Options
Debug Options
Setting
Description
Result Handling
Define what PRTG does with the sensor result:
Discard result (default): Do not store the sensor result.
Store result: Store the last sensor result in the \Logs\sensors subfolder of the PRTG data directory on the probe system. The file name is Result of Sensor [ID].log. This setting is for debugging purposes. PRTG overwrites this file with each scanning interval.
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.
Inherited Settings
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.
The minimum scanning interval of this sensor is 30 seconds.
The recommended scanning interval of this sensor is 1 minute.
Scanning Interval
For more information, see section Root Group Settings, section Scanning Interval.
Schedules, Dependencies, and Maintenance Window
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.
Schedules, Dependencies, and Maintenance Window
For more information, see section Root Group Settings, section Schedules, Dependencies, and Maintenance Window (default).
Access Rights
Access Rights
For more information, see section Root Group Settings, section Access Rights.
Channel Unit Configuration
Which channel units are available depends on the sensor type and the available parameters. If no configurable channels are available, this field shows No configurable channels.
Channel Unit Configuration
For more information, see section Root Group Settings, section Channel Unit Configuration.
Channel List
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
Up status: OK
Warning status: Warning
Down status: Error
Unknown status: Unknown
This channel is the primary channel by default.
[Value]
The values that the script file returns in several channels