The Script v2 sensor runs a script or native executable 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.
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
Consider the following remarks and requirements for this sensor:
Remark
Description
File storage
This sensor requires that you store the script or native executable file on the probe system. In a cluster, copy the file to every cluster node.
You must store the script or native executable 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.
Python
To run Python scripts, this sensor requires that Python 3 is installed for the user account that the probe runs under.
PowerShell
To run PowerShell scripts, this sensor requires that 64-bit PowerShell 7 is installed for the user account that the probe runs under.
By default, the sensor automatically detects the PowerShell 7 installation. To use a specific PowerShell executable instead, set the environment variable PRTG_PWSH_PATH. On Windows systems, you can alternatively set the PowerShellPath value in the probe registry. If the specified path does not exist, the sensor ignores the override and falls back to automatic detection.
Executables on Linux
On Linux systems, executables require execute permissions to run.
proc filesystem (procfs)
This sensor requires the target device to have the proc file system (procfs) mounted at /proc. If procfs is not mounted, or is mounted elsewhere, sensor readings may fail or return incomplete data.
This requirement applies only if the environment variable PAESSLER_SENSOR_EXE_SCRIPT_ROOT is not set.
Channel IDs
This sensor supports the channel IDs 10 to 2,147,483,647.
IPv6
This sensor supports IPv6.
Channels
This sensor does not officially support more than 50 channels.
Unlike native executables and Python scripts, a PowerShell script does not receive placeholder values on the command line or in the Parameters field. Instead, PRTG passes the placeholder values to the script via standard input (stdin). To retrieve a specific value in your script, use the corresponding Get-ScriptPlaceholder1 to Get-ScriptPlaceholder5 function.
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 Python scripts with the -E parameter as a security measure. This parameter ignores all python* environment variables when starting the script.
The minimum scanning interval of this sensor is 30 seconds.
The recommended scanning interval of this sensor is 1 minute.
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.
Basic Sensor Settings
Basic Sensor Settings
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.
Script Specific
Script Specific
Setting
Description
Name
Select one or more scripts or native executables from the list. PRTG creates one sensor for each file that you select. The sensor executes it with every scanning interval.
This list shows all script and native executable 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. To have your scripts and native executables appear in the list, store them in this subfolder. For Python scripts, use the .py extension, for PowerShell scripts, use the .ps1 extension, and for native executables, use the appropriate file extension for your system.
To show the expected values and sensor status, your scripts and native executables must return the expected JSON format to standard output (stdout). The Script v2 sensor validates the results that the script or native executable returns against the provided JSON schema. For more information, see the Knowledge Base:Where can I find the JSON schema against which a 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 or executable 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 or native executable 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 or native executable 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, 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:
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. 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.
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 sensor result and the last response 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.
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 or native executable
Status
The status that the script or native executable 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 or native executable file returns in several channels