Determining the Device Type
How does the Data Aggregator (DA) discovery process determine and set the Device Type value for discovered devices?
First, it is important to know that we use the sysServices and ipForwarding MIB OID values to determine device types for discovered devices.
The sysServices OID value type is an integer. We convert that value into binary form and then determine the device type based on the bit value we receive as a result of that conversion.
For example, if a sysServices MIB OID value is 101, then its binary form is 1100101. Then we use bit 1, 2, 3, 4 and 7 (1 is the least significant bit) to determine a device type.
Examples including one not supported by the DA:
Repeater: If bit 1 is set it is a repeater, and the DA doesn't support Repeater devices
Switch: If bit 2 is set we set the Device Type to Switch
Router: If bit 3 is set AND ipForwarding is 1, we set the Device Type to Switch
Server: If it's none of above (IE it is not bit 1, 2 or 3) AND bit 4 or 7 is set, we set the Device Type to Server
In the event we cannot determine the device's Device Type value based on sysServices and ipForwarding MIB OID values, then the Device Type value is set to Other. This basically means Unknown due to an inability to properly identify the bit level for the device.
Additionally, there is an internal list of sysObjectOids that is used to select the device types/contexts
Can device types/contexts be changed?
To address devices in the DA set with Device Type value Other, users can modify the device-types.xml file to customize the Device Type assigned to some devices. User modifications to this value via the XML file take precedence over default values set on the devices out of the box. Due to that the changes should be well tested and made with caution to avoid incorrect Device Type value assignments for devices newly discovered after editing the XML file.
Can a devices Device Type value change post-discovery?
If the Device Type is not specified (customized) by users via the DeviceTypes.xml file, then the device type could be changed if the MIB values of sysService and ipForwarding change. The change would happen during a device inventory discovery, not Metric Family Updates, nor Monitoring Profile change detection cycles.
If we lose contact with the device, the device discovery should not change the Device Type value.
My device has the appropriate device type but the context page for that type is not appearing:
In 3.5 new context types were introduced. In addition to having the correct device/context type, a Metric Family that supports that context type must be applied and supported by the device.