add nut
This commit is contained in:
39
nut/nut.conf
Normal file
39
nut/nut.conf
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# Network UPS Tools: example nut.conf
|
||||||
|
#
|
||||||
|
##############################################################################
|
||||||
|
# General section
|
||||||
|
##############################################################################
|
||||||
|
# The MODE determines which part of the NUT is to be started, and which
|
||||||
|
# configuration files must be modified.
|
||||||
|
#
|
||||||
|
# This file try to standardize the various files being found in the field, like
|
||||||
|
# /etc/default/nut on Debian based systems, /etc/sysconfig/ups on RedHat based
|
||||||
|
# systems, ... Distribution's init script should source this file to see which
|
||||||
|
# component(s) has to be started.
|
||||||
|
#
|
||||||
|
# The values of MODE can be:
|
||||||
|
# - none: NUT is not configured, or use the Integrated Power Management, or use
|
||||||
|
# some external system to startup NUT components. So nothing is to be started.
|
||||||
|
# - standalone: This mode address a local only configuration, with 1 UPS
|
||||||
|
# protecting the local system. This implies to start the 3 NUT layers (driver,
|
||||||
|
# upsd and upsmon) and the matching configuration files. This mode can also
|
||||||
|
# address UPS redundancy.
|
||||||
|
# - netserver: same as for the standalone configuration, but also need
|
||||||
|
# some more network access controls (firewall, tcp-wrappers) and possibly a
|
||||||
|
# specific LISTEN directive in upsd.conf.
|
||||||
|
# Since this MODE is opened to the network, a special care should be applied
|
||||||
|
# to security concerns.
|
||||||
|
# - netclient: this mode only requires upsmon.
|
||||||
|
#
|
||||||
|
# IMPORTANT NOTE:
|
||||||
|
# This file is intended to be sourced by standard POSIX shell scripts (so
|
||||||
|
# there is no guaranteed `export VAR=VAL` syntax) and by systemd on Linux.
|
||||||
|
# You MUST NOT use spaces around the equal sign!
|
||||||
|
|
||||||
|
MODE=netserver
|
||||||
|
|
||||||
|
# Uncomment this to allow starting the service even if ups.conf has no device
|
||||||
|
# sections at the moment. This environment variable overrides the built-in
|
||||||
|
# "false" and an optional same-named default flag that can be set in upsd.conf:
|
||||||
|
#ALLOW_NO_DEVICE=true
|
||||||
|
#export ALLOW_NO_DEVICE
|
||||||
215
nut/ups.conf
Normal file
215
nut/ups.conf
Normal file
@ -0,0 +1,215 @@
|
|||||||
|
maxretry = 3
|
||||||
|
|
||||||
|
[rack]
|
||||||
|
driver = "usbhid-ups"
|
||||||
|
port = "auto"
|
||||||
|
vendorid = "0764"
|
||||||
|
productid = "0601"
|
||||||
|
product = "CP1500PFCRM2U"
|
||||||
|
serial = "BHWNS7000156"
|
||||||
|
vendor = "CPS"
|
||||||
|
bus = "001"
|
||||||
|
override.battery.charge.low = 50
|
||||||
|
override.battery.runtime.low = 600
|
||||||
|
|
||||||
|
|
||||||
|
# Network UPS Tools: example ups.conf
|
||||||
|
#
|
||||||
|
# --- SECURITY NOTE ---
|
||||||
|
#
|
||||||
|
# If you use snmp-ups and set a community string in here, you
|
||||||
|
# will have to secure this file to keep other users from obtaining
|
||||||
|
# that string. It needs to be readable by upsdrvctl and any drivers,
|
||||||
|
# and by upsd.
|
||||||
|
#
|
||||||
|
# ---
|
||||||
|
#
|
||||||
|
# This is where you configure all the UPSes that this system will be
|
||||||
|
# monitoring directly. These are usually attached to serial ports, but
|
||||||
|
# USB devices and SNMP devices are also supported.
|
||||||
|
#
|
||||||
|
# This file is used by upsdrvctl to start and stop your driver(s), and
|
||||||
|
# is also used by upsd to determine which drivers to monitor. The
|
||||||
|
# drivers themselves also read this file for configuration directives.
|
||||||
|
#
|
||||||
|
# The general form is:
|
||||||
|
#
|
||||||
|
# [upsname]
|
||||||
|
# driver = <drivername>
|
||||||
|
# port = <portname>
|
||||||
|
# < any other directives here >
|
||||||
|
#
|
||||||
|
# The section header ([upsname]) can be just about anything as long as
|
||||||
|
# it is a single word inside brackets. upsd uses this to uniquely
|
||||||
|
# identify a UPS on this system.
|
||||||
|
#
|
||||||
|
# If you have a UPS called snoopy, your section header would be "[snoopy]".
|
||||||
|
# On a system called "doghouse", the line in your upsmon.conf to monitor
|
||||||
|
# and manage it would look something like this:
|
||||||
|
#
|
||||||
|
# MONITOR snoopy@doghouse 1 upsmonuser mypassword primary
|
||||||
|
#
|
||||||
|
# It might look like this if monitoring in "secondary" mode (without any
|
||||||
|
# ability to directly manage the UPS) from a different system:
|
||||||
|
#
|
||||||
|
# MONITOR snoopy@doghouse 1 upsmonuser mypassword secondary
|
||||||
|
#
|
||||||
|
# Configuration directives
|
||||||
|
# ------------------------
|
||||||
|
#
|
||||||
|
# These directives are used by upsdrvctl only and should be specified outside
|
||||||
|
# of a driver definition:
|
||||||
|
#
|
||||||
|
# maxretry: OPTIONAL. Specify the number of attempts to start the driver(s),
|
||||||
|
# in case of failure, before giving up. A delay of 'retrydelay' is
|
||||||
|
# inserted between each attempt. Caution should be taken when using
|
||||||
|
# this option, since it can impact the time taken by your system to
|
||||||
|
# start.
|
||||||
|
#
|
||||||
|
# The built-in default is 1 attempt.
|
||||||
|
#
|
||||||
|
# retrydelay: OPTIONAL. Specify the delay between each restart attempt of the
|
||||||
|
# driver(s), as specified by 'maxretry'. Caution should be taken
|
||||||
|
# when using this option, since it can impact the time taken by your
|
||||||
|
# system to start.
|
||||||
|
#
|
||||||
|
# The default is 5 seconds.
|
||||||
|
#
|
||||||
|
# chroot: OPTIONAL. Used for securing. See man page for details.
|
||||||
|
#
|
||||||
|
# driverpath: OPTIONAL. Used for custom setups. See man page for details.
|
||||||
|
#
|
||||||
|
# nowait: OPTIONAL. Tell upsdrvctl to not wait at all for the driver(s)
|
||||||
|
# to execute the requested command. Fire and forget.
|
||||||
|
#
|
||||||
|
# pollinterval: OPTIONAL. The status of the UPS will be refreshed after a
|
||||||
|
# maximum delay which is controlled by this setting (default
|
||||||
|
# 2 seconds). This may be useful if the driver is creating too
|
||||||
|
# much of a load on your system or network.
|
||||||
|
# Note that some drivers also have an option called *pollfreq*
|
||||||
|
# which controls how frequently some of the less critical
|
||||||
|
# parameters are polled. See respective driver man pages.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set maxretry to 3 by default, this should mitigate race with slow devices:
|
||||||
|
# These directives can be set outside and inside a driver definition, with
|
||||||
|
# slightly different meanings per context:
|
||||||
|
#
|
||||||
|
# maxstartdelay: OPTIONAL. This can be set as a global variable
|
||||||
|
# above your first UPS definition and it can also be
|
||||||
|
# set in a UPS section. This value controls how long
|
||||||
|
# upsdrvctl will wait for the driver to finish starting.
|
||||||
|
# This keeps your system from getting stuck due to a
|
||||||
|
# broken driver or UPS.
|
||||||
|
# The default is 45 seconds.
|
||||||
|
#
|
||||||
|
# debug_min: OPTIONAL. Specify a minimum debug level for all driver daemons
|
||||||
|
# (when specified at global level), or for this driver daemon
|
||||||
|
# (when specified in a driver section), e.g. for troubleshooting
|
||||||
|
# a deployment. This does not directly impact the foreground or
|
||||||
|
# background running mode. If both the global and driver level
|
||||||
|
# `debug_min` are set, the driver-level setting takes precedence.
|
||||||
|
# Command-line option `-D` can only increase this verbosity level.
|
||||||
|
#
|
||||||
|
# user, group: OPTIONAL. Overrides the compiled-in (also global-section,
|
||||||
|
# when used in driver section) default unprivileged user/group
|
||||||
|
# name for NUT device driver. Impacts access rights used for
|
||||||
|
# the socket file access (group) and communication ports (user).
|
||||||
|
#
|
||||||
|
# synchronous: OPTIONAL. The driver work by default in asynchronous
|
||||||
|
# mode (like *no*) with fallback to synchronous if sending
|
||||||
|
# fails (i.e *synchronous=auto*). This means that all data
|
||||||
|
# are pushed by the driver on the communication socket to
|
||||||
|
# upsd (Unix socket on Unix, Named pipe on Windows) without
|
||||||
|
# waiting for these data to be actually consumed. With
|
||||||
|
# some HW, such as ePDUs, that can produce a lot of data,
|
||||||
|
# asynchronous mode may cause some congestion, resulting in
|
||||||
|
# the socket to be full, and the driver to appear as not
|
||||||
|
# connected. By enabling the 'synchronous' flag
|
||||||
|
# (value = 'yes'), the driver will wait for data to be
|
||||||
|
# consumed by upsd, prior to publishing more. This can be
|
||||||
|
# enabled either globally or per driver.
|
||||||
|
#
|
||||||
|
# The default is 'no' (i.e. asynchronous mode) for backward
|
||||||
|
# compatibility of the driver behavior.
|
||||||
|
#
|
||||||
|
|
||||||
|
# These directives are common to all drivers that support ups.conf:
|
||||||
|
#
|
||||||
|
# driver: REQUIRED. Specify the program to run to talk to this UPS.
|
||||||
|
# apcsmart, bestups, and sec are some examples.
|
||||||
|
#
|
||||||
|
# port: REQUIRED. The serial port where your UPS is connected.
|
||||||
|
# /dev/ttyS0 is usually the first port on Linux boxes, for example.
|
||||||
|
#
|
||||||
|
# sdorder: OPTIONAL. When you have multiple UPSes on your system, you
|
||||||
|
# usually need to turn them off in a certain order. upsdrvctl
|
||||||
|
# shuts down all the 0s, then the 1s, 2s, and so on. To exclude
|
||||||
|
# a UPS from the shutdown sequence, set this to -1.
|
||||||
|
#
|
||||||
|
# The default value for this parameter is 0.
|
||||||
|
#
|
||||||
|
# desc: optional, to keep a note of the UPS purpose, location, etc.
|
||||||
|
#
|
||||||
|
# nolock: optional, and not recommended for use in this file.
|
||||||
|
#
|
||||||
|
# If you put nolock in here, the driver will not lock the
|
||||||
|
# serial port every time it starts. This may allow other
|
||||||
|
# processes to seize the port if you start more than one by
|
||||||
|
# mistake.
|
||||||
|
#
|
||||||
|
# This is only intended to be used on systems where locking
|
||||||
|
# absolutely must be disabled for the software to work.
|
||||||
|
#
|
||||||
|
# ignorelb: OPTIONAL. Ignore low battery condition reported by device,
|
||||||
|
# and evaluate remaining battery charge or runtime instead.
|
||||||
|
# See man page for details.
|
||||||
|
#
|
||||||
|
# usb_set_altinterface(=num): OPTIONAL. Require that NUT calls this method
|
||||||
|
# to set the interface, even if 0 (default). Some devices require
|
||||||
|
# the call to initialize; others however can get stuck due to it -
|
||||||
|
# so it is not called by default. Yet others can be composite
|
||||||
|
# devices which use a non-zero interface to represent the UPS.
|
||||||
|
#
|
||||||
|
# default.<variable>: OPTIONAL. Set a default value for <variable> which is
|
||||||
|
# used in case the UPS doesn't provide a value, but which will be
|
||||||
|
# overwritten if a value is available from the UPS, e.g.:
|
||||||
|
# default.input.voltage.nominal = 230
|
||||||
|
# will report the nominal input voltage to be 230, unless the UPS
|
||||||
|
# eventually tells us differently.
|
||||||
|
#
|
||||||
|
# override.<variable>: OPTIONAL. Set a value for <value> that overrides
|
||||||
|
# (for NUT) any value that may be read from the UPS.
|
||||||
|
# Used for overriding values from the UPS that are clearly wrong
|
||||||
|
# (e.g. some devices report wrong values for battery voltage):
|
||||||
|
# override.battery.voltage.nominal = 12
|
||||||
|
# Use with caution! This will only change the appearance of the
|
||||||
|
# variable to the outside world (and NUT calculations), internally
|
||||||
|
# in the UPS the original value is used.
|
||||||
|
#
|
||||||
|
# Anything else is passed through to the hardware-specific part of
|
||||||
|
# the driver.
|
||||||
|
#
|
||||||
|
# Examples
|
||||||
|
# --------
|
||||||
|
#
|
||||||
|
# A simple example for a UPS called "powerpal" that uses the blazer_ser
|
||||||
|
# driver on /dev/ttyS0 is:
|
||||||
|
#
|
||||||
|
# [powerpal]
|
||||||
|
# driver = blazer_ser
|
||||||
|
# port = /dev/ttyS0
|
||||||
|
# desc = "Web server"
|
||||||
|
#
|
||||||
|
# If your UPS driver requires additional settings, you can specify them
|
||||||
|
# here. For example, if it supports a setting of "1234" for the
|
||||||
|
# variable "cable", it would look like this:
|
||||||
|
#
|
||||||
|
# [myups]
|
||||||
|
# driver = mydriver
|
||||||
|
# port = /dev/ttyS1
|
||||||
|
# cable = 1234
|
||||||
|
# desc = "Something descriptive"
|
||||||
|
#
|
||||||
|
# To find out if your driver supports any extra settings, start it with
|
||||||
|
# the -h option and/or read the driver's documentation.
|
||||||
172
nut/upsd.conf
Normal file
172
nut/upsd.conf
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
LISTEN 0.0.0.0 3493
|
||||||
|
|
||||||
|
# Network UPS Tools: example upsd configuration file
|
||||||
|
#
|
||||||
|
# This file contains access control data, you should keep it secure.
|
||||||
|
#
|
||||||
|
# It should only be readable by the user that upsd becomes. See the FAQ.
|
||||||
|
#
|
||||||
|
# Each entry below provides usage and default value.
|
||||||
|
#
|
||||||
|
# For more information, refer to upsd.conf manual page.
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# MAXAGE <seconds>
|
||||||
|
# MAXAGE 15
|
||||||
|
#
|
||||||
|
# This defaults to 15 seconds. After a UPS driver has stopped updating
|
||||||
|
# the data for this many seconds, upsd marks it stale and stops making
|
||||||
|
# that information available to clients. After all, the only thing worse
|
||||||
|
# than no data is bad data.
|
||||||
|
#
|
||||||
|
# You should only use this if your driver has difficulties keeping
|
||||||
|
# the data fresh within the normal 15 second interval. Watch the syslog
|
||||||
|
# for notifications from upsd about staleness.
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# TRACKINGDELAY <seconds>
|
||||||
|
# TRACKINGDELAY 3600
|
||||||
|
#
|
||||||
|
# This defaults to 1 hour. When instant commands and variables setting status
|
||||||
|
# tracking is enabled, status execution information are kept during this
|
||||||
|
# amount of time, and then cleaned up.
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# ALLOW_NO_DEVICE <Boolean>
|
||||||
|
# ALLOW_NO_DEVICE true
|
||||||
|
#
|
||||||
|
# Normally upsd requires that at least one device section is defined in ups.conf
|
||||||
|
# when the daemon starts, to serve its data. For automatically managed services
|
||||||
|
# it may be preferred to have upsd always running, and reload the configuration
|
||||||
|
# when power devices become defined.
|
||||||
|
#
|
||||||
|
# Boolean values 'true', 'yes', 'on' and '1' mean that the server would not
|
||||||
|
# refuse to start with zero device sections found in ups.conf.
|
||||||
|
#
|
||||||
|
# Boolean values 'false', 'no', 'off' and '0' mean that the server should refuse
|
||||||
|
# to start if zero device sections were found in ups.conf. This is the default.
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# STATEPATH <path>
|
||||||
|
# STATEPATH /var/run/nut
|
||||||
|
#
|
||||||
|
# Tell upsd to look for the driver state sockets in 'path' rather
|
||||||
|
# than the default that was compiled into the program.
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# LISTEN <IP address or name> [<port>]
|
||||||
|
# LISTEN 127.0.0.1 3493
|
||||||
|
# LISTEN ::1 3493
|
||||||
|
# LISTEN myhostname 83493
|
||||||
|
# LISTEN myhostname.mydomain
|
||||||
|
#
|
||||||
|
# This defaults to the localhost listening addresses and port 3493.
|
||||||
|
# In case of IP v4 or v6 disabled kernel, only the available one will be used.
|
||||||
|
#
|
||||||
|
# You may specify each interface IP address or name that you want upsd to
|
||||||
|
# listen on for connections, optionally with a port number.
|
||||||
|
#
|
||||||
|
# You may need this if you have multiple interfaces on your machine and
|
||||||
|
# you don't want upsd to listen to all interfaces (for instance on a
|
||||||
|
# firewall, you may not want to listen to the external interface).
|
||||||
|
#
|
||||||
|
# This will only be read at startup of upsd. If you make changes here,
|
||||||
|
# you'll need to restart upsd, reload will have no effect.
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# MAXCONN <connections>
|
||||||
|
# MAXCONN 1024
|
||||||
|
#
|
||||||
|
# This defaults to maximum number allowed on your system. Each UPS, each
|
||||||
|
# LISTEN address and each client count as one connection. If the server
|
||||||
|
# runs out of connections, it will no longer accept new incoming client
|
||||||
|
# connections. Only set this if you know exactly what you're doing.
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# CERTFILE <certificate file>
|
||||||
|
# CERTFILE /usr/local/ups/etc/upsd.pem
|
||||||
|
#
|
||||||
|
# When compiled with SSL support with OpenSSL backend,
|
||||||
|
# you can enter the certificate file here.
|
||||||
|
# The certificates must be in PEM format and must be sorted starting with
|
||||||
|
# the subject's certificate (server certificate), followed by intermediate
|
||||||
|
# CA certificates (if applicable_ and the highest level (root) CA. It should
|
||||||
|
# end with the server key. See 'docs/security.txt' or the Security chapter of
|
||||||
|
# NUT user manual for more information on the SSL support in NUT.
|
||||||
|
#
|
||||||
|
# See 'docs/security.txt' or the Security chapter of NUT user manual
|
||||||
|
# for more information on the SSL support in NUT.
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# CERTPATH <certificate file or directory>
|
||||||
|
# CERTPATH /usr/local/ups/etc/cert/upsd
|
||||||
|
#
|
||||||
|
# When compiled with SSL support with NSS backend,
|
||||||
|
# you can enter the certificate path here.
|
||||||
|
# Certificates are stored in a dedicated database (split into 3 files).
|
||||||
|
# Specify the path of the database directory.
|
||||||
|
#
|
||||||
|
# See 'docs/security.txt' or the Security chapter of NUT user manual
|
||||||
|
# for more information on the SSL support in NUT.
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# CERTIDENT <certificate name> <database password>
|
||||||
|
# CERTIDENT "my nut server" "MyPasSw0rD"
|
||||||
|
#
|
||||||
|
# When compiled with SSL support with NSS backend,
|
||||||
|
# you can specify the certificate name to retrieve from database to
|
||||||
|
# authenticate itself and the password
|
||||||
|
# required to access certificate related private key.
|
||||||
|
#
|
||||||
|
# See 'docs/security.txt' or the Security chapter of NUT user manual
|
||||||
|
# for more information on the SSL support in NUT.
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# CERTREQUEST <certificate request level>
|
||||||
|
# CERTREQUEST REQUIRE
|
||||||
|
#
|
||||||
|
# When compiled with SSL support with NSS backend and client certificate
|
||||||
|
# validation (disabled by default, see 'docs/security.txt'),
|
||||||
|
# you can specify if upsd requests or requires client's' certificates.
|
||||||
|
# Possible values are :
|
||||||
|
# - 0 to not request to clients to provide any certificate
|
||||||
|
# - 1 to require to all clients a certificate
|
||||||
|
# - 2 to require to all clients a valid certificate
|
||||||
|
#
|
||||||
|
# See 'docs/security.txt' or the Security chapter of NUT user manual
|
||||||
|
# for more information on the SSL support in NUT.
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# DISABLE_WEAK_SSL <Boolean>
|
||||||
|
# DISABLE_WEAK_SSL true
|
||||||
|
#
|
||||||
|
# Tell upsd to disable older/weak SSL/TLS protocols and ciphers.
|
||||||
|
#
|
||||||
|
# With relatively recent versions of OpenSSL or NSS it will be restricted
|
||||||
|
# to TLSv1.2 or better.
|
||||||
|
#
|
||||||
|
# Unless you have really ancient clients, you probably want to enable this.
|
||||||
|
# Currently disabled by default to ensure compatibility with existing setups.
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# DEBUG_MIN <Integer>
|
||||||
|
# DEBUG_MIN 2
|
||||||
|
#
|
||||||
|
# Optionally specify a minimum debug level for `upsd` data daemon, e.g. for
|
||||||
|
# troubleshooting a deployment, without impacting foreground or background
|
||||||
|
# running mode directly, and without need to edit init-scripts or service
|
||||||
|
# unit definitions. Note that command-line option `-D` can only increase
|
||||||
|
# this verbosity level.
|
||||||
|
#
|
||||||
|
# NOTE: if the running daemon receives a `reload` command, presence of the
|
||||||
|
# `DEBUG_MIN NUMBER` value in the configuration file can be used to tune
|
||||||
|
# debugging verbosity in the running service daemon (it is recommended to
|
||||||
|
# comment it away or set the minimum to explicit zero when done, to avoid
|
||||||
|
# huge journals and I/O system abuse). Keep in mind that for this run-time
|
||||||
|
# tuning, the `DEBUG_MIN` value *present* in *reloaded* configuration files
|
||||||
|
# is applied instantly and overrides any previously set value, from file
|
||||||
|
# or CLI options, regardless of older logging level being higher or lower
|
||||||
|
# than the newly found number; a missing (or commented away) value however
|
||||||
|
# does not change the previously active logging verbosity.
|
||||||
|
|
||||||
|
|
||||||
86
nut/upsd.users
Normal file
86
nut/upsd.users
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
[admin]
|
||||||
|
password = baller
|
||||||
|
actions = set
|
||||||
|
actions = fsd
|
||||||
|
instcmds = all
|
||||||
|
upsmon primary
|
||||||
|
|
||||||
|
[observer]
|
||||||
|
password = 98072
|
||||||
|
upsmon secondary
|
||||||
|
|
||||||
|
# Network UPS Tools: Example upsd.users
|
||||||
|
#
|
||||||
|
# This file sets the permissions for upsd - the UPS network daemon.
|
||||||
|
# Users are defined here, are given passwords, and their privileges are
|
||||||
|
# controlled here too. Since this file will contain passwords, keep it
|
||||||
|
# secure, with only enough permissions for upsd to read it.
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Each user gets a section. To start a section, put the username in
|
||||||
|
# brackets on a line by itself. To set something for that user, specify
|
||||||
|
# it under that section heading. The username is case-sensitive, so
|
||||||
|
# admin and AdMiN are two different users.
|
||||||
|
#
|
||||||
|
# Possible settings:
|
||||||
|
#
|
||||||
|
# password: The user's password. This is case-sensitive.
|
||||||
|
#
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# actions: Let the user do certain things with upsd.
|
||||||
|
#
|
||||||
|
# Valid actions are:
|
||||||
|
#
|
||||||
|
# SET - change the value of certain variables in the UPS
|
||||||
|
# FSD - set the "forced shutdown" flag in the UPS
|
||||||
|
#
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# instcmds: Let the user initiate specific instant commands. Use "ALL"
|
||||||
|
# to grant all commands automatically. There are many possible
|
||||||
|
# commands, so use 'upscmd -l' to see what your hardware supports. Here
|
||||||
|
# are a few examples:
|
||||||
|
#
|
||||||
|
# test.panel.start - Start a front panel test
|
||||||
|
# test.battery.start - Start battery test
|
||||||
|
# test.battery.stop - Stop battery test
|
||||||
|
# calibrate.start - Start calibration
|
||||||
|
# calibrate.stop - Stop calibration
|
||||||
|
#
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
#
|
||||||
|
# [admin]
|
||||||
|
# password = mypass
|
||||||
|
# actions = SET
|
||||||
|
# instcmds = ALL
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# --- Configuring for a user who can execute tests only
|
||||||
|
#
|
||||||
|
# [testuser]
|
||||||
|
# password = pass
|
||||||
|
# instcmds = test.battery.start
|
||||||
|
# instcmds = test.battery.stop
|
||||||
|
|
||||||
|
#
|
||||||
|
# --- Configuring for upsmon
|
||||||
|
#
|
||||||
|
# To add a user for your upsmon, use this example:
|
||||||
|
#
|
||||||
|
# [upsmon]
|
||||||
|
# password = pass
|
||||||
|
# upsmon primary
|
||||||
|
# or
|
||||||
|
# upsmon secondary
|
||||||
|
#
|
||||||
|
# The matching MONITOR line in your upsmon.conf would look like this:
|
||||||
|
#
|
||||||
|
# MONITOR myups@localhost 1 upsmon pass primary (or secondary)
|
||||||
|
#
|
||||||
|
# See comments in the upsmon.conf(.sample) file for details about this
|
||||||
|
# keyword and the difference of NUT secondary and primary systems.
|
||||||
458
nut/upsmon.conf
Normal file
458
nut/upsmon.conf
Normal file
@ -0,0 +1,458 @@
|
|||||||
|
MONITOR rack@localhost 1 admin baller primary
|
||||||
|
|
||||||
|
FINALDELAY 180
|
||||||
|
|
||||||
|
# Network UPS Tools: example upsmon configuration
|
||||||
|
#
|
||||||
|
# This file contains passwords, so keep it secure.
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# RUN_AS_USER <userid>
|
||||||
|
#
|
||||||
|
# By default, upsmon splits into two processes. One stays as root and
|
||||||
|
# waits to run the SHUTDOWNCMD. The other one switches to another userid
|
||||||
|
# and does everything else.
|
||||||
|
#
|
||||||
|
# The default unprivileged user is set at compile-time with the option
|
||||||
|
# 'configure --with-user=...'
|
||||||
|
#
|
||||||
|
# You can override it with '-u <user>' when starting upsmon, or just
|
||||||
|
# define it here for convenience.
|
||||||
|
#
|
||||||
|
# Note: if you plan to use the reload feature, this file (upsmon.conf)
|
||||||
|
# must be readable by this user! Since it contains passwords, DO NOT
|
||||||
|
# make it world-readable. Also, do not make it writable by the upsmon
|
||||||
|
# user, since it creates an opportunity for an attack by changing the
|
||||||
|
# SHUTDOWNCMD to something malicious.
|
||||||
|
#
|
||||||
|
# For best results, you should create a new normal user like "nutmon",
|
||||||
|
# and make it a member of a "nut" group or similar. Then specify it
|
||||||
|
# here and grant read access to the upsmon.conf for that group.
|
||||||
|
#
|
||||||
|
# This user should not have write access to upsmon.conf.
|
||||||
|
#
|
||||||
|
# RUN_AS_USER nut
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# MONITOR <system> <powervalue> <username> <password> ("primary"|"secondary")
|
||||||
|
#
|
||||||
|
# List systems you want to monitor. Not all of these may supply power
|
||||||
|
# to the system running upsmon, but if you want to watch it, it has to
|
||||||
|
# be in this section.
|
||||||
|
#
|
||||||
|
# You must have at least one of these declared.
|
||||||
|
#
|
||||||
|
# <system> is a UPS identifier in the form <upsname>@<hostname>[:<port>]
|
||||||
|
# like ups@localhost, su700@mybox, etc.
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
#
|
||||||
|
# - "su700@mybox" means a UPS called "su700" on a system called "mybox"
|
||||||
|
#
|
||||||
|
# - "fenton@bigbox:5678" is a UPS called "fenton" on a system called
|
||||||
|
# "bigbox" which runs upsd on port "5678".
|
||||||
|
#
|
||||||
|
# The UPS names like "su700" and "fenton" are set in your ups.conf
|
||||||
|
# in [brackets] which identify a section for a particular driver.
|
||||||
|
#
|
||||||
|
# If the ups.conf on host "doghouse" has a section called "snoopy", the
|
||||||
|
# identifier for it would be "snoopy@doghouse".
|
||||||
|
#
|
||||||
|
# <powervalue> is an integer - the number of power supplies that this UPS
|
||||||
|
# feeds on this system. Most personal computers only have one power supply,
|
||||||
|
# so this value is normally set to 1, while most modern servers have at least
|
||||||
|
# two. You need a pretty big or special box to have any other value here.
|
||||||
|
#
|
||||||
|
# You can also set this to 0 for a system that doesn't take any power
|
||||||
|
# from the MONITORed supply, which you still want to monitor (e.g. for an
|
||||||
|
# administrative workstation fed from a different circuit than the datacenter
|
||||||
|
# servers it monitors). Use <powervalue> if 0 when you want to hear about
|
||||||
|
# changes for a given UPS without shutting down when it goes critical.
|
||||||
|
#
|
||||||
|
# <username> and <password> must match an entry in that system's
|
||||||
|
# upsd.users. If your username is "upsmon" and your password is
|
||||||
|
# "blah", the upsd.users would look like this:
|
||||||
|
#
|
||||||
|
# [upsmon]
|
||||||
|
# password = blah
|
||||||
|
# upsmon primary # (or secondary)
|
||||||
|
#
|
||||||
|
# "primary" means this system will shutdown last, allowing the secondary
|
||||||
|
# systems time to shutdown first.
|
||||||
|
#
|
||||||
|
# "secondary" means this system shuts down immediately when power goes
|
||||||
|
# critical and less than MINSUPPLIES power sources have reliable input feeds.
|
||||||
|
#
|
||||||
|
# The general assumption is that the "primary" system is the one with direct
|
||||||
|
# connection to an UPS (such as serial or USB cable), so the primary system
|
||||||
|
# runs the NUT driver and 'upsd' server locally and can manage the device,
|
||||||
|
# and it would often tell the UPS to completely power itself off as a step
|
||||||
|
# in power-race avoidance (see POWERDOWNFLAG for details).
|
||||||
|
#
|
||||||
|
# Also, since the primary system stays up the longest, it suffers higher risks
|
||||||
|
# of ungraceful shutdown if the estimation of remaining runtime (or of the
|
||||||
|
# time it takes to shut down this system) was guessed wrong. By consequence,
|
||||||
|
# the "secondary" systems typically monitor the power environment state
|
||||||
|
# through the 'upsd' processes running on the remote (often "primary") systems
|
||||||
|
# and do not directly interact with an UPS (no local NUT drivers are running
|
||||||
|
# on the secondary systems). As such, secondaries typically shut down as
|
||||||
|
# soon as there is a sufficiently long power outage, or a low-battery alert
|
||||||
|
# from the UPS, or a loss of connection to the primary while the power was
|
||||||
|
# last known to be missing.
|
||||||
|
#
|
||||||
|
# This assumption and configuration can also make sense for networked UPSes,
|
||||||
|
# where a rack full of servers might overload the communications capacity
|
||||||
|
# of the networked management card on the UPS - in this case you might either
|
||||||
|
# reduce the 'snmp-ups' or 'netxml-ups' driver polling rate, or dedicate a
|
||||||
|
# "primary" server and set up the rest as "secondary" systems.
|
||||||
|
#
|
||||||
|
# In case of such large setups as mentioned above, beware also that shutdown
|
||||||
|
# times of the rack done all at once can substantially differ from smaller
|
||||||
|
# scale experiments with single-server shutdowns, since systems can compete
|
||||||
|
# for shared storage and other limited resources as they go down (and also
|
||||||
|
# not everyone may safely shut down simultaneously - e.g. a NAS or DB server
|
||||||
|
# would better go down after all its clients). You would be well served by
|
||||||
|
# higher-end UPSes with manageable thresholds to declare a critical state.
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
#
|
||||||
|
# MONITOR myups@bigserver 1 upswired blah primary
|
||||||
|
# MONITOR su700@server.example.com 1 upsmon secretpass secondary
|
||||||
|
# MONITOR myups@localhost 1 upsmon pass primary # (or secondary)
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# MINSUPPLIES <num>
|
||||||
|
#
|
||||||
|
# Give the number of power supplies that must be receiving power to keep
|
||||||
|
# this system running. Most systems have one power supply, so you would
|
||||||
|
# put "1" in this field.
|
||||||
|
#
|
||||||
|
# Large/expensive server type systems usually have more, and can run with
|
||||||
|
# a few missing. Some of these can run with 2 out of 4, for example,
|
||||||
|
# so you'd set that to 2. The idea is to keep the box running as long
|
||||||
|
# as possible, right?
|
||||||
|
#
|
||||||
|
# Obviously you have to put the redundant supplies on different UPS circuits
|
||||||
|
# for this to make sense! See big-servers.txt in the docs subdirectory
|
||||||
|
# for more information and ideas on how to use this feature.
|
||||||
|
|
||||||
|
MINSUPPLIES 1
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# SHUTDOWNCMD "<command>"
|
||||||
|
#
|
||||||
|
# upsmon runs this command when the system needs to be brought down.
|
||||||
|
#
|
||||||
|
# This should work just about everywhere ... if it doesn't, well, change it,
|
||||||
|
# perhaps to a more complicated custom script.
|
||||||
|
#
|
||||||
|
# Note that while you experiment with the initial setup and want to test how
|
||||||
|
# your configuration reacts to power state changes and ultimately when power
|
||||||
|
# is reported to go critical, but do not want your system to actually turn
|
||||||
|
# off, consider setting the SHUTDOWNCMD temporarily to do something benign -
|
||||||
|
# such as posting a message with 'logger' or 'wall' or 'mailx'. Do be careful
|
||||||
|
# to plug the UPS back into the wall in a timely fashion.
|
||||||
|
|
||||||
|
SHUTDOWNCMD "/sbin/shutdown -h +0"
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# NOTIFYCMD <command>
|
||||||
|
#
|
||||||
|
# upsmon calls this to send messages when things happen
|
||||||
|
#
|
||||||
|
# This command is called with the full text of the message (from NOTIFYMSG)
|
||||||
|
# as one argument.
|
||||||
|
#
|
||||||
|
# The environment string NOTIFYTYPE will contain the type string of
|
||||||
|
# whatever caused this event to happen.
|
||||||
|
#
|
||||||
|
# The environment string UPSNAME will contain the name of the system/device
|
||||||
|
# that generated the change.
|
||||||
|
#
|
||||||
|
# Note that this is only called for NOTIFY events that have EXEC set with
|
||||||
|
# NOTIFYFLAG. See NOTIFYFLAG below for more details.
|
||||||
|
#
|
||||||
|
# Making this some sort of shell script might not be a bad idea.
|
||||||
|
# Alternately you can use the upssched program as your NOTIFYCMD for some
|
||||||
|
# more complex setups (e.g. to ease handling of notification storms).
|
||||||
|
# For more information and ideas, see docs/scheduling.txt
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# NOTIFYCMD /bin/notifyme
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# POLLFREQ <n>
|
||||||
|
#
|
||||||
|
# Polling frequency for normal activities, measured in seconds.
|
||||||
|
#
|
||||||
|
# Adjust this to keep upsmon from flooding your network, but don't make
|
||||||
|
# it too high or it may miss certain short-lived power events.
|
||||||
|
|
||||||
|
POLLFREQ 5
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# POLLFREQALERT <n>
|
||||||
|
#
|
||||||
|
# Polling frequency in seconds while UPS on battery.
|
||||||
|
#
|
||||||
|
# You can make this number lower than POLLFREQ, which will make updates
|
||||||
|
# faster when any UPS is running on battery. This is a good way to tune
|
||||||
|
# network load if you have a lot of these things running.
|
||||||
|
#
|
||||||
|
# The default is 5 seconds for both this and POLLFREQ.
|
||||||
|
|
||||||
|
POLLFREQALERT 5
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# HOSTSYNC - How long upsmon will wait before giving up on another upsmon
|
||||||
|
#
|
||||||
|
# The primary upsmon process uses this number when waiting for secondary
|
||||||
|
# systems to disconnect once it has set the forced shutdown (FSD) flag.
|
||||||
|
# If they don't disconnect after this many seconds, it goes on without them.
|
||||||
|
#
|
||||||
|
# Similarly, upsmon secondary processes wait up to this interval for the
|
||||||
|
# primary upsmon to set FSD when an UPS they are monitoring goes critical -
|
||||||
|
# that is, on battery and low battery. If the primary doesn't do its job,
|
||||||
|
# the secondaries will shut down anyway to avoid damage to the file systems.
|
||||||
|
#
|
||||||
|
# This "wait for FSD" is done to avoid races where the status changes
|
||||||
|
# to critical and back between polls by the primary.
|
||||||
|
|
||||||
|
HOSTSYNC 15
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# DEADTIME - Interval to wait before declaring a stale ups "dead"
|
||||||
|
#
|
||||||
|
# upsmon requires a UPS to provide status information every few seconds
|
||||||
|
# (see POLLFREQ and POLLFREQALERT) to keep things updated. If the status
|
||||||
|
# fetch fails, the UPS is marked stale. If it stays stale for more than
|
||||||
|
# DEADTIME seconds, the UPS is marked dead.
|
||||||
|
#
|
||||||
|
# A dead UPS that was last known to be on battery is assumed to have gone
|
||||||
|
# to a low battery condition. This may force a shutdown if it is providing
|
||||||
|
# a critical amount of power to your system.
|
||||||
|
#
|
||||||
|
# Note: DEADTIME should be a multiple of POLLFREQ and POLLFREQALERT.
|
||||||
|
# Otherwise you'll have "dead" UPSes simply because upsmon isn't polling
|
||||||
|
# them quickly enough. Rule of thumb: take the larger of the two
|
||||||
|
# POLLFREQ values, and multiply by 3.
|
||||||
|
|
||||||
|
DEADTIME 15
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# POWERDOWNFLAG - Flag file for forcing UPS shutdown on the primary system
|
||||||
|
#
|
||||||
|
# upsmon will create a file with this name in primary mode when it's time
|
||||||
|
# to shut down the load. You should check for this file's existence in
|
||||||
|
# your shutdown scripts and run 'upsdrvctl shutdown' if it exists, to tell
|
||||||
|
# the UPS(es) to power off.
|
||||||
|
#
|
||||||
|
# See the config-notes.txt file in the docs subdirectory for more information.
|
||||||
|
# Refer to the section:
|
||||||
|
# [[UPS_shutdown]] "Configuring automatic shutdowns for low battery events"
|
||||||
|
# or refer to the online version.
|
||||||
|
|
||||||
|
POWERDOWNFLAG /etc/killpower
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# NOTIFYMSG - change messages sent by upsmon when certain events occur
|
||||||
|
#
|
||||||
|
# You can change the default messages to something else if you like.
|
||||||
|
#
|
||||||
|
# NOTIFYMSG <notify type> "message"
|
||||||
|
#
|
||||||
|
# NOTIFYMSG ONLINE "UPS %s on line power"
|
||||||
|
# NOTIFYMSG ONBATT "UPS %s on battery"
|
||||||
|
# NOTIFYMSG LOWBATT "UPS %s battery is low"
|
||||||
|
# NOTIFYMSG FSD "UPS %s: forced shutdown in progress"
|
||||||
|
# NOTIFYMSG COMMOK "Communications with UPS %s established"
|
||||||
|
# NOTIFYMSG COMMBAD "Communications with UPS %s lost"
|
||||||
|
# NOTIFYMSG SHUTDOWN "Auto logout and shutdown proceeding"
|
||||||
|
# NOTIFYMSG REPLBATT "UPS %s battery needs to be replaced"
|
||||||
|
# NOTIFYMSG NOCOMM "UPS %s is unavailable"
|
||||||
|
# NOTIFYMSG NOPARENT "upsmon parent process died - shutdown impossible"
|
||||||
|
#
|
||||||
|
# Note that %s is replaced with the identifier of the UPS in question.
|
||||||
|
#
|
||||||
|
# Possible values for <notify type>:
|
||||||
|
#
|
||||||
|
# ONLINE : UPS is back online
|
||||||
|
# ONBATT : UPS is on battery
|
||||||
|
# LOWBATT : UPS has a low battery (if also on battery, it's "critical")
|
||||||
|
# FSD : UPS is being shutdown by the primary (FSD = "Forced Shutdown")
|
||||||
|
# COMMOK : Communications established with the UPS
|
||||||
|
# COMMBAD : Communications lost to the UPS
|
||||||
|
# SHUTDOWN : The system is being shutdown
|
||||||
|
# REPLBATT : The UPS battery is bad and needs to be replaced
|
||||||
|
# NOCOMM : A UPS is unavailable (can't be contacted for monitoring)
|
||||||
|
# NOPARENT : The process that shuts down the system has died (shutdown impossible)
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# NOTIFYFLAG - change behavior of upsmon when NOTIFY events occur
|
||||||
|
#
|
||||||
|
# By default, upsmon sends walls (global messages to all logged in users)
|
||||||
|
# and writes to the syslog when things happen. You can change this.
|
||||||
|
#
|
||||||
|
# NOTIFYFLAG <notify type> <flag>[+<flag>][+<flag>] ...
|
||||||
|
#
|
||||||
|
# NOTIFYFLAG ONLINE SYSLOG+WALL
|
||||||
|
# NOTIFYFLAG ONBATT SYSLOG+WALL
|
||||||
|
# NOTIFYFLAG LOWBATT SYSLOG+WALL
|
||||||
|
# NOTIFYFLAG FSD SYSLOG+WALL
|
||||||
|
# NOTIFYFLAG COMMOK SYSLOG+WALL
|
||||||
|
# NOTIFYFLAG COMMBAD SYSLOG+WALL
|
||||||
|
# NOTIFYFLAG SHUTDOWN SYSLOG+WALL
|
||||||
|
# NOTIFYFLAG REPLBATT SYSLOG+WALL
|
||||||
|
# NOTIFYFLAG NOCOMM SYSLOG+WALL
|
||||||
|
# NOTIFYFLAG NOPARENT SYSLOG+WALL
|
||||||
|
#
|
||||||
|
# Possible values for the flags:
|
||||||
|
#
|
||||||
|
# SYSLOG - Write the message in the syslog
|
||||||
|
# WALL - Write the message to all users on the system
|
||||||
|
# EXEC - Execute NOTIFYCMD (see above) with the message
|
||||||
|
# IGNORE - Don't do anything
|
||||||
|
#
|
||||||
|
# If you use IGNORE, don't use any other flags on the same line.
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# RBWARNTIME - replace battery warning time in seconds
|
||||||
|
#
|
||||||
|
# upsmon will normally warn you about a battery that needs to be replaced
|
||||||
|
# every 43200 seconds, which is 12 hours. It does this by triggering a
|
||||||
|
# NOTIFY_REPLBATT which is then handled by the usual notify structure
|
||||||
|
# you've defined above.
|
||||||
|
#
|
||||||
|
# If this number is not to your liking, override it here.
|
||||||
|
|
||||||
|
RBWARNTIME 43200
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# NOCOMMWARNTIME - no communications warning time in seconds
|
||||||
|
#
|
||||||
|
# upsmon will let you know through the usual notify system if it can't
|
||||||
|
# talk to any of the UPS entries that are defined in this file. It will
|
||||||
|
# trigger a NOTIFY_NOCOMM by default every 300 seconds unless you
|
||||||
|
# change the interval with this directive.
|
||||||
|
|
||||||
|
NOCOMMWARNTIME 300
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# FINALDELAY - last sleep interval before shutting down the system
|
||||||
|
#
|
||||||
|
# On a primary, upsmon will wait this long after sending the NOTIFY_SHUTDOWN
|
||||||
|
# before executing your SHUTDOWNCMD. If you need to do something in between
|
||||||
|
# those events, increase this number. Remember, at this point your UPS is
|
||||||
|
# almost depleted, so don't make this too high. If needed, on high-end UPS
|
||||||
|
# devices you can usually configure when the low-battery state is announced
|
||||||
|
# based on estimated remaining run-time or on charge level of the batteries.
|
||||||
|
#
|
||||||
|
# Alternatively, you can set this very low so you don't wait around when
|
||||||
|
# it's time to shut down. Some UPSes don't give much warning for low
|
||||||
|
# battery and will require a value of 0 here for a safe shutdown.
|
||||||
|
#
|
||||||
|
# Note: If FINALDELAY on the secondary is greater than HOSTSYNC on the
|
||||||
|
# primary, the primary will give up waiting for that secondary system
|
||||||
|
# to disconnect.
|
||||||
|
|
||||||
|
FINALDELAY 5
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# CERTPATH - path to certificates (database directory or directory with CA's)
|
||||||
|
#
|
||||||
|
# When compiled with SSL support, you can enter the certificate path here.
|
||||||
|
#
|
||||||
|
# With NSS:
|
||||||
|
# Certificates are stored in a dedicated database (split into 3 files).
|
||||||
|
# Specify the path of the database directory.
|
||||||
|
#
|
||||||
|
# CERTPATH /etc/nut/cert/upsmon
|
||||||
|
#
|
||||||
|
# With OpenSSL:
|
||||||
|
# Directory containing CA certificates in PEM format, used to verify
|
||||||
|
# the server certificate presented by the upsd server. The files each
|
||||||
|
# contain one CA certificate. The files are looked up by the CA subject
|
||||||
|
# name hash value, which must hence be available.
|
||||||
|
#
|
||||||
|
# CERTPATH /usr/ssl/certs
|
||||||
|
#
|
||||||
|
# See 'docs/security.txt' or the Security chapter of NUT user manual
|
||||||
|
# for more information on the SSL support in NUT.
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# CERTIDENT - self certificate name and database password
|
||||||
|
# CERTIDENT <certificate name> <database password>
|
||||||
|
#
|
||||||
|
# When compiled with SSL support with NSS, you can specify the certificate
|
||||||
|
# name to retrieve from database to authenticate itself and the password
|
||||||
|
# required to access certificate related private key.
|
||||||
|
#
|
||||||
|
# CERTIDENT "my nut monitor" "MyPasSw0rD"
|
||||||
|
#
|
||||||
|
# See 'docs/security.txt' or the Security chapter of NUT user manual
|
||||||
|
# for more information on the SSL support in NUT.
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# CERTHOST - security properties for an host
|
||||||
|
# CERTHOST <hostname> <certificate name> <certverify> <forcessl>
|
||||||
|
#
|
||||||
|
# When compiled with SSL support with NSS, you can specify security directive
|
||||||
|
# for each server you can contact.
|
||||||
|
# Each entry maps server name with the expected certificate name and flags
|
||||||
|
# indicating if the server certificate is verified and if the connection
|
||||||
|
# must be secure.
|
||||||
|
#
|
||||||
|
# CERTHOST localhost "My nut server" 1 1
|
||||||
|
#
|
||||||
|
# See 'docs/security.txt' or the Security chapter of NUT user manual
|
||||||
|
# for more information on the SSL support in NUT.
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# CERTVERIFY - make upsmon verify all connections with certificates
|
||||||
|
# CERTVERIFY 1
|
||||||
|
#
|
||||||
|
# When compiled with SSL support, make upsmon verify all connections with
|
||||||
|
# certificates.
|
||||||
|
# Without this, there is no guarantee that the upsd is the right host.
|
||||||
|
# Enabling this greatly reduces the risk of man in the middle attacks.
|
||||||
|
# This effectively forces the use of SSL, so don't use this unless
|
||||||
|
# all of your upsd hosts are ready for SSL and have their certificates
|
||||||
|
# in order.
|
||||||
|
# When compiled with NSS support of SSL, can be overridden for host
|
||||||
|
# specified with a CERTHOST directive.
|
||||||
|
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# FORCESSL - force upsmon to use SSL
|
||||||
|
# FORCESSL 1
|
||||||
|
#
|
||||||
|
# When compiled with SSL, specify that a secured connection must be used
|
||||||
|
# to communicate with upsd.
|
||||||
|
# If you don't use 'CERTVERIFY 1', then this will at least make sure
|
||||||
|
# that nobody can sniff your sessions without a large effort. Setting
|
||||||
|
# this will make upsmon drop connections if the remote upsd doesn't
|
||||||
|
# support SSL, so don't use it unless all of them have it running.
|
||||||
|
# When compiled with NSS support of SSL, can be overridden for host
|
||||||
|
# specified with a CERTHOST directive.
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# DEBUG_MIN - specify minimal debugging level for upsmon daemon
|
||||||
|
# e.g. DEBUG_MIN 6
|
||||||
|
#
|
||||||
|
# Optionally specify a minimum debug level for `upsmon` daemon, e.g. for
|
||||||
|
# troubleshooting a deployment, without impacting foreground or background
|
||||||
|
# running mode directly, and without need to edit init-scripts or service
|
||||||
|
# unit definitions. Note that command-line option `-D` can only increase
|
||||||
|
# this verbosity level.
|
||||||
|
#
|
||||||
|
# NOTE: if the running daemon receives a `reload` command, presence of the
|
||||||
|
# `DEBUG_MIN NUMBER` value in the configuration file can be used to tune
|
||||||
|
# debugging verbosity in the running service daemon (it is recommended to
|
||||||
|
# comment it away or set the minimum to explicit zero when done, to avoid
|
||||||
|
# huge journals and I/O system abuse). Keep in mind that for this run-time
|
||||||
|
# tuning, the `DEBUG_MIN` value *present* in *reloaded* configuration files
|
||||||
|
# is applied instantly and overrides any previously set value, from file
|
||||||
|
# or CLI options, regardless of older logging level being higher or lower
|
||||||
|
# than the newly found number; a missing (or commented away) value however
|
||||||
|
# does not change the previously active logging verbosity.
|
||||||
|
#
|
||||||
124
nut/upssched.conf
Normal file
124
nut/upssched.conf
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
# Network UPS Tools - upssched.conf sample file
|
||||||
|
#
|
||||||
|
# ============================================================================
|
||||||
|
#
|
||||||
|
# CMDSCRIPT <scriptname>
|
||||||
|
#
|
||||||
|
# This script gets called to invoke commands for timers that trigger.
|
||||||
|
# It is given a single argument - the <timername> in your
|
||||||
|
# AT ... START-TIMER defines.
|
||||||
|
#
|
||||||
|
# *** This must be defined *before* the first AT line. Otherwise the
|
||||||
|
# program will complain and exit without doing anything.
|
||||||
|
#
|
||||||
|
# A shell script with a big case..esac construct should work nicely for this.
|
||||||
|
# An example has been provided to help you get started.
|
||||||
|
|
||||||
|
CMDSCRIPT /bin/upssched-cmd
|
||||||
|
|
||||||
|
# ============================================================================
|
||||||
|
#
|
||||||
|
# PIPEFN <filename>
|
||||||
|
#
|
||||||
|
# This sets the file name of the FIFO that will pass communications between
|
||||||
|
# processes to start and stop timers. This should be set to some path where
|
||||||
|
# normal users can't create the file, due to the possibility of symlinking
|
||||||
|
# and other evil.
|
||||||
|
#
|
||||||
|
# Note: if you are running Solaris or similar, the permissions that
|
||||||
|
# upssched sets on this file *are not enough* to keep you safe. If
|
||||||
|
# your OS ignores the permissions on a FIFO, then you MUST put this in
|
||||||
|
# a protected directory!
|
||||||
|
#
|
||||||
|
# Note 2: by default, upsmon will run upssched as whatever user you have
|
||||||
|
# defined with RUN_AS_USER in upsmon.conf. Make sure that user can
|
||||||
|
# create files and write to files in the path you use for PIPEFN and
|
||||||
|
# LOCKFN.
|
||||||
|
#
|
||||||
|
# My recommendation: create a special directory for upssched, make it
|
||||||
|
# owned by your upsmon user, then use it for both.
|
||||||
|
#
|
||||||
|
# This is commented out by default to make you visit this file and think
|
||||||
|
# about how your system works before potentially opening a hole.
|
||||||
|
#
|
||||||
|
# PIPEFN /run/nut/upssched/upssched.pipe
|
||||||
|
|
||||||
|
# ============================================================================
|
||||||
|
#
|
||||||
|
# LOCKFN <filename>
|
||||||
|
#
|
||||||
|
# REQUIRED. This was added after version 1.2.1.
|
||||||
|
#
|
||||||
|
# upssched needs to be able to create this filename in order to avoid
|
||||||
|
# a race condition when two events are dispatched from upsmon at nearly
|
||||||
|
# the same time. This file will only exist briefly. It must not be
|
||||||
|
# created by any other process.
|
||||||
|
#
|
||||||
|
# You should put this in the same directory as PIPEFN.
|
||||||
|
#
|
||||||
|
# LOCKFN /run/nut/upssched/upssched.lock
|
||||||
|
|
||||||
|
# ============================================================================
|
||||||
|
#
|
||||||
|
# AT <notifytype> <upsname> <command>
|
||||||
|
#
|
||||||
|
# Define a handler for a specific event <notifytype> on UPS <upsname>.
|
||||||
|
#
|
||||||
|
# <upsname> can be the special value * to apply this handler to every
|
||||||
|
# possible value of <upsname>.
|
||||||
|
#
|
||||||
|
# Run the command <command> via your CMDSCRIPT when it happens.
|
||||||
|
#
|
||||||
|
# Note that any AT that matches both the <notifytype> and the <upsname>
|
||||||
|
# for the current event will be used.
|
||||||
|
|
||||||
|
# ============================================================================
|
||||||
|
#
|
||||||
|
# Possible AT commands
|
||||||
|
#
|
||||||
|
# - START-TIMER <timername> <interval>
|
||||||
|
#
|
||||||
|
# Start a timer called <timername> that will trigger after <interval>
|
||||||
|
# seconds, calling your CMDSCRIPT with <timername> as the first
|
||||||
|
# argument.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# 1) Start a timer that will execute when communication with any UPS (*) has
|
||||||
|
# been gone for 10 seconds
|
||||||
|
#
|
||||||
|
# AT COMMBAD * START-TIMER upsgone 10
|
||||||
|
#
|
||||||
|
# 2) Start a timer that will execute when any UPS (*) has been running
|
||||||
|
# on battery for 30 seconds
|
||||||
|
#
|
||||||
|
# AT ONBATT * START-TIMER onbattwarn 30
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# - CANCEL-TIMER <timername> [cmd]
|
||||||
|
#
|
||||||
|
# Cancel a running timer called <timername>, if possible. If the timer
|
||||||
|
# has passed then pass the optional argument <cmd> to CMDSCRIPT.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# 1) If a specific UPS (myups@localhost) communication is restored, then stop
|
||||||
|
# the timer before it triggers
|
||||||
|
#
|
||||||
|
# AT COMMOK myups@localhost CANCEL-TIMER upsgone
|
||||||
|
#
|
||||||
|
# 2) If any UPS (*) reverts to utility power, then stop the timer before it
|
||||||
|
# triggers
|
||||||
|
#
|
||||||
|
# AT ONLINE * CANCEL-TIMER onbattwarn
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# - EXECUTE <command>
|
||||||
|
#
|
||||||
|
# Immediately pass <command> as an argument to CMDSCRIPT.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# If any UPS (*) reverts to utility power, then execute
|
||||||
|
# 'ups-back-on-line' via CMDSCRIPT.
|
||||||
|
#
|
||||||
|
# AT ONLINE * EXECUTE ups-back-on-line
|
||||||
Reference in New Issue
Block a user