Desc: Using upsmon and your pager together File: pager.txt Date: 28 May 2001 Auth: Russell Kroll upsmon can call out to a helper script or program when the UPS changes state. The example upsmon.conf has a full list of which state changes are available - ONLINE, ONBATT, LOWBATT, and more. The simple approach ------------------- - Set EXEC flags on various things in upsmon.conf NOTIFYFLAG ONBATT EXEC NOTIFYFLAG ONLINE EXEC If you want other things like WALL or SYSLOG to happen, just add them. NOTIFYFLAG ONBATT EXEC+WALL+SYSLOG You get the idea. - Tell upsmon where your script is NOTIFYCMD /path/to/my/script - Make a simple script like this at that location: #! /bin/bash echo "$*" | sendmail -F"ups@mybox" bofh@pager.example.com - Restart upsmon, pull the plug, and see what happens. That approach is bare-bones, but you should get the text content of the alert in the body of the message, since upsmon passes the alert text (from NOTIFYMSG) as an argument. This will send mail every time something happens which may become annoying rather quickly, especially for simple power fluctuations. To only send messages after some interval, see the upssched.txt file for information on offset events. Using more advanced features ---------------------------- Your helper script will be run with a few environment variables set. UPSNAME - the name of the system that generated the change. This will be one of your identifiers from the MONITOR lines in upsmon.conf. NOTIFYTYPE - this will be ONLINE, ONBATT, or whatever event took place which made upsmon call your script. You can use these to do different things based on which system has changed state. You could have it only send pages for an important system while totally ignoring a known trouble spot, for example. Suppressing notify storms ------------------------- upsmon will call your script every time an event happens that has the EXEC flag set. This means a quick power failure that lasts mere seconds might generate several pages in a row. To suppress this sort of annoyance, use upssched as your NOTIFYCMD program, and configure it to send pages after a timer has elapsed. See upssched.txt for more information.