This article describes how discovery probes, and patterns, update model_id and manufacturer for network devices and Linux and Windows servers. The model_id and manufacturer are reference fields. In general, a probe will gather both the model_id and manufacturer from a device and pass the string values to the MakeAndModelJS.fromNames() function along with a model_type. The model_type determines the table that is used to get the model_id. The table cmdb_model is used if model_type is empty.
Some of the tables that are used to find the model_id:
Note: In some cases the the CI may seem to have an empty model and manufacturer when in fact the field is populated. These fields are reference fields and should be populated with sys_ids, not with the values directly. To revolve this issue, the sensor/pattern will need to call MakeAndModelJS to get the reference value instead. This can be confirmed by viewing the xml for the record.
Network Devices (SNMP Discovery)
For network devices, the model_id and manufacturer are collected on the classification phase of discovery by the SNMP - Classify probe.
The following important OIDs determine which model and manufacturer are used:
The model and manufacturer from Discovery Definition > Classification > SNMP System OIDs is used when sysObjectID is returned. The values returned by entPhysicalModelName and entPhysicalMfgNam are used if the sysObjectID value is not returned, or if there is no matching record for the sysObjectID under SNMP System OIDs.
Note – The model_id and manufacturer may alternate if the values for entPhysicalModelName and entPhysicalMfgName do not match the SNMP System OID values respectively and the sysObjectID is not returned consistently. Therefore, if possible, the values in the SNMP System OIDs should be updated to match what is returned by the device. Having two options to get model_id and manufacturer provides redundancy.
Different distributions of UNIX/Linux use their own probe/sensors to collect the model_id and manufacturer.
The out-of-box probes/sensors that collect the model and manufacturer are:
|Probe||Command / Script|
|Linux - Hardware Information||dmidecode; echo dummy > /dev/null|
|HP-UX - Hardware Model||model|
|AIX - Hardware Model||lsattr -El sys0 -a modelname -F value|
|Solaris - Hardware Model||suntype.sh|
Windows devices model_id and manufacturer information is collected by the Windows - OS Information probe.
The WMI fields used for model and manufacturer are:
The following example shows the result of running a PowerShell command to collect model and manufacturer.
There are many other device classes which can be discovered, and custom ones can be created. They will each need to query the target device/application for such fields and use the MakeAndModelJS script to get the proper reference values to update the record.
Patterns call the MakeAndModelJS via the "Pattern Designer > Pre Post Processing" script, in special the "OSs - Pre Sensor" script. The column "Pattern/s" determines what patterns will use this pre post script to alter the payload.