5.02021-11-21T21:34:23ZUPSAPC Smart-UPS through apcupsd and sshAPC Smart-UPS through apcupsd and ssh## Overview
This template is for situation when you have apcupsd, but cannot install zabbix agent. Tested with Centos 6.x.
You have to install apcupsd and configure it, configure ssh access for user by certificate.
Provides:
Items: model, serial number, number of switching (xfers), name (set in apcupsd config), status (ONLINE and etc), charge level, timeleft.
Triggers: minimal timeleft is equal or less then {$APC\_SMARTUPS\_MINIMAL\_TIMELEFT}, status is not ONLINE.
Requires macroses:
{$UPS\_GET\_MAININFO\_PERIOD} - period of getting model and etc.
{$UPS\_GET\_STATUS\_PERIOD} – period of getting status, timeleft, status.
{$APC\_SMARTUPS\_MINIMAL\_TIMELEFT} –minimal timeleft for trigger.
{$SSH\_CONNECT\_USERNAME} – user for connecting by ssh.
If you have any ideas to make this template better, comment, please.
UPSAPC UPC Battery InfoAPC UPC Device Info- apc battery charge levelDEPENDENTapc_battery.chargelevel030d90dAPC UPC Battery InfoREGEXBCHARGE\s*:(\s*)+(\d+)
\2ssh.run[apc_device.statusinfo]
- apc battery timeleftDEPENDENTapc_battery.timeleft030d90dAPC UPC Battery InfoREGEXTIMELEFT\s*:(\s*)+(\d+)
\2ssh.run[apc_device.statusinfo]{last()}={$APC_SMARTUPS_MINIMAL_TIMELEFT} or {last()}<{$APC_SMARTUPS_MINIMAL_TIMELEFT}apc timeleft is {ITEM.LASTVALUE} on {HOST.HOST}HIGHYES
- apc device modelDEPENDENTapc_device.model030d0TEXTAPC UPC Device InfoREGEXMODEL\s*:(\s*)+(.+)
\2ssh.run[apc_device.info]
- apc device nameDEPENDENTapc_device.name030d0TEXTSITE_NOTESAPC UPC Device InfoREGEXUPSNAME\s*:(\s*)+(.+)
\2ssh.run[apc_device.info]
- apc device numxfersDEPENDENTapc_device.numxfers030d90dAPC UPC Device InfoREGEXNUMXFERS\s*:(\s*)+(.+)
\2ssh.run[apc_device.info]
- apc device serial numberDEPENDENTapc_device.sn030d0TEXTAPC UPC Device InfoREGEXSERIALNO\s*:(\s*)+(.+)
\2ssh.run[apc_device.info]
- apc device statusDEPENDENTapc_device.status030d0TEXTAPC UPC Device InfoREGEXSTATUS\s*:(\s*)+(.+)
\2ssh.run[apc_device.statusinfo]{str(ONLINE)}<>1apc status is {ITEM.LASTVALUE} on {HOST.HOST}HIGHYES
- apc device infoSSHssh.run[apc_device.info]{$UPS_GET_MAININFO_PERIOD}0d0TEXT/sbin/apcaccess | /bin/egrep 'STATUS :|BCHARGE :|TIMELEFT :|UPSNAME'PUBLIC_KEY{$SSH_CONNECT_USERNAME}id_rsa.pubid_rsaAPC UPC Device Info
- apc device status infoSSHssh.run[apc_device.statusinfo]{$UPS_GET_STATUS_PERIOD}0d0TEXT/sbin/apcaccess | /bin/egrep 'STATUS :|BCHARGE :|TIMELEFT :'PUBLIC_KEY{$SSH_CONNECT_USERNAME}id_rsa.pubid_rsaAPC UPC Device Info