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:

   # 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