Pandora fms monitoring for synology nas server.
(require the DMS 4.x firmware for the snology nas)
checks: HDD Temp, HDD Status, USV Status, Load, Charge and ext. eSata HDD status
standart checks (like volume load etc) are from the pandora agent. (some will not work…)
You can monitor the synology nas server with the “pandorafms agent for unix-4.X” (depends on your pandora verion)
Just download install the agent on the synology nas via ssh. (with putty etc.)
get it from: http://pandorafms.com/pandora/download/en
FreeBSD, Solaris, HPUX, AIX, MacOS (Tarball)
Install the agent. you will get some errors when you install it.
read the error lines on the console and create the missing folders manual which the installer is searching for. (man and man1 etc.) start the installer again with –force option. now the agent will work. make a start script if you whant that the agent ist starting with the server automatic.
Some of the sample modules (in the pandora_agent.conf) will not work because of the minimal linux shell system (BusyBox) on the synology nas. some commands are not available. edit the pandora_agent.conf with your checks that are working on the synology system. try them. you could use optware for install other command tool (like vmstat) for the synology nas to get the standart checks the agent conf is using. the pandora agend start command is working but stop not. stop it with kill “PID”.
the module checks below are for the Synology SDS1511+
if you have a 8 HDD bay or more synology nas model copy the hdd temp and hdd status checks. change disk number an letter. (/dev/sdx) for less than 5 hdd bay delete or uncomment the other disk checks.
after editing the pandora_agent.conf you have to restat the agent daemon lo load the new config
dont care about the error lik ps -A dind not work. this is that BusyBox ps command dont know the -A parameter etc. try to use commands that work on BusyBox. (edit this in pandora_agent.conf)
goodie:
get a synology 3rd party modul that adds some new snmp oid´s:
https://panorama9.zendesk.com/entries/21677572-monitor-synology-storage-devices-snmp-add-on
Abbreviations used in output:
SYSTEM:
ser: – serial number of device
hn: – hostname of device
fw: – firmware version
up: – time in seconds since boot
RAID:
2/2 – number of disks online vs. total number of disks configured to be part of the RAID
A: – number of active disks
F: – number of disks failed
S: – number of spare disks
size: – volume size in KB (optional)
free: – available free volume space in KB (optional)
name: – name of mounted volume (optional)
HD:
model: – physical hard disk vendor and model
size: – physical hard disk size in bytes
serial: serial number of hard disk
Module data
# Custom Script 2012 [email protected]
# Synology DSM4.x DS1511+ Checks: S.M.A.R.T, APC USV, extHDD
# S.M.A.R.T Health Status
module_begin
module_name Disk 01 Status
module_type async_string
module_exec /usr/syno/bin/smartctl -H /dev/sda | grep Status: | awk '{ print $4 }'
module_description S.M.A.R.T Status Disk01
module_group Hardware
module_end
module_begin
module_name Disk 02 Status
module_type async_string
module_exec /usr/syno/bin/smartctl -H /dev/sdb | grep Status: | awk '{ print $4 }'
module_description S.M.A.R.T Status Disk02
module_group Hardware
module_end
module_begin
module_name Disk 03 Status
module_type async_string
module_exec /usr/syno/bin/smartctl -H /dev/sdc | grep Status: | awk '{ print $4 }'
module_description S.M.A.R.T Status Disk03
module_group Hardware
module_end
module_begin
module_name Disk 04 Status
module_type async_string
module_exec /usr/syno/bin/smartctl -H /dev/sdd | grep Status: | awk '{ print $4 }'
module_description S.M.A.R.T Status Disk04
module_group Hardware
module_end
module_begin
module_name Disk 05 Status
module_type async_string
module_exec /usr/syno/bin/smartctl -H /dev/sde | grep Status: | awk '{ print $4 }'
module_description S.M.A.R.T Status Disk05
module_group Hardware
module_end
# S.M.A.R.T Status Info
module_begin
module_name Disk 01 Temp
module_type generic_data
module_exec /usr/syno/bin/smartctl -a -d ata /dev/sda | grep Temperature_Celsius | awk '{ print $10 }'
module_description Temp sata Disk 01 in Celsius
module_group Hardware
module_end
module_begin
module_name Disk 02 Temp
module_type generic_data
module_exec /usr/syno/bin/smartctl -a -d ata /dev/sdb | grep Temperature_Celsius | awk '{ print $10 }'
module_description Temp sata Disk 02 in Celsius
module_group Hardware
module_end
module_begin
module_name Disk 03 Temp
module_type generic_data
module_exec /usr/syno/bin/smartctl -a -d ata /dev/sdc | grep Temperature_Celsius | awk '{ print $10 }'
module_description Temp sata Disk 03 in Celsius
module_group Hardware
module_end
module_begin
module_name Disk 04 Temp
module_type generic_data
module_exec /usr/syno/bin/smartctl -a -d ata /dev/sdd | grep Temperature_Celsius | awk '{ print $10 }'
module_description Temp sata Disk 04 in Celsius
module_group Hardware
module_end
module_begin
module_name Disk 05 Temp
module_type generic_data
module_exec /usr/syno/bin/smartctl -a -d ata /dev/sde | grep Temperature_Celsius | awk '{ print $10 }'
module_description Temp sata Disk 05 in Celsius
module_group Hardware
module_end
# APC USV: USB APC
module_begin
module_name USV Battery Charge
module_type generic_data
module_exec /usr/syno/bin/upsc ups@localhost | grep battery.charge: | awk '{ print $2 }'
module_description APC USV Batterie Ladezustand 0-100 %
module_group Hardware
module_end
module_begin
module_name USV Battery Runtime
module_type generic_data
module_exec /usr/syno/bin/upsc ups@localhost | grep battery.runtime: | awk '{ print $2 }'
module_description APC USV Batterie Rest Laufzeit in sek.
module_group Hardware
module_end
module_begin
module_name USV Input Voltage
module_type generic_data
module_exec /usr/syno/bin/upsc ups@localhost | grep input.voltage: | awk '{ print $2 }'
module_description APC USV Netzeingang in Volt
module_group Hardware
module_end
module_begin
module_name USV Load
module_type generic_data
module_exec /usr/syno/bin/upsc ups@localhost | grep ups.load: | awk '{ print $2 }'
module_description APC USV Auslastung 0-100 %
module_group Hardware
module_end
module_begin
module_name USV Status
module_type async_string
module_exec /usr/syno/bin/upsc ups@localhost | grep ups.status: | awk '{ print $2 }'
module_description APC USV Status
module_group Hardware
module_end
# external eSATA HDD
module_begin
module_name external eSATA Disk Status
module_type async_string
module_exec /usr/syno/bin/smartctl -H /dev/sdh1 | grep Status: | awk '{ print $4 }'
module_description S.M.A.R.T Status external eSATA Disk
module_interval 84600
module_group Hardware
module_end


