Cisco NXOS/ACI Switch

Dashboard

Device Dashboard via SNMPv3
Last updated: 8 months ago

Start with Grafana Cloud and the new FREE tier. Includes 10K series Prometheus or Graphite Metrics and 50gb Loki Logs

Downloads: 4421

Reviews: 1

  • Cisco_NXOS_Dashboard.png
    Cisco_NXOS_Dashboard.png
  • TIG-Stack.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"

Dependencies: