<%NUMBERING1%>.<%NUMBERING2%>.<%NUMBERING3%> PRTG Manual: Additional Sensor Types (Custom Sensors)
You can create and use your own custom sensors in PRTG to extend the standard sensor set. You can create your own sensors using Windows Management Instrumentation Query Language (WQL), visual basic scripting, PowerShell, batch scripting, Structured Query Language (SQL) queries, by compiling an .exe or .dll file (using any Windows software development tool), by running Python scripts, or by translating JavaScript Object Notation (JSON) and Extensible Markup Language (XML) responses of a Representational State Transfer (REST) application programming interface (API) into sensor values.
You cannot use custom sensors on hosted probes in PRTG hosted by Paessler (except SSH sensors). If you want to use custom sensors, add them to a remote probe device.
Basics
For a general introduction, see the sections about EXE/Script sensors and the API documentation, which contains details about the necessary return format for these sensors. WMI Custom sensors allow executing WQL requests.
Additionally, some types of SQL sensors execute script files with SQL queries:
The HL7 sensor sends messages that are stored in extra files on the probe system.
Custom Sensors Included in PRTG
After installing PRTG, you can find a selection of custom EXE/Script, Python, and WMI WQL script sensors in the PRTG program directory, as well as scripts with SQL queries for specific database sensors, REST configuration files in JSON template (*.template) format for the REST Custom sensor, and Health Level 7 (HL7) message files for the HL7 sensor. Many of the files are sample projects that you can edit and improve for your needs.
Custom Sensors Included in PRTG (\Custom Sensors\EXE Subfolder)
- Demo Batchfile - Returns 200.bat
- Demo Batchfile - Set sensorstate to error.bat
- Demo Batchfile - Set sensorstate to warning.bat
- Demo Cmd - Returns 200.cmd
- Demo Dll - Returns a random integer.dll
- Demo EXE - Returns a random integer.exe
- Demo EXE - Returns number of files in folder (parameter).exe
- Demo EXE - Returns user of process.exe
- Demo Powershell Script - Available MB via WMI.ps1
- Demo Powershell Script - InterruptsPerSec via WMI.ps1
- Demo Powershell Script - Powershell Version.ps1
- Demo Powershell Script - Returns a fixed integer value.ps1
- Demo Powershell Script - Returns a random integer value.ps1
- Demo Powershell Script - Returns Random Integer and Warnings.ps1
- Demo VBScript - InterruptsPerSec via WMI.vbs
- Demo VBScript - Multiplies two integers(2 parameters).vbs
- Demo VBScript - Returns a fixed float value.vbs
- Demo VBScript - Returns a fixed integer value.vbs
- Demo VBScript - Returns a random value.vbs
- Demo VBScript - Returns number of svchost processes.vbs
- Demo VBScript - Returns user of process.vbs
- Demo VBScript - Returns warning depending on number of svchost processes.vbs
- Demo VBScript - Timezone via WMI.vbs
- Demo VBScript - UTCTime via WMI.vbs
- Load_Test_CPU_1_Mio_Primes.exe
- Load_Test_CPU_10_Mio_Primes.exe
- Load_Test_Disk_Write_Read_1000_files.exe
- Load_Test_Disk_Write_Read_10000_files.exe
- Load_Test_Memory_Allocate_And_Free_400MB.exe
To create a new sensor based on one of these files, create a new EXE/Script sensor and choose the respective file from the EXE/Script list in the sensor settings.
Custom Sensors Included in PRTG (\Custom Sensors\EXEXML Subfolder)
- Demo Batchfile - Returns static values in four channels.bat
To create a new sensor based on one of these files, create a new EXE/Script Advanced sensor and choose the respective file from the EXE/Script list in the sensor settings.
HL7 Message Files Included in PRTG (\Custom Sensors\hl7 Subfolder)
Each file contains an HL7 message that is conform to the HL7 message format. To create a new sensor based on one of these files, create a new HL7 sensor and choose the respective file from the HL7 Messages list in the sensor settings. You can override certain message headers in the files via the sensor settings.
Custom Sensors Included in PRTG (\Custom Sensors\python Subfolder)
This Python example script only returns fixed values in two channels to demonstrate the usage. To create a new sensor based on this file, create a new Python Script Advanced sensor and choose the file from the Python Script list in the sensor settings.
Custom Sensors Included in PRTG (\Custom Sensors\rest Subfolder)
- kemp.loadbalancer.template: maps values returned by the RESTful API of a KEMP load balancer to channels, for example, CPU usage, memory usage, traffic
- prtg-sensor-stats.template: maps values returned by the PRTG API to channels that show the count of each sensor status on the local probe
- windows.docker.container.stats.template: maps values returned by the Docker Engine API to channels, for example, CPU usage, memory usage, traffic, input/output (I/O)
- wunderground.template: maps values returned by the Weather Underground API to channels, for example, temperature, dew point, pressure, wind speed, wind direction
To create a new sensor based on one of these files, create a new REST Custom sensor on the device that provides the REST API and choose the file from the REST Configuration File list in the sensor settings.
SQL Query Files Included in PRTG (\Custom Sensors\sql\<dbms> Subfolder)
You can find this demo SQL query script in each subfolder for each supported database management system (dbms): \mssql, \mysql, \oracle, \postgresql
To create a new sensor that uses one of the scripts in the dbms folders, create the according sensor (see above for supported sensors) and choose the respective file from the SQL Query File list in the sensor settings.
Custom Sensors Included in PRTG (\Custom Sensors\WMI WQL scripts Subfolder)
- Demo WQL Script - Get Win32LogicalDiscFreeMB.wql
- Demo WQL Script - Get Win32OsBuildnumber.wql
- Demo WQL Script - Get Win32PercentProcessorIdleTime.wql
- Demo WQL Script - Get Win32PercentProcessorTime.wql
To create a new sensor based on one of these files, create a new WMI Custom sensor and choose the respective file from the WQL File list in the sensor settings.
Downloading Custom Sensors
Good resources to find custom sensors that other users and we from Paessler share are the PRTG Script World and our Knowledge Base. In the Knowledge Base, search for the tag custom-script-exe to find a lot of custom sensors: Custom sensors
More
PRTG MANUAL
KNOWLEDGE BASE
Guide for PowerShell-based Custom sensors
Custom sensors
How can I share my self-written PRTG script/program with other PRTG users?
How can I test if parameters are correctly transmitted to my script when using an EXE/Script sensor?
Why do I have to store SQL sensor queries and custom scripts in files on the probe computer?
PRTG SCRIPT WORLD
You can find useful scripts for sensors in the PRTG Script World
Sensor Settings Overview
For information about sensor settings, see the following sections:
Ajax Web Interface—Device and Sensor Setup—Topics
Other Ajax Web Interface Sections