scripts/python/Makefile.am: restore definition of PYNUT_COMMON_CODE (empty) for recip...
[networkupstools.git] / conf / upsmon.conf.sample.in
blob60bb61f1b5ce6c870c21b01c64036116c45022d9
1 # Network UPS Tools: example upsmon configuration
3 # This file contains passwords, so keep it secure.
5 # NOTE: Contents of this file should be pure ASCII (character codes
6 # not in range would be ignored with a warning message).
8 # A minimal configuration should include at least one MONITOR instruction,
9 # MINSUPPLIES (may be 0 if this system is only monitoring other NUT servers),
10 # and a POWERDOWNFLAG if this machine is a "primary" system connected to
11 # the UPS and drives its late-shutdown power-off command in an emergency.
13 # --------------------------------------------------------------------------
14 # RUN_AS_USER <userid>
16 # By default, upsmon splits into two processes.  One stays as root and
17 # waits to run the SHUTDOWNCMD.  The other one switches to another userid
18 # and does everything else.
20 # The default unprivileged user is set at compile-time with the option
21 #   'configure --with-user=...'
23 # You can override it with '-u <user>' when starting upsmon, or just
24 # define it here for convenience.
26 # Note: if you plan to use the reload feature, this file (upsmon.conf)
27 # must be readable by this user!  Since it contains passwords, DO NOT
28 # make it world-readable.  Also, do not make it writable by the upsmon
29 # user, since it creates an opportunity for an attack by changing the
30 # SHUTDOWNCMD to something malicious.
32 # For best results, you should create a new normal user like "nutmon",
33 # and make it a member of a "nut" group or similar.  Then specify it
34 # here and grant read access to the upsmon.conf for that group.
36 # This user should not have write access to upsmon.conf.
38 # (Unprivileged) OS account to run as:
39 # RUN_AS_USER @RUN_AS_USER@
41 # --------------------------------------------------------------------------
42 # MONITOR <system> <powervalue> <username> <password> ("primary"|"secondary")
44 # List systems you want to monitor.  Not all of these may supply power
45 # to the system running upsmon, but if you want to watch it, it has to
46 # be in this section.
48 # You must have at least one of these declared.
50 # <system> is a UPS identifier in the form <upsname>@<hostname>[:<port>]
51 # like ups@localhost, su700@mybox, etc.
53 # Examples:
55 #  - "su700@mybox" means a UPS called "su700" on a system called "mybox"
57 #  - "fenton@bigbox:5678" is a UPS called "fenton" on a system called
58 #    "bigbox" which runs upsd on port "5678".
60 # The UPS names like "su700" and "fenton" are set in your ups.conf
61 # in [brackets] which identify a section for a particular driver.
63 # If the ups.conf on host "doghouse" has a section called "snoopy", the
64 # identifier for it would be "snoopy@doghouse".
66 # <powervalue> is an integer - the number of power supplies that this UPS
67 # feeds on this system.  Most personal computers only have one power supply,
68 # so this value is normally set to 1, while most modern servers have at least
69 # two.  You need a pretty big or special box to have any other value here.
71 # You can also set this to 0 for a system that doesn't take any power
72 # from the MONITORed supply, which you still want to monitor (e.g. for an
73 # administrative workstation fed from a different circuit than the datacenter
74 # servers it monitors). Use <powervalue> if 0 when you want to hear about
75 # changes for a given UPS without shutting down when it goes critical.
77 # <username> and <password> must match an entry in that system's
78 # upsd.users.  If your NUT username is "monuser" and your password is
79 # "blah", the upsd.users would look like this:
81 #       [monuser]
82 #               password  = blah
83 #               upsmon primary  # (or secondary)
85 # "primary" means this system will shutdown last, allowing the secondary
86 # systems time to shutdown first.
88 # "secondary" means this system shuts down immediately when power goes
89 # critical and less than MINSUPPLIES power sources have reliable input feeds.
91 # The general assumption is that the "primary" system is the one with direct
92 # connection to an UPS (such as serial or USB cable), so the primary system
93 # runs the NUT driver and 'upsd' server locally and can manage the device,
94 # and it would often tell the UPS to completely power itself off as a step
95 # in power-race avoidance (see POWERDOWNFLAG for details).
97 # Also, since the primary system stays up the longest, it suffers higher risks
98 # of ungraceful shutdown if the estimation of remaining runtime (or of the
99 # time it takes to shut down this system) was guessed wrong. By consequence,
100 # the "secondary" systems typically monitor the power environment state
101 # through the 'upsd' processes running on the remote (often "primary") systems
102 # and do not directly interact with an UPS (no local NUT drivers are running
103 # on the secondary systems). As such, secondaries typically shut down as
104 # soon as there is a sufficiently long power outage, or a low-battery alert
105 # from the UPS, or a loss of connection to the primary while the power was
106 # last known to be missing.
108 # This assumption and configuration can also make sense for networked UPSes,
109 # where a rack full of servers might overload the communications capacity
110 # of the networked management card on the UPS - in this case you might either
111 # reduce the 'snmp-ups' or 'netxml-ups' driver polling rate, or dedicate a
112 # "primary" server and set up the rest as "secondary" systems.
114 # In case of such large setups as mentioned above, beware also that shutdown
115 # times of the rack done all at once can substantially differ from smaller
116 # scale experiments with single-server shutdowns, since systems can compete
117 # for shared storage and other limited resources as they go down (and also
118 # not everyone may safely shut down simultaneously - e.g. a NAS or DB server
119 # would better go down after all its clients). You would be well served by
120 # higher-end UPSes with manageable thresholds to declare a critical state.
122 # Examples:
124 # MONITOR myups@bigserver 1 upswired blah primary
125 # MONITOR su700@server.example.com 1 monuser secretpass secondary
126 # MONITOR myups@localhost 1 monuser pass primary        # (or secondary)
128 # --------------------------------------------------------------------------
129 # MINSUPPLIES <num>
131 # Give the number of power supplies that must be receiving power to keep
132 # this system running.  Most systems have one power supply, so you would
133 # put "1" in this field.
135 # Large/expensive server type systems usually have more, and can run with
136 # a few missing.  Some of these can run with 2 out of 4, for example,
137 # so you'd set that to 2.  The idea is to keep the box running as long
138 # as possible, right?
140 # Obviously you have to put the redundant supplies on different UPS circuits
141 # for this to make sense!  See big-servers.txt in the docs subdirectory
142 # for more information and ideas on how to use this feature.
144 MINSUPPLIES 1
146 # --------------------------------------------------------------------------
147 # SHUTDOWNCMD "<command>"
149 # upsmon runs this command when the system needs to be brought down.
151 # This should work just about everywhere ... if it doesn't, well, change it,
152 # perhaps to a more complicated custom script.
154 # Note that while you experiment with the initial setup and want to test how
155 # your configuration reacts to power state changes and ultimately when power
156 # is reported to go critical, but do not want your system to actually turn
157 # off, consider setting the SHUTDOWNCMD temporarily to do something benign -
158 # such as posting a message with 'logger' or 'wall' or 'mailx'. Do be careful
159 # to plug the UPS back into the wall in a timely fashion.
161 # For Windows setup use something like:
162 # SHUTDOWNCMD "C:\\WINDOWS\\system32\\shutdown.exe -s -t 0"
163 # If you have command line using space character you have to add double quote to them, like this:
164 # SHUTDOWNCMD "\"C:\\Program Files\\some command.bat\" -first_arg -second_arg"
165 # Or use the old DOS 8.3 file name, like this:
166 # SHUTDOWNCMD "C:\\PROGRA~1\\SOMECO~1.bat -first_arg -second_arg"
168 SHUTDOWNCMD "/sbin/shutdown -h +0"
170 # --------------------------------------------------------------------------
171 # SHUTDOWNEXIT <boolean|num>
173 # After initiating shutdown, should this upsmon daemon itself exit?
174 # By doing so NUT secondary systems can tell the NUT primary that
175 # it can proceed with its own shutdown and eventually tell the UPS
176 # to cut power for the load. ("Yes" by default)
178 # Some "secondary" systems with workloads that take considerable time
179 # to stop (e.g. virtual machines or large databases) can benefit from
180 # reporting (by virtue of logging off the data server) that they are
181 # ready for the "primary" system to begin its own shutdown and eventually
182 # to tell the UPS to cut the power - not as soon as they have triggered
183 # their own shutdown, but at a later point (e.g. when the upsmon service
184 # is stopped AFTER the heavier workloads).
186 # Note that the actual ability to complete such shutdown depends on the
187 # remaining battery run-time at the moment when UPS power state becomes
188 # considered critical and the shutdowns begin. You may also have to tune
189 # HOSTSYNC on the NUT primary to be long enough for those secondaries to
190 # stop their services. In practice, it may be worthwhile to investigate
191 # ways to trigger shutdowns earlier on these systems, e.g. by setting up
192 # `upssched` integration, or `dummy-ups` driver with overrides for stricter
193 # `battery.charge` or `battery.runtime` triggers than used by the rest of
194 # your servers.
196 # This option supports Boolean-style strings (yes/on/true or no/off/false)
197 # or numbers to define a delay (in seconds) between calling SHUTDOWNCMD
198 # and exiting the daemon. Zero means immediate exit (default), negative
199 # values mean never exiting on its own accord.
201 #SHUTDOWNEXIT yes
203 # --------------------------------------------------------------------------
204 # NOTIFYCMD <command>
206 # upsmon calls this to send messages when things happen
208 # This command is called with the full text of the message (from NOTIFYMSG)
209 # as one argument.
211 # The environment string NOTIFYTYPE will contain the type string of
212 # whatever caused this event to happen.
214 # The environment string UPSNAME will contain the name of the system/device
215 # that generated the change.
217 # Note that this is only called for NOTIFY events that have EXEC set with
218 # NOTIFYFLAG.  See NOTIFYFLAG below for more details.
220 # Making this some sort of shell script might not be a bad idea.
221 # Alternately you can use the upssched program as your NOTIFYCMD for some
222 # more complex setups (e.g. to ease handling of notification storms).
223 # For more information and ideas, see docs/scheduling.txt
225 # Example:
226 # NOTIFYCMD @BINDIR@/notifyme
228 # --------------------------------------------------------------------------
229 # POLLFREQ <n>
231 # Polling frequency for normal activities, measured in seconds.
233 # Adjust this to keep upsmon from flooding your network, but don't make
234 # it too high or it may miss certain short-lived power events.
236 POLLFREQ 5
238 # --------------------------------------------------------------------------
239 # POLLFREQALERT <n>
241 # Polling frequency in seconds while UPS on battery.
243 # You can make this number lower than POLLFREQ, which will make updates
244 # faster when any UPS is running on battery.  This is a good way to tune
245 # network load if you have a lot of these things running.
247 # The default is 5 seconds for both this and POLLFREQ.
249 POLLFREQALERT 5
251 # --------------------------------------------------------------------------
252 # HOSTSYNC - How long upsmon will wait before giving up on another upsmon
254 # The primary upsmon process uses this number when waiting for secondary
255 # systems to disconnect once it has set the forced shutdown (FSD) flag.
256 # If they don't disconnect after this many seconds, it goes on without them.
258 # Similarly, upsmon secondary processes wait up to this interval for the
259 # primary upsmon to set FSD when an UPS they are monitoring goes critical -
260 # that is, on battery and low battery.  If the primary doesn't do its job,
261 # the secondaries will shut down anyway to avoid damage to the file systems.
263 # This "wait for FSD" is done to avoid races where the status changes
264 # to critical and back between polls by the primary.
266 HOSTSYNC 15
268 # --------------------------------------------------------------------------
269 # DEADTIME - Interval to wait before declaring a stale ups "dead"
271 # upsmon requires a UPS to provide status information every few seconds
272 # (see POLLFREQ and POLLFREQALERT) to keep things updated.  If the status
273 # fetch fails, the UPS is marked stale.  If it stays stale for more than
274 # DEADTIME seconds, the UPS is marked dead.
276 # A dead UPS that was last known to be on battery is assumed to have gone
277 # to a low battery condition.  This may force a shutdown if it is providing
278 # a critical amount of power to your system.
280 # Note: DEADTIME should be a multiple of POLLFREQ and POLLFREQALERT.
281 # Otherwise you'll have "dead" UPSes simply because upsmon isn't polling
282 # them quickly enough.  Rule of thumb: take the larger of the two
283 # POLLFREQ values, and multiply by 3.
285 DEADTIME 15
287 # --------------------------------------------------------------------------
288 # POWERDOWNFLAG - Flag file for forcing UPS shutdown on the primary system
290 # upsmon will create a file with this name in primary mode when it's time
291 # to shut down the load.  You should check for this file's existence in
292 # your shutdown scripts and run 'upsdrvctl shutdown' if it exists, to tell
293 # the UPS(es) to power off.
295 # See the config-notes.txt file in the docs subdirectory for more information.
296 # Refer to the section:
297 # [[UPS_shutdown]] "Configuring automatic shutdowns for low battery events"
298 # or refer to the online version.
300 # For Windows setup use something like:
301 # POWERDOWNFLAG "C:\\killpower"
303 # For Unix/Linux systems the legacy common value is:
304 #   POWERDOWNFLAG /etc/killpower
305 # but nowadays you may want it in a temporary filesystem (e.g. under /run)
307 # WARNING: The 'upsmon' binary program does not have a built-in default,
308 # so this setting MUST be specified in the configuration, in order for the
309 # late shutdown integration to work on the particular primary-mode system!
310 POWERDOWNFLAG "@POWERDOWNFLAG@"
312 # --------------------------------------------------------------------------
313 # NOTIFYMSG - change messages sent by upsmon when certain events occur
315 # You can change the default messages to something else if you like.
317 # NOTIFYMSG <notify type> "message"
319 # NOTIFYMSG ONLINE      "UPS %s on line power"
320 # NOTIFYMSG ONBATT      "UPS %s on battery"
321 # NOTIFYMSG LOWBATT     "UPS %s battery is low"
322 # NOTIFYMSG FSD         "UPS %s: forced shutdown in progress"
323 # NOTIFYMSG COMMOK      "Communications with UPS %s established"
324 # NOTIFYMSG COMMBAD     "Communications with UPS %s lost"
325 # NOTIFYMSG SHUTDOWN    "Auto logout and shutdown proceeding"
326 # NOTIFYMSG REPLBATT    "UPS %s battery needs to be replaced"
327 # NOTIFYMSG NOCOMM      "UPS %s is unavailable"
328 # NOTIFYMSG NOPARENT    "upsmon parent process died - shutdown impossible"
329 # NOTIFYMSG CAL         "UPS %s: calibration in progress"
330 # NOTIFYMSG NOTCAL      "UPS %s: calibration finished"
331 # NOTIFYMSG OFF         "UPS %s: administratively OFF or asleep"
332 # NOTIFYMSG NOTOFF      "UPS %s: no longer administratively OFF or asleep"
333 # NOTIFYMSG BYPASS      "UPS %s: on bypass (powered, not protecting)"
334 # NOTIFYMSG NOTBYPASS   "UPS %s: no longer on bypass"
335 # NOTIFYMSG ECO         "UPS %s: in ECO mode (as defined by vendor)"
336 # NOTIFYMSG NOTECO      "UPS %s: no longer in ECO mode (as defined by vendor)"
337 # NOTIFYMSG ALARM       "UPS %s: one or more active alarms: [%s]"
338 # or NOTIFYMSG ALARM    "UPS %s: one or more active alarms (check ups.alarm)"
339 # NOTIFYMSG NOTALARM    "UPS %s is no longer in an alarm state (no active alarms)"
341 # Special handling is provided for surprise tokens seen in ups.status, which
342 # are not in the standard NUT dictionary (but some drivers are known to use);
343 # note that unlike other formatting strings, the "OTHER" one has two string
344 # placeholders "%s" (it is safe to use one, leaving just the UPS name, or none):
346 # NOTIFYMSG OTHER       "UPS %s: has at least one unclassified status token: [%s]"
347 # NOTIFYMSG NOTOTHER    "UPS %s has no unclassified status tokens anymore"
349 # A few messages not directly related to UPS events are also available:
351 # NOTIFYMSG SUSPEND_STARTING    "OS is entering sleep/suspend/hibernate mode"
352 # NOTIFYMSG SUSPEND_FINISHED    "OS just finished sleep/suspend/hibernate mode, de-activating obsolete UPS readings to avoid an unfortunate shutdown"
354 # Note that %s (where used) is replaced with the identifier of the UPS in question.
356 # Meanings of some possible values for <notify type>:
358 # ONLINE   : UPS is back online
359 # ONBATT   : UPS is on battery
360 # LOWBATT  : UPS has a low battery (if also on battery, it's "critical")
361 # FSD      : UPS is being shutdown by the primary (FSD = "Forced Shutdown")
362 # COMMOK   : Communications established with the UPS
363 # COMMBAD  : Communications lost to the UPS
364 # SHUTDOWN : The system is being shutdown
365 # REPLBATT : The UPS battery is bad and needs to be replaced
366 # NOCOMM   : A UPS is unavailable (can't be contacted for monitoring)
367 # NOPARENT : The process that shuts down the system has died (shutdown impossible)
368 # ALARM    : UPS has one or more alarms (look at "ups.alarm" for details)
370 # --------------------------------------------------------------------------
371 # NOTIFYFLAG - change behavior of upsmon when NOTIFY events occur
373 # By default, upsmon sends walls (global messages to all logged in users)
374 # and writes to the syslog when things happen.
375 # Except for Windows where upsmon only writes to the syslog by default.
376 # You can change this.
378 # NOTIFYFLAG <notify type> <flag>[+<flag>][+<flag>] ...
380 # NOTIFYFLAG ONLINE     SYSLOG+WALL
381 # NOTIFYFLAG ONBATT     SYSLOG+WALL
382 # NOTIFYFLAG LOWBATT    SYSLOG+WALL
383 # NOTIFYFLAG FSD        SYSLOG+WALL
384 # NOTIFYFLAG COMMOK     SYSLOG+WALL
385 # NOTIFYFLAG COMMBAD    SYSLOG+WALL
386 # NOTIFYFLAG SHUTDOWN   SYSLOG+WALL
387 # NOTIFYFLAG REPLBATT   SYSLOG+WALL
388 # NOTIFYFLAG NOCOMM     SYSLOG+WALL
389 # NOTIFYFLAG NOPARENT   SYSLOG+WALL
390 # NOTIFYFLAG CAL        SYSLOG+WALL
391 # NOTIFYFLAG NOTCAL     SYSLOG+WALL
392 # NOTIFYFLAG OFF        SYSLOG+WALL
393 # NOTIFYFLAG NOTOFF     SYSLOG+WALL
394 # NOTIFYFLAG BYPASS     SYSLOG+WALL
395 # NOTIFYFLAG NOTBYPASS  SYSLOG+WALL
396 # NOTIFYFLAG ECO        SYSLOG+WALL
397 # NOTIFYFLAG NOTECO     SYSLOG+WALL
398 # NOTIFYFLAG ALARM      SYSLOG+WALL
399 # NOTIFYFLAG NOTALARM   SYSLOG+WALL
401 # NOTIFYFLAG OTHER      SYSLOG+WALL
402 # NOTIFYFLAG NOTOTHER   SYSLOG+WALL
404 # NOTIFYFLAG SUSPEND_STARTING   SYSLOG+WALL
405 # NOTIFYFLAG SUSPEND_FINISHED   SYSLOG+WALL
407 # Possible values for the flags:
409 # SYSLOG - Write the message in the syslog
410 # WALL   - Write the message to all users on the system
411 # EXEC   - Execute NOTIFYCMD (see above) with the message
412 # IGNORE - Don't do anything
414 # If you use IGNORE, don't use any other flags on the same line.
416 # --------------------------------------------------------------------------
417 # OFFDURATION - put "OFF" state into effect if it persists for this many seconds
419 # NUT supports an "administrative OFF" for power devices which can be managed to
420 # turn off their application workload, while the UPS or ePDU remains accessible
421 # for monitoring and management. This toggle allows to delay propagation of such
422 # state into a known loss of a feed (possibly triggering FSD on `upsmon` clients
423 # which `MONITOR` the device and are in fact still alive -- e.g. with multiple
424 # power sources or because they as the load are not really turned off), because
425 # when some devices begin battery calibration, they report "OFF" for a few seconds
426 # and only then they might report "CAL" after switching all the power relays --
427 # thus causing false-positives for `upsmon` FSD trigger.
429 # A negative value means to disable decreasing the counter of working power
430 # supplies in such cases, and a zero makes the effect of detected "OFF" state
431 # immediate. Built-in default value is 30 (seconds).
433 OFFDURATION 30
435 # --------------------------------------------------------------------------
436 # OBLBDURATION - put "OB LB" state into effect if it persists for this many
437 # seconds
439 # NUT normally raises alarms for immediate shutdown (FSD) for consumers of an
440 # UPS known to be on battery (OB) and achieving the low battery status (LB),
441 # if that is their last remaining power source to satisfy their MINSUPPLIES
442 # setting. In some special cases, users may want to delay raising the alarm
443 # (using the OBLBDURATION option) at their discretion and risk of an ungraceful
444 # shutdown.
446 # A non-positive value makes the FSD effect of detected "OB LB" state immediate.
447 # Built-in default value is 0 (seconds).
449 # NOTE: If both `OBLBDURATION` and `HOSTSYNC` options are set on the same
450 # (secondary) `upsmon` client system, and `HOSTSYNC` is shorter, it would be
451 # effectively ignored: `upsmon` would wait for up to `OBLBDURATION` seconds
452 # for the "OB LB" state to clear, and then the secondary client logic would
453 # fall through to immediate shutdown. If the primary system issues an FSD on
454 # this UPS, that would take an even higher-priority effect as soon as seen.
456 #OBLBDURATION 0
458 # --------------------------------------------------------------------------
459 # RBWARNTIME - replace battery warning time in seconds
461 # upsmon will normally warn you about a battery that needs to be replaced
462 # every 43200 seconds, which is 12 hours.  It does this by triggering a
463 # NOTIFY_REPLBATT which is then handled by the usual notify structure
464 # you've defined above.
466 # If this number is not to your liking, override it here.
468 RBWARNTIME 43200
470 # --------------------------------------------------------------------------
471 # NOCOMMWARNTIME - no communications warning time in seconds
473 # upsmon will let you know through the usual notify system if it can't
474 # talk to any of the UPS entries that are defined in this file.  It will
475 # trigger a NOTIFY_NOCOMM by default every 300 seconds unless you
476 # change the interval with this directive.
478 NOCOMMWARNTIME 300
480 # --------------------------------------------------------------------------
481 # POLLFAIL_LOG_THROTTLE_MAX - device poll failure logging throttle
483 # upsmon normally reports polling failures for each device that are in place
484 # for each POLLFREQ loop (e.g. "Data stale" or "Driver not connected") to
485 # system log as configured.  If your devices are expected to be AWOL for an
486 # extended timeframe, you can use this throttle to reduce the stress on
487 # syslog traffic and storage, by posting these messages only once in every
488 # several loop cycles, and when the error condition has changed or cleared.
489 # A negative value means standard behavior (log on every loop, same as when
490 # max=1), and a zero value means to never repeat the message (log only on
491 # start and end/change of the failure state).
492 # Note that this throttle only applies to one latest-active error state per
493 # monitored device.
495 #POLLFAIL_LOG_THROTTLE_MAX 100
497 # --------------------------------------------------------------------------
498 # FINALDELAY - last sleep interval before shutting down the system
500 # On a primary, upsmon will wait this long after sending the NOTIFY_SHUTDOWN
501 # before executing your SHUTDOWNCMD.  If you need to do something in between
502 # those events, increase this number.  Remember, at this point your UPS is
503 # almost depleted, so don't make this too high.  If needed, on high-end UPS
504 # devices you can usually configure when the low-battery state is announced
505 # based on estimated remaining run-time or on charge level of the batteries.
507 # Alternatively, you can set this very low so you don't wait around when
508 # it's time to shut down.  Some UPSes don't give much warning for low
509 # battery and will require a value of 0 here for a safe shutdown.
511 # Note: If FINALDELAY on the secondary is greater than HOSTSYNC on the
512 # primary, the primary will give up waiting for that secondary system
513 # to disconnect.
515 FINALDELAY 5
517 # --------------------------------------------------------------------------
518 # ALARMCRITICAL - an ALARM status can cause the UPS to become critical
519 # ALARMCRITICAL 1
521 # Some drivers implement handling device-/manufacturer-specific UPS alarms.
522 # Such alarms would generally be raised for severe UPS device conditions,
523 # but were also seen for mundane conditions such as an active HE/ECO mode.
525 # By default a device in an ALARM status is considered to be in a volatile
526 # state and e.g. loss of connection will result in the UPS being considered
527 # critical/dead, possibly resulting in shutdown depending on 'MINSUPPLIES'.
529 # If this behavior is unwanted (due to mundane device states raising ALARM
530 # and false shutdowns occurring as a side-effect), 'ALARMCRITICAL 0' can be
531 # set to disable this behavior and treat 'ALARM' as any regular UPS status.
534 ALARMCRITICAL 1
536 # --------------------------------------------------------------------------
537 # CERTPATH - path to certificates (database directory or directory with CA's)
539 # When compiled with SSL support, you can enter the certificate path here.
541 # With NSS:
542 # Certificates are stored in a dedicated database (split into 3 files).
543 # Specify the path of the database directory.
545 # CERTPATH @CONFPATH@/cert/upsmon
547 # With OpenSSL:
548 # Directory containing CA certificates in PEM format, used to verify
549 # the server certificate presented by the upsd server. The files each
550 # contain one CA certificate. The files are looked up by the CA subject
551 # name hash value, which must hence be available.
553 # CERTPATH /usr/ssl/certs
555 # See 'docs/security.txt' or the Security chapter of NUT user manual
556 # for more information on the SSL support in NUT.
558 # --------------------------------------------------------------------------
559 # CERTIDENT - self certificate name and database password
560 # CERTIDENT <certificate name> <database password>
562 # When compiled with SSL support with NSS, you can specify the certificate
563 # name to retrieve from database to authenticate itself and the password
564 # required to access certificate related private key.
566 # CERTIDENT "my nut monitor" "MyPasSw0rD"
568 # See 'docs/security.txt' or the Security chapter of NUT user manual
569 # for more information on the SSL support in NUT.
571 # --------------------------------------------------------------------------
572 # CERTHOST - security properties for an host
573 # CERTHOST <hostname> <certificate name> <certverify> <forcessl>
575 # When compiled with SSL support with NSS, you can specify security directive
576 # for each server you can contact.
577 # Each entry maps server name with the expected certificate name and flags
578 # indicating if the server certificate is verified and if the connection
579 # must be secure.
581 # CERTHOST localhost "My nut server" 1 1
583 # See 'docs/security.txt' or the Security chapter of NUT user manual
584 # for more information on the SSL support in NUT.
586 # --------------------------------------------------------------------------
587 # CERTVERIFY - make upsmon verify all connections with certificates
588 # CERTVERIFY 1
590 # When compiled with SSL support, make upsmon verify all connections with
591 # certificates.
592 # Without this, there is no guarantee that the upsd is the right host.
593 # Enabling this greatly reduces the risk of man in the middle attacks.
594 # This effectively forces the use of SSL, so don't use this unless
595 # all of your upsd hosts are ready for SSL and have their certificates
596 # in order.
597 # When compiled with NSS support of SSL, can be overridden for host
598 # specified with a CERTHOST directive.
601 # --------------------------------------------------------------------------
602 # FORCESSL - force upsmon to use SSL
603 # FORCESSL 1
605 # When compiled with SSL, specify that a secured connection must be used
606 # to communicate with upsd.
607 # If you don't use 'CERTVERIFY 1', then this will at least make sure
608 # that nobody can sniff your sessions without a large effort.  Setting
609 # this will make upsmon drop connections if the remote upsd doesn't
610 # support SSL, so don't use it unless all of them have it running.
611 # When compiled with NSS support of SSL, can be overridden for host
612 # specified with a CERTHOST directive.
614 # --------------------------------------------------------------------------
615 # DEBUG_MIN - specify minimal debugging level for upsmon daemon
616 # e.g. DEBUG_MIN 6
618 # Optionally specify a minimum debug level for `upsmon` daemon, e.g. for
619 # troubleshooting a deployment, without impacting foreground or background
620 # running mode directly, and without need to edit init-scripts or service
621 # unit definitions. Note that command-line option `-D` can only increase
622 # this verbosity level.
624 # NOTE: if the running daemon receives a `reload` command, presence of the
625 # `DEBUG_MIN NUMBER` value in the configuration file can be used to tune
626 # debugging verbosity in the running service daemon (it is recommended to
627 # comment it away or set the minimum to explicit zero when done, to avoid
628 # huge journals and I/O system abuse). Keep in mind that for this run-time
629 # tuning, the `DEBUG_MIN` value *present* in *reloaded* configuration files
630 # is applied instantly and overrides any previously set value, from file
631 # or CLI options, regardless of older logging level being higher or lower
632 # than the newly found number; a missing (or commented away) value however
633 # does not change the previously active logging verbosity.