<%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.

icon-prtg-on-demandYou 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)

  • ADT_A08.hl7
  • ORM_O01.hl7

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)

  • sensor_example.py

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)

  • Demo Serveruptime.sql

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

icon-square-bluePRTG MANUAL

 

icon-square-blueKNOWLEDGE 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?

 

icon-square-bluePRTG 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