feat(upsmon): Send mails to isp team
This commit is contained in:
parent
ee81052766
commit
4d16839a10
1 changed files with 29 additions and 8 deletions
|
@ -18,12 +18,30 @@
|
|||
let
|
||||
cmdScript = pkgs.writeShellApplication {
|
||||
name = "upssched-cmd.sh";
|
||||
runtimeInputs = with pkgs; [ systemd ];
|
||||
runtimeInputs = with pkgs; [
|
||||
systemd
|
||||
msmtp
|
||||
];
|
||||
text = ''
|
||||
case $1 in
|
||||
shutdown) shutdown now
|
||||
# TODO : warn
|
||||
# TODO : warn & log on unknown cmd
|
||||
shutdown-low) MEANING="Battery is low, shutting down.";;
|
||||
shutdown-batt) MEANING="On battery for 15min, shutting down.";;
|
||||
warn-batt) MEANING="Power line faillure, going on battery.";;
|
||||
warn-comm) MEANING="Communication with the UPS was broken.";;
|
||||
warn-bypass) MEANING="The UPS is not protecting the server, power line failure would kill $HOSTNAME instantly.";;
|
||||
*) MEANING="Signal unknown, check configuration.";;
|
||||
esac
|
||||
sendmail -i -t <<ERRMAIL
|
||||
To: fai@dgnum.eu
|
||||
Subject: [$HOSTNAME] Battery signal: $1
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
|
||||
$MEANING
|
||||
ERRMAIL
|
||||
|
||||
case $1 in
|
||||
shutdown-*) shutdown 20s # let 20s to send the email
|
||||
esac
|
||||
'';
|
||||
};
|
||||
|
@ -31,10 +49,13 @@
|
|||
CMDSCRIPT ${cmdScript}/bin/upssched-cmd.sh
|
||||
PIPEFN /var/state/ups/upssched/upssched.pipe
|
||||
LOCKFN /var/state/ups/upssched/upssched.lock
|
||||
AT LOWBATT * EXECUTE shutdown
|
||||
AT ONBATT * START-TIMER shutdown 900
|
||||
AT ONLINE * CANCEL-TIMER shutdown
|
||||
# TODO : warn admins at COMMBAD NOCOMM BYPASS (and maybe at ONBATT)
|
||||
AT LOWBATT * EXECUTE shutdown-low
|
||||
AT ONBATT * EXECUTE warn-batt
|
||||
AT ONBATT * START-TIMER shutdown-batt 900
|
||||
AT ONLINE * CANCEL-TIMER shutdown-batt
|
||||
AT COMMBAD * EXECUTE warn-comm
|
||||
AT NOCOMM * EXECUTE warn-comm
|
||||
AT BYPASS * EXECUTE warn-bypass
|
||||
'';
|
||||
in
|
||||
(pkgs.writeTextFile {
|
||||
|
|
Loading…
Reference in a new issue