QNAP Dashboard - Telegraf SNMP - InfluxDB

Grafana Dashboard for QNAP Devices, collecting SNMP using Telegraf, and InfluxDB

QNAP Dashboard - Telegraf SNMP - InfluxDB screenshot 1

QNAP Dashboard using SNMP v3. To collect data, I’ve used the always helpful telegraf SNMP plugin https://github.com/influxdata/telegraf/blob/master/plugins/inputs/snmp/README.md use the collector instructions from above ^

I’ve added all the variables to the Dashboard. The Grafana dashboard it should work out of the box; perhaps if you do not have NVMe disks, the #1 and #2 will be wrongly tagged, fix that widget if required.

It will work with SNMP v1/v2 as well, but I totally do not recommend it, stay safe and secure.

Collector config:

[[inputs.snmp]]
   # List of agents to poll
   agents = [ "YOURQNAPIP" ]
   # Polling interval
   interval = "30s"
   # Timeout for each SNMP query.
   timeout = "30s"
   # Number of retries to attempt within timeout.
   retries = 3
   # The GETBULK max-repetitions parameter
   max_repetitions = 10
   # Measurement name
   name = "snmp.QNAP"
   #SNMPv3
   version = 3
   sec_name = "YOURUSERNAME"
   auth_protocol = "SHA"
   auth_password = "YOURPASS"
   sec_level = "authPriv"
   priv_protocol = "DES"
   priv_password = "YOUROTHERPASS"


  ##
  ## System Details & Metrics
  ##
  # CPU
  [[inputs.snmp.field]]
  name = "name"
  oid = "NAS-MIB::enclosureName.1"
  is_tag = true

  [[inputs.snmp.table]]
    name = "snmp.QNAP.cpuTable"
    oid = "NAS-MIB::cpuTable"
    [[inputs.snmp.table.field]]
      name = "cpuIndex"
      oid = "NAS-MIB::cpuIndex"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "cpuID"
      oid = "NAS-MIB::cpuID"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "cpuUsage"
      oid = "NAS-MIB::cpuUsage"

  #  System
  #  Enclosures
  [[inputs.snmp.table]]
    name = "snmp.QNAP.systemTable"
  # Memory
  [[inputs.snmp.table.field]]
    name = "systemTotalMemEX"
    oid = "NAS-MIB::systemTotalMemEX"
  [[inputs.snmp.table.field]]
    name = "systemFreeMemEX"
    oid = "NAS-MIB::systemFreeMemEX"
  # System temp
  [[inputs.snmp.table.field]]
    name = "cpu-TemperatureEX"
    oid = "NAS-MIB::cpu-TemperatureEX"
  [[inputs.snmp.table.field]]
    name = "systemTemperatureEX"
    oid = "NAS-MIB::systemTemperatureEX"
  # Uptime
  [[inputs.snmp.table.field]]
    name = "systemUptime"
    oid = "NAS-MIB::systemUptimeEX"
  # Uptime
  [[inputs.snmp.table.field]]
    name = "systemCPU-UsageEX"
    oid = "NAS-MIB::systemCPU-UsageEX"

  #  Enclosures
  [[inputs.snmp.table]]
    name = "snmp.QNAP.enclosureTable"
    oid = "NAS-MIB::enclosureTable"
    # Memory
    [[inputs.snmp.table.field]]
      name = "enclosureID"
      oid = "NAS-MIB::enclosureID"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "enclosureModel"
      oid = "NAS-MIB::enclosureModel"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "enclosureName"
      oid = "NAS-MIB::enclosureName"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "enclosureSystemTemp"
      oid = "NAS-MIB::enclosureSystemTemp"

  #  Fan
  [[inputs.snmp.table]]
    name = "snmp.QNAP.systemFanTableEx"
    oid = "NAS-MIB::systemFanTableEx"
    [[inputs.snmp.table.field]]
      name = "sysFanIndexEX"
      oid = "NAS-MIB::sysFanIndexEX"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "sysFanDescrEX"
      oid = "NAS-MIB::sysFanDescrEX"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "sysFanSpeedEX"
      oid = "NAS-MIB::sysFanSpeedEX"

  #  Power
  [[inputs.snmp.table]]
    name = "snmp.QNAP.systemPowerTable"
    oid = "NAS-MIB::systemPowerTable"
    [[inputs.snmp.table.field]]
      name = "systemPowerIndex"
      oid = "NAS-MIB::systemPowerIndex"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "systemPowerID"
      oid = "NAS-MIB::systemPowerID"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "systemPowerEnclosureID"
      oid = "NAS-MIB::systemPowerEnclosureID"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "systemPowerStatus"
      oid = "NAS-MIB::systemPowerStatus"
    [[inputs.snmp.table.field]]
      name = "systemPowerFanSpeed"
      oid = "NAS-MIB::systemPowerFanSpeed"
    [[inputs.snmp.table.field]]
      name = "systemPowerFanSpeed"
      oid = "NAS-MIB::systemPowerFanSpeed"
    [[inputs.snmp.table.field]]
      name = "systemPowerTemp"
      oid = "NAS-MIB::systemPowerTemp"

  #  Interfaces
  [[inputs.snmp.table]]
    name = "snmp.QNAP.systemIfTableEx"
    oid = "NAS-MIB::systemIfTableEx"
    [[inputs.snmp.table.field]]
      name = "ifIndexEX"
      oid = "NAS-MIB::ifIndexEX"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "ifDescrEX"
      oid = "NAS-MIB::ifDescrEX"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "ifPacketsReceivedEX"
      oid = "NAS-MIB::ifPacketsReceivedEX"
    [[inputs.snmp.table.field]]
      name = "ifPacketsSentEX"
      oid = "NAS-MIB::ifPacketsSentEX"
    [[inputs.snmp.table.field]]
      name = "ifErrorPacketsEX"
      oid = "NAS-MIB::ifErrorPacketsEX"

  #  Interfaces
  [[inputs.snmp.table]]
    name = "snmp.QNAP.ifXTable"
    oid = "IF-MIB::ifXTable"
    [[inputs.snmp.table.field]]
      name = "ifName"
      oid = "IF-MIB::ifName"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "ifHCInOctets"
      oid = "IF-MIB::ifHCInOctets"
    [[inputs.snmp.table.field]]
      name = "ifHCOutOctets"
      oid = "IF-MIB::ifHCOutOctets"

  ##
  ## Disk Details & Metrics
  ##
  #  Disk
  [[inputs.snmp.table]]
    name = "snmp.QNAP.diskTable"
    oid = "NAS-MIB::diskTable"
    [[inputs.snmp.table.field]]
      name = "diskIndex"
      oid = "NAS-MIB::diskIndex"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "diskID"
      oid = "NAS-MIB::diskID"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "diskEnclosureID"
      oid = "NAS-MIB::diskEnclosureID"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "diskSummary"
      oid = "NAS-MIB::diskSummary"
    [[inputs.snmp.table.field]]
      name = "diskTemperture"
      oid = "NAS-MIB::diskTemperture"
    [[inputs.snmp.table.field]]
      name = "diskSmartInfo"
      oid = "NAS-MIB::diskSmartInfo"
    [[inputs.snmp.table.field]]
      name = "diskGlobalSpare"
      oid = "NAS-MIB::diskGlobalSpare"
    [[inputs.snmp.table.field]]
      name = "diskModel"
      oid = "NAS-MIB::diskModel"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "diskCapacity"
      oid = "NAS-MIB::diskCapacity"
      is_tag = true

  ##
  ## Volume Details & Metrics
  ##
  #  Volumes
  [[inputs.snmp.table]]
    name = "snmp.QNAP.systemVolumeTableEx"
    oid = "NAS-MIB::systemVolumeTableEx"
    [[inputs.snmp.table.field]]
      name = "sysVolumeIndexEX"
      oid = "NAS-MIB::sysVolumeIndexEX"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "sysVolumeDescrEX"
      oid = "NAS-MIB::sysVolumeDescrEX"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "sysVolumeFSEX"
      oid = "NAS-MIB::sysVolumeFSEX"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "sysVolumeTotalSizeEX"
      oid = "NAS-MIB::sysVolumeTotalSize"
    [[inputs.snmp.table.field]]
      name = "sysVolumeFreeSize"
      oid = "NAS-MIB::sysVolumeFreeSizeEX"
    [[inputs.snmp.table.field]]
      name = "sysVolumeStatus"
      oid = "NAS-MIB::sysVolumeStatusEX"

  ##
  ## Disk Performance Details & Metrics
  ##
  #  Disk Performance
  [[inputs.snmp.table]]
    name = "snmp.QNAP.diskPerformanceTable"
    oid = "NAS-MIB::diskPerformanceTable"
    [[inputs.snmp.table.field]]
      name = "diskPerformanceIndex"
      oid = "NAS-MIB::diskPerformanceIndex"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "blvID"
      oid = "NAS-MIB::blvID"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "iops"
      oid = "NAS-MIB::iops"
    [[inputs.snmp.table.field]]
      name = "latency"
      oid = "NAS-MIB::latency"

  #  JBOD
  [[inputs.snmp.table]]
    name = "snmp.QNAP.jBODHdTable1"
    oid = "NAS-MIB::jBODHdTable1"
    [[inputs.snmp.table.field]]
      name = "jBODHdIndex1"
      oid = "NAS-MIB::jBODHdIndex1"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "jBODHdDescr1"
      oid = "NAS-MIB::jBODHdDescr1"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "jBODHdTemperature1"
      oid = "NAS-MIB::sysVolumeFSEX"
    [[inputs.snmp.table.field]]
      name = "jBODHdStatus1"
      oid = "NAS-MIB::jBODHdStatus1"
    [[inputs.snmp.table.field]]
      name = "jBODHdModel1"
      oid = "NAS-MIB::jBODHdModel1"
      is_tag = true
    [[inputs.snmp.table.field]]
      name = "jBODHdCapacity1 "
      oid = "NAS-MIB::jBODHdCapacity1"
    [[inputs.snmp.table.field]]
      name = "jBODHdSmartInfo1"
      oid = "NAS-MIB::jBODHdSmartInfo1"```
Revisions
RevisionDescriptionCreated
InfluxDB

InfluxDB

by Grafana Labs
Grafana Labs solution

Easily monitor InfluxDB, an open source time series database, with Grafana Cloud's out-of-the-box monitoring solution.

Learn more

Get this dashboard

Import the dashboard template

or

Download JSON

Datasource
Dependencies