Environment Monitoring System IP Temp CAT5 Video Extender HDMI VGA DVI KVM Switch, Video Splitter, Video Matrix Switch

NTI SNMP plugin for Nagios

Installing the Plugin

To make use of the NTI SNMP plugin for Nagios, it must be properly inserted into your Nagios installation. Plugins are usually installed in the libexec directory of your Nagios installation (i.e. /usr/local/nagios/libexec). Simply copy the plugin ( check_nti_snmp.pl (35 KB) ) to the libexec directory of your installation. Be sure to change its permissions to match those of the other plugins.

Configuring a Nagios Command

Next, you’ll need to add a Nagios command which will call the script. To do this, you must add the contents of Listing 1 to your Nagios configuration. The simplest method is to add the contents of Listing 1 to the file commands.cfg, which is often found in /usr/local/nagios/etc/object/commands.cfg.

# Command definition for Network Technologies Inc SNMP plugin define command{ command_name check_nti_snmp command_line $USER1$/check_nti_snmp.pl -H $HOSTADDRESS$ $ARG1$ }

Listing 1: Nagios command definition

Generating a Product Configuration

To monitor NTI products with the NTI SNMP plugin for Nagios, you should first use the script to assist in generating a proper configuration. Using the script to generate the proper configuration greatly eases the burden of deciphering the MIB, interpreting sensor values, etc. To generate a configuration using the script, pass the –m config option, as shown in Listing 2.

root@dev:/usr/local/nagios/libexec# ./check_nti_snmp.pl -m config

Listing 2: Calling the script to generate a configuration

The script will then ask for some information required to generate a configuration, such as product type, IP address, and SNMP community string. The script can generate two types of configurations: one service for the entire device, and one service for each sensor. Generating one service for the entire device will create a single service entry in Nagios in which all sensors on the unit will be queried. Generating a service for each sensor will allow you finer grained control over which sensors are queried. An example of the information requested by the script is shown in Listing 3.

What product type are we configuring for Nagios? 1) ENVIROMUX-MINI-LXO 2) ENVIROMUX-2D 3) ENVIROMUX-16D 4) ENVIROMUX-5D 5) ENVIROMUX-MINI 6) ENVIROMUX-SEMS-16 7) IPDU-S2 Enter choice [1]: 1 Enter the IP address of the device: 192.168.1.100 Enter the SNMP community string [public]: public Which type of service to generate? 1) One service for the entire device 2) One service for each sensor Enter choice [1]: 1

Listing 3: Information requested by the script to create a product configuration

After entering all requested information, the script will generate an appropriate configuration based on your input and print it to the screen. An example of such a configuration is shown in Listing 4.

# You need to define this command exactly once to monitor NTI products. # define command{ # command_name check_nti_snmp # command_line $USER1$/check_nti_snmp.pl -H $HOSTADDRESS$ $ARG1$ # } # define host{ use generic-host host_name enviromuxMini_192.168.1.100 alias ENVIROMUX-MINI 192.168.1.100 address 192.168.1.100 max_check_attempts 5 } define service{ use generic-service host_name enviromuxMini_192.168.1.100 service_description ALL_SENSORS check_command check_nti_snmp!-m batch -C public -p enviromuxMini }

Listing 4: Example configuration generated by the script

Installing Product Configuration into Nagios

The configuration generated by the script must now be added to Nagios. One way to accomplish this is to create a directory for all NTI product configurations and inform Nagios of this directory. For this example, we'll add the directory /usr/local/nagios/etc/objects/networktechinc/ to Nagios and then create a separate file for each device we wish to monitor. To do this, add the text as shown in Listing 5 to the file /usr/local/nagios/etc/nagios.cfg.

# Directory for Network Technologies Inc device configurations cfg_dir=/usr/local/nagios/etc/objects/networktechinc

Listing 5: Adding a configuration directory to Nagios

Copy the previously generated configuration and place it in a new file in the directory /usr/local/nagios/etc/objects/networktechinc. You can give this file any name you wish. With this new file in place, you can now verify your configuration and restart Nagios. Your newly added devices and services should now be monitored with Nagios.

Troubleshooting

After completing all steps, it's possible that you may run into some issues. When viewing the Service Detail page in Nagios, these are some common errors which may be seen and their most common causes.

Plugin output says: Return code of 126 is out of bounds - plugin may be missing
Usually indicates a permission issue with the plugin script. Verify the proper user and group are set on check_nti_snmp.pl. Also verify that the script has execute permissions.
Plugin output says: Return code of 127 is out of bounds - plugin may be missing
Usually indicates a mismatch between the command definition and the actual script filename. Verify that the check check_nti_snmp command definition specifies the correct filename ( check_nti_snmp.pl (35 KB) ).
Plugin output says: ERROR - unable to acquire sensor data!
Indicates that the script was unable to read sensor data from the device. Make sure that the device is powered. Make sure that the device IP is correct. Make sure that the device's SNMP agent is enabled.

Depending on your system, you may run into other problems when running the script.

-bash: ./check_nti_snmp.pl: /usr/bin/perl: bad interpreter: No such file or directory
The script expects perl to be installed at /usr/bin/perl. Verify that perl is installed. If it is, provide the correct path on the first line of the script.
ERROR: You do NOT have the Net::SNMP library
The script requires the Net::SNMP module for perl. Verify that this module is installed.

For more information regarding installing, configuring, and operating Nagios, please refer to the the Nagios documentation.