Есть такой ENTITY-MIB, в котором хранятся данные о модели, серийном номере, модулях и пр. Собрал эти данные по snmp с использованием ПО telegraf, сложил в базу influxdb, вывел таблицы в grafana, откуда их можно экспортировать в csv формате. Конфигурация лежит в /etc/telegraf/telegraf.d с расширением .conf
На картинке итоговый результат.
p.s. При использовании ENTITY-MIB все ожидания пострадали.
[[inputs.snmp]] interval = "24h" agents = [ "cisco-switch1", "cisco-switch2", "dlink-switch4", "eltex-switch5", "cisco-router" ] version = 2 community = "rublic" [[inputs.snmp.field]] name = "location" oid = "SNMPv2-MIB::sysLocation.0" is_tag = true [[inputs.snmp.field]] name = "contact" oid = "SNMPv2-MIB::sysContact.0" is_tag = true [[inputs.snmp.table]] name = "inventory" inherit_tags = [ "location", "contact" ] oid = "ENTITY-MIB::entPhysicalTable" index_as_tag = true [[inputs.snmp.table.field]] name = "IsFRU" oid = "ENTITY-MIB::entPhysicalIsFRU" is_tag = true [[inputs.snmp.table.field]] name = "ModelName" oid = "ENTITY-MIB::entPhysicalModelName" is_tag = true [[inputs.snmp.table.field]] name = "Class" oid = "ENTITY-MIB::entPhysicalClass" is_tag = true [[inputs.snmp.table.field]] name = "MfgName" oid = "ENTITY-MIB::entPhysicalMfgName" is_tag = trueДля huawei отдельный конфиг, т.к. имя модели в другом мибе. За juniper я не брался.
[[inputs.snmp]] interval = "24h" agents = [ "huawei-switch3" ] version = 2 community = "rublic" [[inputs.snmp.field]] name = "location" oid = "SNMPv2-MIB::sysLocation.0" is_tag = true [[inputs.snmp.field]] name = "contact" oid = "SNMPv2-MIB::sysContact.0" is_tag = true [[inputs.snmp.table]] name = "inventory" inherit_tags = [ "location", "contact" ] oid = "ENTITY-MIB::entPhysicalTable" index_as_tag = true [[inputs.snmp.table.field]] name = "IsFRU" oid = "ENTITY-MIB::entPhysicalIsFRU" is_tag = true [[inputs.snmp.table.field]] name = "ModelName" oid = "SNMPv2-SMI::enterprises.2011.5.25.31.1.1.2.1.11" is_tag = true [[inputs.snmp.table.field]] name = "Class" oid = "ENTITY-MIB::entPhysicalClass" is_tag = true [[inputs.snmp.table.field]] name = "MfgName" oid = "ENTITY-MIB::entPhysicalMfgName" is_tag = trueindex_as_tag - важный параметр. Без него стеки из одинаковых коммутаторов запишутся как один свич, который записался в базу последним, контроллеры wifi с одинаковыми точками доступа запишутся как контроллеры с одной точкой, трансиверы тоже посчитаются некорректно.
На картинке итоговый результат.
p.s. При использовании ENTITY-MIB все ожидания пострадали.