snmp-ups(8)
===========

NAME
----

snmp-ups - Multi-MIB Driver for SNMP UPS equipment

NOTE
----
This man page only documents the hardware-specific features of the
snmp-ups driver.  For information about the core driver, see
linkman:nutupsdrv[8].

SUPPORTED HARDWARE
------------------

The snmp-ups driver automatically detects and supports a wide range of devices by loading various MIBS, such as:

*ietf*::
UPS that is RFC 1628 (UPS MIB) compliant, e.g. MGE UPS SYSTEMS, Liebert, perhaps others (default)

*mge*::
MGE UPS SYSTEMS and MGE Office Protection Systems devices with SNMP cards (ref 66062, 66045, 66074 and 66244)

*apcc*::
APC AP9605, AP9606, AP9617, and AP9618 APC network management cards, as well as any others supporting the APC POWERNET MIB

*netvision*::
Socomec Sicon UPS with Netvision Web/SNMP management card/external box

*pw*::
Powerware devices with ConnectUPS SNMP cards

*pxgx_ups*::
Eaton devices with Power Xpert Gateway UPS Card

*aphel_genesisII*::
Eaton Powerware ePDU Monitored

*aphel_revelation*::
Eaton Powerware ePDU Managed

*raritan*::
Various Raritan PDUs (Dominion PX, PM, RPC)

*raritan-px2*::
Various Raritan PDUs (Dominion PX2)

*baytech*::
Various BayTech PDUs

*cpqpower*::
HP/Compaq AF401A management card, perhaps others

*cyberpower*::
Cyberpower RMCARD201. Should also support RMCARD100 (net version), RMCARD202 and RMCARD301

*huawei*::
Huawei UPS5000-E, perhaps others

*tripplite*::
TrippLite UPSes; at this time this is the IETF MIB mapping with just
the Tripplite entry point OID to verify the device vendor, and a real
hardware-specific configuration will be added in the future development.

For a complete and up-to-date listing, you can query the driver by passing
the *mibs=--list* argument (see below).

EXTRA ARGUMENTS
---------------

This driver supports the following optional settings in the
linkman:ups.conf[5]:

*port*='hostname[:port]'::
Set SNMP hostname, or IP address, and port number of the peer SNMP agent.
There is no default for the hostname, but the default port is 161.

*mibs*='--list'::
A special option which allows to list the currently known MIB-to-NUT mappings
and exit the driver binary, intended for command-line usage like this:
----
$ snmp-ups -a snmp-test -x mibs=--list
----

*mibs*='name'::
Set MIB compliance (default=auto, allowed entries: refer to SUPPORTED HARDWARE above).
With "auto", the driver will try a select set of SNMP objects until it finds
one that the device responds to.  Note that since NUT 2.6.2, snmp-ups has a new
method that uses sysObjectID (which is a pointer to the preferred MIB of the
device) to detect supported devices.  This renders void the use of "mibs" option.
   
*community*='name'::
Set community name (default = public).
Note that a RW community name is required to change UPS settings (as for a powerdown).

*snmp_version*='version'::
Set SNMP version (default = v1, allowed: v2c, v3)

*snmp_retries*='retries'::
Specifies the number of Net-SNMP retries to be used in the requests (default=5)

*snmp_timeout*='timeout'::
Specifies the Net-SNMP timeout in seconds between retries (default=1)

*pollfreq*='num'::
Set polling interval for full updates, in seconds, to reduce SNMP network
traffic relative to the quick updates performed every "pollinterval" (the
latter option is described in linkman:ups.conf[5]). The default value is 30 (in
seconds).

*notransferoids*::
Disable the monitoring of the low and high voltage transfer OIDs in
the hardware.  This will remove input.transfer.low and input.transfer.high
from the list of variables.  This should only be used on APCC Symmetra
equipment which has strangeness in the three-phase power reporting.

*secLevel*='value'::
Set the securityLevel used for SNMPv3 messages (default=noAuthNoPriv,
allowed: authNoPriv,authPriv)

*secName*='value'::
Set the securityName used for authenticated SNMPv3 messages (no default)

*authPassword*='value'::
Set the authentication pass phrase used for authenticated SNMPv3 messages
(no default)

*privPassword*='value'::
Set the privacy pass phrase used for encrypted SNMPv3 messages (no default)

*authProtocol*='value'::
Set the authentication protocol (MD5 or SHA) used for authenticated SNMPv3
messages (default=MD5)

*privProtocol*='value'::
Set the privacy protocol (DES or AES) used for encrypted SNMPv3 messages
(default=DES)

REQUIREMENTS
------------
You will need to install the Net-SNMP package from
http://www.net-snmp.org/ before building this driver.

SNMP v3 also requires OpenSSL support from http://www.openssl.org.

LIMITATIONS
-----------
Shutdown
~~~~~~~~

The shutdown sequence should be tested before relying on NUT to send a
shutdown command to the UPS. The problem is that the host network stack may
have been torn down by the time the driver is invoked to send the shutdown
command. The driver attempts to send +shutdown.return+, +shutdown.reboot+,
and +load.off.delay+ commands to the UPS in sequence, stopping after the first
supported command.

INSTALLATION
------------
This driver is only built if the Net-SNMP development files are present at
configuration time.  You can also force it to be built by using
+configure --with-snmp=yes+ before calling make.

EXAMPLES
--------
The hostname of the UPS is specified with the "port" value in
`ups.conf`, and may include a non-standard (161) remote peer port:

	[snmpv1]
		driver = snmp-ups
		port = snmp-ups.example.com
		community = public
		snmp_version = v1
		pollfreq = 15
		desc = "Example SNMP v1 device"

	[snmpv3]
		driver = snmp-ups
		port = 166.99.224.132:170
		snmp_version = v3
		secLevel = authPriv
		secName = mysecurityname
		authPassword = myauthenticationpassphrase
		privPassword = myprivatepassphrase
		desc = "Example SNMP v3 device, with the highest security level"

AUTHORS
-------
Arnaud Quette, Dmitry Frolov


SEE ALSO
--------

The core driver:
~~~~~~~~~~~~~~~~
linkman:nutupsdrv[8]

NUT SNMP Protocols Library
~~~~~~~~~~~~~~~~~~~~~~~~~~
Available at: http://www.networkupstools.org/ups-protocols.html#_snmp

Internet resources:
~~~~~~~~~~~~~~~~~~~
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/
