Cisco_NXOS_Dashboard.png TIG-Stack.png
Cisco NX-OS/ACI
Demo about how to monitor Cisco NX-OS and ACI Switches via SNMPv3 and the TIG-Stack (Telegraf, InfluxDB, Grafana). The Dashboard is a first idea to visualize metrics per device and should help to get started developing own solutions.
Visit my blog post over at NWMichl Blog for full documentation and device onboarding via Ansible.
Collector Configuration Details
[[inputs.snmp]]
agents = [ "1.1.1.1" ]
timeout = "5s"
retries = 3
version = 3
sec_name = "telegraf"
auth_protocol = "SHA"
auth_password = "<SECRET>"
sec_level = "authPriv"
priv_protocol = "AES"
priv_password = "<SECRET>"
[[inputs.snmp.field]]
name = "uptime"
oid = "DISMAN-EVENT-MIB::sysUpTimeInstance"
[[inputs.snmp.field]]
name = "CPU1m"
oid = "1.3.6.1.4.1.9.9.109.1.1.1.1.7.1"
[[inputs.snmp.field]]
name = "MemUsed"
oid = "1.3.6.1.4.1.9.9.109.1.1.1.1.12.1"
[[inputs.snmp.field]]
name = "MemFree"
oid = "1.3.6.1.4.1.9.9.109.1.1.1.1.13.1"
[[inputs.snmp.field]]
oid = "RFC1213-MIB::sysName.0"
name = "source"
is_tag = true
[[inputs.snmp.table]]
name = "FRU"
inherit_tags = [ "source" ]
index_as_tag = true
[[inputs.snmp.table.field]]
name = "FAN_Status"
oid = "1.3.6.1.4.1.9.9.117.1.4.1.1.1"
[[inputs.snmp.table.field]]
name = "PSU_Status"
oid = "1.3.6.1.4.1.9.9.117.1.1.2.1.2"
[[inputs.snmp.table]]
name = "IF"
inherit_tags = [ "source" ]
# oid = "IF-MIB::ifXTable" # Don't walk the whole table, just single metrics specified
# Interface tag - used to identify interface in metrics database [[inputs.snmp.table.field]]
[[inputs.snmp.table.field]]
name = "ifName"
oid = "IF-MIB::ifName"
is_tag = true
[[inputs.snmp.table.field]]
name = "ifAlias"
oid = "IF-MIB::ifAlias"
is_tag = true
[[inputs.snmp.table.field]]
name = "ifOperStatusCause"
oid = "1.3.6.1.4.1.9.9.276.1.1.2.1.10"
is_tag = true
[[inputs.snmp.table.field]]
oid = "IF-MIB::ifHighSpeed"
[[inputs.snmp.table.field]]
oid = "IF-MIB::ifAdminStatus"
[[inputs.snmp.table.field]]
oid = "IF-MIB::ifOperStatus"
[[inputs.snmp.table.field]]
oid = "IF-MIB::ifHCInOctets"
[[inputs.snmp.table.field]]
oid = "IF-MIB::ifHCOutOctets"
[[inputs.snmp.table.field]]
oid = "IF-MIB::ifInDiscards"
[[inputs.snmp.table.field]]
oid = "IF-MIB::ifOutDiscards"
[[inputs.snmp.table.field]]
oid = "IF-MIB::ifInErrors"
[[inputs.snmp.table.field]]
oid = "IF-MIB::ifOutErrors"
[[inputs.snmp.table.field]]
oid = "IF-MIB::ifInUnknownProtos"