08-02-2018 02:09 PM
Network Explorer -> Inventory has a built-in field of "AssetID" that is not populated, at least for Cisco devices. The admin guide does not describe it but the API guide does refer to it:
"op_PhysicalAssetID Optional String
The operator to apply to the field PhysicalAssetID. Valid values are: =, <>, rlike, not rlike, >, >=, <, <=, like, not like, is null, is not null, between. PhysicalAssetID: This object is a user-assigned asset tracking identifier (as specified by a network manager) for the physical entity, and provides non-volatile storage of this information. Note that NetMRI does not currently allow setting of this value; use the device's console for that purpose. For the between operator the value will be treated as an Array if comma delimited string is passed, and it must contain an even number of values."
"NetMRI does not currently allow setting of this value; use the device's console.." ???
Could someone please explain how to do that? Cisco does support the chassis MIB, which includes the configuratble "chassis-id" string (snmp-server chassis-id...). But that doesn't seem to be collected.
So far, I have created a custom field called "barcode" and manually loaded it from a CSV. But for switch stacks, I need to store one of those for each switch member, and they share a single config file. I could use one of the snmp-server strings, e.g., chassis-id, to store a list of all barcodes. And have a script access those and populate the component barcode fields. It just seems like PhysicalAssetID already exists for this purpose.
08-02-2018 06:50 PM
I have seen "Asset ID" populate when it receives an snmp response from "entPhysicalAssetID" OID.
08-03-2018 11:07 AM
Thank you for the tip, Rajiv. Polling that does succeed but the value is always empty for the devices I had tried. So it looks like there's no Cisco config command to store into it. It appears that if SNMP RW is enabled, a value could be written into that OID. And per the RFC, the device/agent would have to make that non-volatile.
And from what I've read so far, the "chassis-id" string was in the deprecated CHASSIS-MIB but dropped from entPhysicalTable. So that's not an alternative.