Synology Dashboard

Dashboard

A Dashboard to monitor Synology NAS, based on Jean-François Perillo work (Dashboard ID 1727).
Last updated: 2 years ago

Downloads: 415

Reviews: 3

    This dashbord is based on Jean-François Perillo work (Dashboard ID 1727)

    • Adds individual disk template variable
    • Adds individual disk load and IOPS
    • Filters out irrelevant interface names to keep just eth* and bond*

    The Telegraf collector configuration is MIB-based so all of the required MIBs you will need and the telegraf configuration files are available in https://github.com/ybizeul/Synology_dashboard_grafana

    Collector Configuration Details

    Make sure telegraf has access to the following MIBs :

    • HOST-RESOURCES-MIB
    • IF-MIB
    • RFC1213-MIB
    • SYNOLOGY-DISK-MIB
    • SYNOLOGY-ISCSILUN-MIB
    • SYNOLOGY-RAID-MIB
    • SYNOLOGY-SERVICES-MIB
    • SYNOLOGY-SMART-MIB
    • SYNOLOGY-SPACEIO-MIB
    • SYNOLOGY-STORAGEIO-MIB
    • SYNOLOGY-SYSTEM-MIB
    • SYNOLOGY-UPS-MIB
    • UCD-DEMO-MIB
    • UCD-DISKIO-MIB
    • UCD-DLMOD-MIB
    • UCD-IPFILTER-MIB
    • UCD-IPFWACC-MIB
    • UCD-SNMP-MIB-OLD
    • UCD-SNMP-MIB
    ###############################################################################
    #                            INPUT PLUGINS                                    #
    ###############################################################################
    ##
    ## Retrieves details via SNMP from remote agents
    ##
    
    ##
    ## Synology 
    ##
     [[inputs.snmp]]
       # List of agents to poll
       agents = [  "xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx" ]
       # Polling interval
       interval = "60s"
       # Timeout for each SNMP query.
       timeout = "10s"
       # Number of retries to attempt within timeout.
       retries = 3
       # SNMP version, UAP only supports v1
       version = 2
       # SNMP community string.
       community = "public"
       # The GETBULK max-repetitions parameter
       max_repetitions = 30
       # Measurement name
       name = "snmp.SYNO"
       ##
       ## System Details
       ##
       #  System name (hostname)
       [[inputs.snmp.field]]
         is_tag = true
         name = "sysName"
         oid = "RFC1213-MIB::sysName.0"
       #  System vendor OID
       [[inputs.snmp.field]]
         name = "sysObjectID"
         oid = "RFC1213-MIB::sysObjectID.0"
       #  System description
       [[inputs.snmp.field]]
         name = "sysDescr"
         oid = "RFC1213-MIB::sysDescr.0"
       #  System contact
       [[inputs.snmp.field]]
         name = "sysContact"
         oid = "RFC1213-MIB::sysContact.0"
       #  System location
       [[inputs.snmp.field]]
         name = "sysLocation"
         oid = "RFC1213-MIB::sysLocation.0"
       #  System uptime
       [[inputs.snmp.field]]
         name = "sysUpTime"
         oid = "RFC1213-MIB::sysUpTime.0"
       # Inet interface
       [[inputs.snmp.table]]
         oid = "IF-MIB::ifTable"
         [[inputs.snmp.table.field]]
           is_tag = true
         oid = "IF-MIB::ifDescr"
       #Syno disk
       [[inputs.snmp.table]]
         oid = "SYNOLOGY-DISK-MIB::diskTable"
         [[inputs.snmp.table.field]]
           is_tag = true
         oid = "SYNOLOGY-DISK-MIB::diskID" 
       #Syno raid
       [[inputs.snmp.table]]
         oid = "SYNOLOGY-RAID-MIB::raidTable"
         [[inputs.snmp.table.field]]
           is_tag = true
         oid = "SYNOLOGY-RAID-MIB::raidName" 
       #Syno load
       [[inputs.snmp.table]]
         oid = "UCD-SNMP-MIB::laTable"
         [[inputs.snmp.table.field]]
           is_tag = true
         oid = "UCD-SNMP-MIB::laNames"
       #  System memTotalSwap
       [[inputs.snmp.field]]
         name = "memTotalSwap"
         oid = "UCD-SNMP-MIB::memTotalSwap.0"
       #  System memAvailSwap
       [[inputs.snmp.field]]
         name = "memAvailSwap"
         oid = "UCD-SNMP-MIB::memAvailSwap.0"
       #  System memTotalReal
       [[inputs.snmp.field]]
         name = "memTotalReal"
         oid = "UCD-SNMP-MIB::memTotalReal.0"
       #  System memAvailReal
       [[inputs.snmp.field]]
         name = "memAvailReal"
         oid = "UCD-SNMP-MIB::memAvailReal.0"
       #  System memTotalFree
       [[inputs.snmp.field]]
         name = "memTotalFree"
         oid = "UCD-SNMP-MIB::memTotalFree.0"
       #  System Status
       [[inputs.snmp.field]]
         name = "systemStatus"
         oid = "SYNOLOGY-SYSTEM-MIB::systemStatus.0"
       #  System temperature
       [[inputs.snmp.field]]
         name = "temperature"
         oid = "SYNOLOGY-SYSTEM-MIB::temperature.0"
       #  System powerStatus
       [[inputs.snmp.field]]
         name = "powerStatus"
         oid = "SYNOLOGY-SYSTEM-MIB::powerStatus.0"
       #  System systemFanStatus
       [[inputs.snmp.field]]
         name = "systemFanStatus"
         oid = "SYNOLOGY-SYSTEM-MIB::systemFanStatus.0"
       #  System cpuFanStatus
       [[inputs.snmp.field]]
         name = "cpuFanStatus"
         oid = "SYNOLOGY-SYSTEM-MIB::cpuFanStatus.0"
       #  System modelName
       [[inputs.snmp.field]]
         name = "modelName"
         oid = "SYNOLOGY-SYSTEM-MIB::modelName.0"
       #  System serialNumber
       [[inputs.snmp.field]]
         name = "serialNumber"
         oid = "SYNOLOGY-SYSTEM-MIB::serialNumber.0"
       #  System version
       [[inputs.snmp.field]]
         name = "version"
         oid = "SYNOLOGY-SYSTEM-MIB::version.0"
       #  System upgradeAvailable
       [[inputs.snmp.field]]
         name = "upgradeAvailable"
         oid = "SYNOLOGY-SYSTEM-MIB::upgradeAvailable.0"
       # System volume   
       [[inputs.snmp.table]]
         oid = "HOST-RESOURCES-MIB::hrStorageTable"
       [[inputs.snmp.table.field]]
           is_tag = true
         oid = "HOST-RESOURCES-MIB::hrStorageDescr"
       # System ssCpuUser 
       [[inputs.snmp.field]]
         name = "ssCpuUser"
         oid = ".1.3.6.1.4.1.2021.11.9.0"
       # System ssCpuSystem  
       [[inputs.snmp.field]]
         name = "ssCpuSystem"
         oid = ".1.3.6.1.4.1.2021.11.10.0"
       # System ssCpuIdle   
       [[inputs.snmp.field]]
         name = "ssCpuIdle"
         oid = ".1.3.6.1.4.1.2021.11.11.0"
       # Service users CIFS
       [[inputs.snmp.table.field]]
         name = "usersCIFS"
         oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
         oid_index_suffix = "1"
       # Service users AFP
       [[inputs.snmp.table.field]]
         name = "usersAFP"
         oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
         oid_index_suffix = "2"
       # Service users NFS
       [[inputs.snmp.table.field]]
         name = "usersNFS"
         oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
         oid_index_suffix = "3"
       # Service users FTP
       [[inputs.snmp.table.field]]
         name = "usersFTP"
         oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
         oid_index_suffix = "4"
       # Service users SFTP
       [[inputs.snmp.table.field]]
         name = "usersSFTP"
         oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
         oid_index_suffix = "5"
       # Service users HTTP
       [[inputs.snmp.table.field]]
         name = "usersHTTP"
         oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
         oid_index_suffix = "6"
       # Service users TELNET
       [[inputs.snmp.table.field]]
         name = "usersTELNET"
         oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
         oid_index_suffix = "7"
       # Service users SSH
       [[inputs.snmp.table.field]]
         name = "usersSSH"
         oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
         oid_index_suffix = "8"
       # Service users OTHER
       [[inputs.snmp.table.field]]
         name = "usersOTHER"
         oid = "SYNOLOGY-SERVICES-MIB::serviceUsers"
         oid_index_suffix = "9"
       # UPS Status
       [[inputs.snmp.table.field]]
         name = "upsStatus"
         oid = "SYNOLOGY-UPS-MIB::upsInfoStatus"
       # UPS Load
       [[inputs.snmp.table.field]]
         name = "upsLoad"
         oid = "SYNOLOGY-UPS-MIB::upsInfoLoadValue"
       # UPS Battery Charge
       [[inputs.snmp.table.field]]
         name = "upsCharge"
         oid = "SYNOLOGY-UPS-MIB::upsBatteryChargeValue"
       # UPS Battery Charge Warning
       [[inputs.snmp.table.field]]
         name = "upsWarning"
         oid = "SYNOLOGY-UPS-MIB::upsBatteryChargeWarning"
       # Disks statistics
       [[inputs.snmp.table]]
         oid = "SYNOLOGY-STORAGEIO-MIB::storageIOTable"
         [[inputs.snmp.table.field]]
           is_tag = true
         oid = "SYNOLOGY-STORAGEIO-MIB::storageIODevice"