Tag Archives: UPS

Monitoring UPS connected to the Synology DiskStation via Zabbix

If you have an UPS which is connected to the Synology DiskStation (NAS) via USB and it’s compatible with the Synology NAS, you can monitor some of the UPS performance parameters using the SNMP.

I’m using Zabbix for the SNMP monitoring, which also means I can get some nice graphs from the collected data.

Configuring Zabbix to collect the SNMP data from the Synology NAS should be a very simple task. All you need to do is to create the SNMP items with the proper OIDs and afterwards create the graphs which present the collected data. But…

…when I created the SNMP items, Zabbix was unable to retrieve the SNMP values. In the Zabbix server logs there was an error “Value has unknown type 0x78”. I tried with the different item settings, I also tried deleting and recreating the items – nothing resolved my issue.

Since retrieving the SNMP values worked without a problem when using snmpget command, I configured the “User Parameters” in the Zabbix agent configuration on the Zabbix server as a workaround.

If you’re having the same issue, these are the lines you can add to your zabbix_agentd.conf file:

UserParameter=synology_upsBatteryChargeValue,snmpget -v 2c -c public | sed -e "s/\(.*Float\:\ \)\(.*\)/\2/g"
UserParameter=synology_upsInputFrequencyValue,snmpget -v 2c -c public | sed -e "s/\(.*Float\:\ \)\(.*\)/\2/g"
UserParameter=synology_upsInputVoltageValue,snmpget -v 2c -c public | sed -e "s/\(.*Float\:\ \)\(.*\)/\2/g"
UserParameter=synology_upsInputVoltageFault,snmpget -v 2c -c public | sed -e "s/\(.*Float\:\ \)\(.*\)/\2/g"
UserParameter=synology_upsInfoLoadValue,snmpget -v 2c -c public | sed -e "s/\(.*Float\:\ \)\(.*\)/\2/g"
UserParameter=synology_upsBatteryVoltageHigh,snmpget -v 2c -c public | sed -e "s/\(.*Float\:\ \)\(.*\)/\2/g"
UserParameter=synology_upsBatteryVoltageLow,snmpget -v 2c -c public | sed -e "s/\(.*Float\:\ \)\(.*\)/\2/g"
UserParameter=synology_upsBatteryVoltageNominal,snmpget -v 2c -c public | sed -e "s/\(.*Float\:\ \)\(.*\)/\2/g"
UserParameter=synology_upsInputCurrentNominal,snmpget -v 2c -c public | sed -e "s/\(.*Float\:\ \)\(.*\)/\2/g"
UserParameter=synology_upsInputFrequencyNominal,snmpget -v 2c -c public | sed -e "s/\(.*Float\:\ \)\(.*\)/\2/g"
UserParameter=synology_upsInputVoltageNominal,snmpget -v 2c -c public | sed -e "s/\(.*Float\:\ \)\(.*\)/\2/g"
UserParameter=synology_upsOutputVoltageValue,snmpget -v 2c -c public | sed -e "s/\(.*Float\:\ \)\(.*\)/\2/g"
UserParameter=synology_upsBatteryVoltageValue,snmpget -v 2c -c public | sed -e "s/\(.*Float\:\ \)\(.*\)/\2/g"

Once you add these lines to the configuration file, you need to restart the agent and configure the items in Zabbix (Type: Zabbix Agent).

Sample UPS performance graphs:
Battery Charge

UPS Load

Input voltage

Battery voltage