All Collections
Übercool tricks and answers
Add-ons
Monitor Synology storage devices (SNMP add-on)
Monitor Synology storage devices (SNMP add-on)
IT-Man avatar
Written by IT-Man
Updated over a week ago

Get detailed information through SNMP

Know when a disk fails, a volume is degraded or running out of available free space. Synology devices supports SNMP and offers info about health of volumes and available space left, but in a format that requires a lot of effort to parse correctly.

Use the Panorama9 package for Synology to extend the built-in SNMP solution with easy to consume info.

Once the package is installed the device will automatically be detected by the Panorama9 system and you don't have to do anything else besides the installation. If used without an Panorama9 account you may still benefit from the extra information you can extract.

Installation requirements

Default the Synology device only allows installation of packages signed by Synology. To install the Panorama9 package you must configure the Synology device to accept third-party package publishers.

Login to the Synology administration interface (http://IP_ADDRESS:5000) and navigate to Package Center ->Settings -> General -> Choose "Any Publisher" under "Trust Level".

You can revert to the default trust level once the Panorama9 package has been installed.

The Panorama9 package requires Perl, and it must be installed before the P9 package. Perl can be found in the "Package Center". Just enter "Perl" in the search box to quickly locate the package.

Install the Panorama9 package for Synology

To install the Panorama9 package for Synology download the "synology_p9.spk" file, login to the Synology administration interface and open the "Package Center". Click on the "Manual install" button and choose the file you just downloaded.

Once installed the Panorama9 system will automatically detect your Synology device (allow up to 24 hours before the device is shown in the Dashboard, since the Panorama9 Cloud will only try to determine hardware type once per day).

An issue will be generated if a volume or disk isn't healthy or free space left is critical low. Through the Panorama9 Dashboard you are also able to view the serial number, model, plot usage graphs etc.

Note: You must re-install the package every time you update the SNMP configuration through the Synology administation interface. Any changes will overwrite the the Panorama9 settings. 

What the package changed

The Panorama9 package adds the following 2 lines to "snmpd.conf":

sysDescr Linux DiskStation 2.6.32.12 #1955 Sat Nov 26 14:50:54 CST 2011 armv5tel GNU/Linux synology_88f6281_210j - synology nas (extend p9)
extend p9 /usr/syno/synoman/webman/3rdparty/p9/disk_info.pl

Note that the above "sysDescr" will change to match your type of Synology hardware.

The SNMP service will run a script (included with the Panorama9 package) that analyzes the configured disks and volumes.

SNMP query example

To query and view the extended SNMP output use your favourite SNMP tool, e.g. SnmpWalk (remember to replace command line options with relevant info about your device, such as IP address):

# snmpwalk -Ot -c public -v 1 192.168.0.10 1.3.6.1.4.1.8072.1.3.2NET-SNMP-EXTEND-MIB::nsExtendNumEntries.0 = INTEGER: 1NET-SNMP-EXTEND-MIB::nsExtendCommand."p9" = STRING: /usr/syno/synoman/webman/3rdparty/p9/disk_info.plNET-SNMP-EXTEND-MIB::nsExtendArgs."p9" = STRING: NET-SNMP-EXTEND-MIB::nsExtendInput."p9" = STRING: NET-SNMP-EXTEND-MIB::nsExtendCacheTime."p9" = INTEGER: 5NET-SNMP-EXTEND-MIB::nsExtendExecType."p9" = INTEGER: exec(1)NET-SNMP-EXTEND-MIB::nsExtendRunType."p9" = INTEGER: run-on-read(1)NET-SNMP-EXTEND-MIB::nsExtendStorage."p9" = INTEGER: permanent(4)NET-SNMP-EXTEND-MIB::nsExtendStatus."p9" = INTEGER: active(1)NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."p9" = STRING: OK - SYSTEM, model: DS210jv30-j, ser: X8Y6Z12345, hn: DiskStation, fw: 3.2-1955, disks: 2, up: 279611NET-SNMP-EXTEND-MIB::nsExtendOutputFull."p9" = STRING: OK - SYSTEM, model: DS210jv30-j, ser: X8Y6Z12345, hn: DiskStation, fw: 3.2-1955, disks: 2, up: 279611OK - RAID, md2 raid1 [UU] 2/2 (A:sda5,sdb5 F:none S:none), size: 1918200920, free: 1168303984, name: /volume1OK - RAID, md1 raid1 [UU] 2/2 (A:sda2,sdb2 F:none S:none)OK - RAID, md0 raid1 [UU] 2/2 (A:sda1,sdb1 F:none S:none)OK - HD, model: Hitachi HDS722020ALA330, size: 2000398934016, serial: XYZ123409876, temp: 31, dev: sdaOK - HD, model: Hitachi HDS722020ALA330, size: 2000398934016, serial: ZYX432167890, temp: 30, dev: sdbNET-SNMP-EXTEND-MIB::nsExtendOutNumLines."p9" = INTEGER: 6NET-SNMP-EXTEND-MIB::nsExtendResult."p9" = INTEGER: 0NET-SNMP-EXTEND-MIB::nsExtendOutLine."p9".1 = STRING: OK - SYSTEM, model: DS210jv30-j, ser: X8Y6Z12345, hn: DiskStation, fw: 3.2-1955, disks: 2, up: 279611NET-SNMP-EXTEND-MIB::nsExtendOutLine."p9".2 = STRING: OK - RAID, md2 raid1 [UU] 2/2 (A:sda5,sdb5 F:none S:none), size: 1918200920, free: 1168303984, name: /volume1NET-SNMP-EXTEND-MIB::nsExtendOutLine."p9".3 = STRING: OK - RAID, md1 raid1 [UU] 2/2 (A:sda2,sdb2 F:none S:none)NET-SNMP-EXTEND-MIB::nsExtendOutLine."p9".4 = STRING: OK - RAID, md0 raid1 [UU] 2/2 (A:sda1,sdb1 F:none S:none)NET-SNMP-EXTEND-MIB::nsExtendOutLine."p9".5 = STRING: OK - HD, model: Hitachi HDS722020ALA330, size: 2000398934016, serial: XYZ123409876, temp: 31, dev: sdaNET-SNMP-EXTEND-MIB::nsExtendOutLine."p9".6 = STRING: OK - HD, model: Hitachi HDS722020ALA330, size: 2000398934016, serial: ZYX432167890, temp: 30, dev: sdb

Abbreviations used in output:

SYSTEM:

  • ser: - serial number of device

  • hn: - hostname of device

  • fw: - firmware version

  • up: - time since boot (seconds)

RAID:

  • 2/2 - number of disks online vs. total number of disks configured to be part of the RAID

  • A: - active disks

  • F: - failed disks

  • S: - spare disks

  • size: - volume size in KB (not displayed for RAID md0 and md1)

  • free: - available free volume space in KB (not displayed for RAID md0 and md1)

  • name: - name of mounted volume (not displayed for RAID md0 and md1)

HD:

  • model: - physical hard disk vendor and model

  • size: - size (bytes)

  • serial: serial number

  • temp: disk temperature (celsius)

  • dev: device name

Nagios compatible output

The output is compatible with Nagios and is easy to integrate with the SNMP plugin. Status may be any of 'OK', 'WARNING', 'CRITICAL', 'UNKNOWN' or 'DEPENDENT'.

Did this answer your question?