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