PRTG Manual: SNMP Custom String Sensor
The SNMP Custom String sensor monitors a string returned by a specific object identifier (OID) via the Simple Network Management Protocol (SNMP). It can check for keywords. If you want to set limits to the channel value, you can also extract a numeric value contained in the string.
The sensor can show the following:
- Response time of the monitored device
- A value extracted from the string (optionally)
In the sensor message, the sensor shows the string you search for and the reason for a Warning or Down status.
The SNMP Library sensor automatically creates SNMP Custom String sensors when the imported Management Information Base (MIB) file contains string values.
- Dutch: SNMP Aangepaste Tekenreeks
- French: Chaîne personnalisée SNMP
- German: SNMP-Zeichenfolge
- Japanese: SNMP カスタム文字列
- Portuguese: Sequência de caracteres customizada SNMP
- Russian: SNMP: строка ответа
- Simplified Chinese: SNMP 自定义字符串
- Spanish: Cadena personalizada de SNMP
- It might not work to query data from a probe device via SNMP (querying localhost, 127.0.0.1, or ::1). Add this device to PRTG with the IP address that it has in your network and create the SNMP sensor on this device instead.
- For an example, see section Number Extraction with Regular Expression
- This sensor supports the IPv6 protocol.
- This sensor has a very low performance impact.
- See the Knowledge Base: How do I find out which OID I need for an SNMP Custom sensor?
The Add Sensor dialog appears when you manually add a new sensor to a device. It only shows the setting fields that are required for creating the sensor. Therefore, you do not see all setting fields in this dialog. You can change (nearly) all settings in the sensor's Settings tab later.
Click the Settings tab of a sensor to change its settings.
Usually, a sensor connects to the IP Address or DNS Name of the parent device on which you created the sensor. See the device settings for details. For some sensors, you can explicitly define the monitoring target in the sensor settings. See below for details on available settings.
Setting |
Description |
---|---|
Sensor Name |
Enter a meaningful name to identify the sensor. By default, PRTG shows this name in the device tree, as well as in alarms, logs, notifications, reports, maps, libraries, and tickets.
|
Parent Tags |
Shows tags that the sensor inherits from its parent device, parent group, and parent probe. This setting is shown for your information only and cannot be changed here. |
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.
The sensor has the following default tags that are automatically predefined in the sensor's settings when you add the sensor:
|
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 ( |
Setting |
Description |
---|---|
OID |
Enter the OID of the SNMP object that you want to receive a string from.
|
Maximum Length of String |
Define the maximum allowed length of the string that PRTG receives from the SNMP object at the specified OID. If the string is longer than this value, the sensor shows the Down status. Enter an integer value or leave the field empty. |
If Value Changes |
Define what the sensor does when the sensor value changes:
|
Setting |
Description |
---|---|
Response Must Include (Down Status) |
Define the search string that must be part of the data that PRTG receives from the SNMP object at the specified OID. You can enter a simple string in plain text or a regular expression.
If the data does not include the search pattern, the sensor shows the Down status. |
Search Method |
Define the method with which you want to provide the search string.
|
Response Must Not Include (Down Status) |
Define the search string that must not be part of the data that PRTG receives form the SNMP object at the specified OID. You can enter a simple string in plain text or a regular expression.
If the data does include the search pattern, the sensor shows the Down status. |
Search Method |
Define the method with which you want to provide the search string.
|
Response Must Include (Warning Status) |
Define the search string that must be part of the data that PRTG receives from the SNMP object at the specified OID. You can enter a simple string in plain text or a regular expression.
If the data does not include the search pattern, the sensor shows the Warning status. |
Search Method |
Define the method with which you want to provide the search string.
|
Response Must Not Include (Warning Status) |
Define the search string that must not be part of the data that PRTG receives form the SNMP object at the specified OID. You can enter a simple string in plain text or a regular expression.
If the data does include the search pattern, the sensor shows the Warning status. |
Search Method |
Define the method with which you want to provide the search string.
|
Setting |
Description |
---|---|
Interpret Result As |
Define the type of the received string:
|
Extract Number Using Regular Expression |
Define if you want to filter out a numeric value from the string received from the SNMP object at the specified OID. You can convert this into a float value to use it with channel limits.
|
Regular Expression |
This setting is only visible if you enable Extract Number Using Regular Expression above. Enter a regular expression to identify the numeric value that you want to extract from the string returned by the SNMP object at the specified OID. You can use capturing groups here. Make sure that the expression returns numbers only (including decimal and thousands separators). The result is further refined by the settings below.
|
Index of Capturing Group |
This setting is only visible if you enable Extract Number Using Regular Expression above. If your regex uses capturing groups, specify which one is used to capture the number. Enter an integer value or leave the field empty. |
Decimal Separator |
This setting is only visible if you enable Extract Number Using Regular Expression above. Define which character is used as decimal separator for the number extracted above. Enter a string or leave the field empty. |
Thousands Separator |
This setting is only visible if you enable Extract Number Using Regular Expression above. Define which character is used as thousands separator for the number extracted above. Enter a string or leave the field empty. |
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.
|
Graph Type |
Define how different channels are shown for this sensor:
|
Stack Unit |
This setting is only visible if you enable Stack channels on top of each other as Graph Type. 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. |
By default, all of the following settings are inherited from objects that are higher in the hierarchy. You should 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. You then see the options described below.
For more information, see section Inheritance of Settings.
Click to interrupt the inheritance.
Setting |
Description |
---|---|
Scanning Interval |
Select a scanning interval from the dropdown list. The scanning interval determines the amount of time that the sensor waits between two scans. Choose from:
|
If a Sensor Query Fails |
Select the number of scanning intervals that the sensor has time to reach and to check a device again if a sensor query fails. Depending on the option that you select, the sensor can try to reach and to check a device again several times before the sensor shows the Down status. This can avoid false alarms if the monitored device only has temporary issues. For previous scanning intervals with failed requests, the sensor shows the Warning status. Choose from:
|
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.
Setting |
Description |
---|---|
Schedule |
Select a schedule from the list. You can use schedules to monitor during a certain time span (days or hours) every week. Choose from:
|
Maintenance Window |
Select if you want to set up a one-time maintenance window. During a maintenance window, monitoring stops for the selected object and all child objects. They show the Paused status instead. Choose between:
|
Maintenance Begins |
This setting is only visible if you enable Set up a one-time maintenance window above. Use the date time picker to enter the start date and time of the one-time maintenance window. |
Maintenance Ends |
This setting is only visible if you enable Set up a one-time maintenance window above. Use the date time picker to enter the end date and time of the one-time maintenance window. |
Dependency Type |
Select a dependency type. You can use dependencies to pause monitoring for an object depending on the status of a different object. You can choose from:
|
Dependency |
This setting is only visible if you enable Select a sensor above. Click |
Dependency Delay (Sec.) |
This setting is only visible if you enable Select a sensor above. Define a time span in seconds for the dependency delay. After the master sensor for this dependency returns to the Up status, PRTG additionally delays the monitoring of the dependent objects by the time span you define. This can prevent false alarms, for example, after a server restart or to give systems more time for all services to start. Enter an integer value.
|
Click to interrupt the inheritance.
Setting |
Description |
---|---|
User Group Access |
Define the user groups that have access to the sensor. You see a table with user groups and group access rights. The table contains all user groups in your setup. For each user group, you can choose from the following group access rights:
|
Example: Number Extraction with Regular Expression
If you want to extract a number in the response string using a regular expression (regex), note that the index for captures in this sensor is based on 1 (not on 0). Furthermore, capturing groups are not automatically created. The example below illustrates this issue.
Consider the following string as returned by a request for CPU usage:
5 Sec (3.49%), 1 Min (3.555%), 5 Min (3.90%)
Assuming you would like to filter for the number 3.555, this is the percentage in the second parentheses. Enter the following regex in the Regular Expression field:
(\d+\.\d+).*?(\d+\.\d+).*?(\d+\.\d+)
As Index of Capturing Group, enter 3. This extracts the desired number 3.555.
The index has to be 3 in this case because the capturing groups here are the following:
- Group 1 contains 3.49%), 1 Min (3.555), 5 Min (3.90
- Group 2 contains 3.49
- Group 3 contains 3.555
- Group 4 contains 3.90
Keep in mind this note about index and capturing groups when using number extraction.
It is not possible to match an empty string with the PRTG regex sensor search.
PRTG supports Perl Compatible Regular Expression (PCRE) regex. For more details, see section Regular Expressions.
KNOWLEDGE BASE
What SNMP sensors does PRTG offer?
My SNMP sensors don't work. What can I do?
How do I find out which OID I need for an SNMP Custom sensor?
For more information about sensor settings, see the following sections: