SCOPE
This document is applicable to all Rajant devices that need to be added to the Solarwinds NPM
VISION
To have a uniformed procedure of adding a Rajant device to Solarwinds NPM
Requirements
The following may be required when adding a Rajant device to Solarwinds NPM
Hardware
Server where existing Solarwinds NPM is deployed
Software
Universal Device Poller, which is installed with Solarwinds NPM
SNMPWALK utility which is installed with Solarwinds NPM
OVERVIEW
As of this writing, the version of Solarwinds in use is V10.5, and the Solarwinds MIB database file was updated on the 13 June 2014.
The Solarwinds MIB database does not contain any information for the Rajant devices
The Rajant devices do not have MIB-II mgmt. information embedded to be able to provide information to Solarwinds, and for Solarwinds to perform an automatic discovery of the devices
The Rajant device use SNMP version 2 with a community string of public. This is not changeable
As result of these restrictions, adding a Rajant device to Solarwinds NPM is a manual process, which this document will cover and show how it is done.
The Rajant enterprise OID is iso.org.dod.internet.private.enterprises.rajantCorporation (1.3.6.1.4.1.34861), which we will be using to create custom pollers for the devices
Procedure
Phase 1
Adding the Rajant device to Solarwinds NPM
The Rajant device will be added to the Solarwinds NPM, either by means of a manual entry or a network discovery. In both instances the devices will be added via ICMP only and not via SNMP as the SNMP poll to the device will fail. One the device has been added the polling method will need to be changed manually to SNMP for every Rajant device on the network.
Adding a device manually
- Add device by clicking settings > Add a Node
- Type the IP address of the device in the IP address field
- Select the polling method to Status Only: ICMP
- Click Next
- Rename the device to something meaningful if necessary
- Click OK, ADD NODE
- Click OK after the device was added
- In node management, find the device that was added and select the checkbox
- Click Edit Properties
- Change polling method to SNMP
- Check SNMP version and port are correct and tick “Allow 64 bit Counters”
- Type in public in the community string field
- Click submit
- Click OK on the error dialog when the credentials are not validated
- Adding of the Rajant device is now complete
Phase 2
Adding Specific Pollers
The Rajant device has now been added to the Solarwinds application, which will be able to provide availability stats only, and show up and down time. For more advanced statistics, one would need to add Universal Device Pollers, specifying an OID to poll to provide these stats.
In this example we will add the device serial number. In order for us to be able to do this, we will need to know which OID will provide this information. In the rajant-mib file, each OID is described with regards to what information will be provided when polled. In this case we will use 1.3.6.1.4.1.34861.1.1 to get the serial number of the device as per the rajant-mib file
system OBJECT-IDENTITY
STATUS current
DESCRIPTION "System status"
::= { rajantCorporation 1 }
serialNumber OBJECT-IDENTITY
STATUS current
DESCRIPTION "Hardware serial number"
::= { system 1 }
To add a universal device poller, one will need to work directly on the server where the application was installed and use the universal device poller application
Adding a universal device poller
- Open the universal device poller application in the Solarwinds program group
- The application will then open
- Click on “New Universal Device Poller” and wait for the dialog box to come up
- In the OID field type in the OID for the specific statistic that information is required for 1.3.6.1.4.1.34861.1.1
- Provide a name for the poller
- Provide a description for the poller
- Click advanced options
- Set MIB value type to Raw Value
- Set Format to Text
- Set SNMP get type to GET
- Set Polling type to Node
- Click Finish
Phase 3
Assign the poller to the added device
The specific poller has been added to Solarwinds NPM, and in order for it to be used, it needs to be assigned to a device or multiple devices.
Assigning a poller to a device
- Click on Assign Pollers and select the poller to use and click next
- Find and select the device to assign the poller to and click finish. To find the device easier, the “Group by” dropdown option may be used
- The poller is now assigned and the information will be presented on the node details in Solarwinds
CLOSURE
This concludes the procedure on adding a Rajant device to Solarwinds; however, this procedure may be used for any device that is known to have their own specific MIB file and is not limited to Rajant only.
To add more pollers for specific statistics, Phase 2 and Phase 3 need to be repeated, and the Specific OID will be provided for in the Rajant MIB file
rajant-mib
--
-- Rajant BreadCrumb MIB
--
RAJANT-CORPORATION-MIB DEFINITIONS ::= BEGIN
--
-- Import well known definitions from standard MIBs
--
IMPORTS
MODULE-IDENTITY, OBJECT-IDENTITY, enterprises, OBJECT-TYPE, Unsigned32, TimeTicks, IpAddress, Integer32, Counter64
FROM SNMPv2-SMI;
--
-- MIB meta data
--
rajantCorporation MODULE-IDENTITY
LAST-UPDATED "201308200000Z"
ORGANIZATION "Rajant Corporation"
CONTACT-INFO "Omitted"
DESCRIPTION "Rajant Corporation MIB"
--
-- Rajant's unique Enterprise ID (OID)
--
::= { enterprises 34861 }
system OBJECT-IDENTITY
STATUS current
DESCRIPTION "System status"
::= { rajantCorporation 1 }
instamesh OBJECT-IDENTITY
STATUS current
DESCRIPTION "Instamesh status"
::= { rajantCorporation 2 }
wireless OBJECT-IDENTITY
STATUS current
DESCRIPTION "Wireless interfaces"
::= { rajantCorporation 3 }
serialNumber OBJECT-IDENTITY
STATUS current
DESCRIPTION "Hardware serial number"
::= { system 1 }
systemTemperature OBJECT-IDENTITY
STATUS current
DESCRIPTION "System temperature"
::= { system 2 }
freeMemory OBJECT-IDENTITY
STATUS current
DESCRIPTION "Free memory"
::= { system 3 }
idle OBJECT-IDENTITY
STATUS current
DESCRIPTION "Idle"
::= { system 4 }
uptime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Uptime"
::= { system 5 }
instameshArpDropped OBJECT-IDENTITY
STATUS current
DESCRIPTION "Number of dropped ARP requests"
::= { instamesh 1 }
instameshArpRequests OBJECT-IDENTITY
STATUS current
DESCRIPTION "Number of ARP requests"
::= { instamesh 2 }
instameshArpRequestsAnswered OBJECT-IDENTITY
STATUS current
DESCRIPTION "Number of answered ARP requests"
::= { instamesh 3 }
instameshArpRequestsUnicasted OBJECT-IDENTITY
STATUS current
DESCRIPTION "Number of unicast ARP requests"
::= { instamesh 4 }
instameshArpTotal OBJECT-IDENTITY
STATUS current
DESCRIPTION "Number of all ARP requests"
::= { instamesh 5 }
instameshFloodsDropped OBJECT-IDENTITY
STATUS current
DESCRIPTION "Number of dropped flood packets"
::= { instamesh 6 }
instameshPacketsDropped OBJECT-IDENTITY
STATUS current
DESCRIPTION "Number of dropped packets"
::= { instamesh 7 }
instameshPacketsMulticast OBJECT-IDENTITY
STATUS current
DESCRIPTION "Number of multicast packets"
::= { instamesh 8 }
instameshPacketsReceived OBJECT-IDENTITY
STATUS current
DESCRIPTION "Number of received packets"
::= { instamesh 9 }
instameshPacketsSent OBJECT-IDENTITY
STATUS current
DESCRIPTION "Number of sent packets"
::= { instamesh 10 }
instameshSourceFloodsDropped OBJECT-IDENTITY
STATUS current
DESCRIPTION "Number of dropped source flood packets"
::= { instamesh 11 }
instameshTimeWaited OBJECT-IDENTITY
STATUS current
DESCRIPTION "Time spent on waiting"
::= { instamesh 12 }
-- Wireless interfaces
-- The code below needs some serious refactoring
wlan0 OBJECT-IDENTITY
STATUS current
DESCRIPTION "Wireless interface wlan0"
::= { wireless 1 }
wlan0name OBJECT-IDENTITY
STATUS current
DESCRIPTION "Interface name"
::= { wlan0 1 }
wlan0frequency OBJECT-IDENTITY
STATUS current
DESCRIPTION "Operating frequency"
::= { wlan0 2 }
wlan0noise OBJECT-IDENTITY
STATUS current
DESCRIPTION "Noise level"
::= { wlan0 3 }
wlan0channelActiveTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel active time"
::= { wlan0 4 }
wlan0channelBusyTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel busy time"
::= { wlan0 5 }
wlan0channelReceiveTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel receive time"
::= { wlan0 6 }
wlan0channelTransmitTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel transmit time"
::= { wlan0 7 }
wlan1 OBJECT-IDENTITY
STATUS current
DESCRIPTION "Wireless interface wlan1"
::= { wireless 2 }
wlan1name OBJECT-IDENTITY
STATUS current
DESCRIPTION "Interface name"
::= { wlan1 1 }
wlan1frequency OBJECT-IDENTITY
STATUS current
DESCRIPTION "Operating frequency"
::= { wlan1 2 }
wlan1noise OBJECT-IDENTITY
STATUS current
DESCRIPTION "Noise level"
::= { wlan1 3 }
wlan1channelActiveTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel active time"
::= { wlan1 4 }
wlan1channelBusyTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel busy time"
::= { wlan1 5 }
wlan1channelReceiveTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel receive time"
::= { wlan1 6 }
wlan1channelTransmitTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel transmit time"
::= { wlan1 7 }
wlan2 OBJECT-IDENTITY
STATUS current
DESCRIPTION "Wireless interface wlan2"
::= { wireless 3 }
wlan2name OBJECT-IDENTITY
STATUS current
DESCRIPTION "Interface name"
::= { wlan2 1 }
wlan2frequency OBJECT-IDENTITY
STATUS current
DESCRIPTION "Operating frequency"
::= { wlan2 2 }
wlan2noise OBJECT-IDENTITY
STATUS current
DESCRIPTION "Noise level"
::= { wlan2 3 }
wlan2channelActiveTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel active time"
::= { wlan2 4 }
wlan2channelBusyTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel busy time"
::= { wlan2 5 }
wlan2channelReceiveTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel receive time"
::= { wlan2 6 }
wlan2channelTransmitTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel transmit time"
::= { wlan2 7 }
wlan3 OBJECT-IDENTITY
STATUS current
DESCRIPTION "Wireless interface wlan3"
::= { wireless 4 }
wlan3name OBJECT-IDENTITY
STATUS current
DESCRIPTION "Interface name"
::= { wlan3 1 }
wlan3frequency OBJECT-IDENTITY
STATUS current
DESCRIPTION "Operating frequency"
::= { wlan3 2 }
wlan3noise OBJECT-IDENTITY
STATUS current
DESCRIPTION "Noise level"
::= { wlan3 3 }
wlan3channelActiveTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel active time"
::= { wlan3 4 }
wlan3channelBusyTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel busy time"
::= { wlan3 5 }
wlan3channelReceiveTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel receive time"
::= { wlan3 6 }
wlan3channelTransmitTime OBJECT-IDENTITY
STATUS current
DESCRIPTION "Channel transmit time"
::= { wlan3 7 }
END