feat: Add more UPS monitoring event notifications and use short codes for concise alerts in the notification script.
This commit is contained in:
@@ -6,20 +6,34 @@ MIKROTIK_TARGETS="192.168.7.1 192.168.7.30"
|
||||
TELEGRAM_BOT_TOKEN="6770207225:AAG3yNPepyhhGXqNh8BYjLYUMctc1DSfrH4"
|
||||
TELEGRAM_CHAT_ID="6796478523"
|
||||
|
||||
# Map NUT events to Short Codes
|
||||
case "$1" in
|
||||
"ONLINE") CODE="OL" ;;
|
||||
"ONBATT") CODE="OB" ;;
|
||||
"LOWBATT") CODE="LB" ;;
|
||||
"COMMOK") CODE="CM_OK" ;;
|
||||
"COMMBAD") CODE="CM_ERR" ;;
|
||||
"REPLBATT") CODE="RB" ;;
|
||||
"FSD") CODE="FSD" ;;
|
||||
"SHUTDOWN") CODE="SD" ;;
|
||||
"NOCOMM") CODE="NC" ;;
|
||||
*) CODE="$1" ;; # Fallback
|
||||
esac
|
||||
|
||||
# Message for Telegram
|
||||
DATE=$(date "+%Y-%m-%d %H:%M:%S")
|
||||
MESSAGE="UPS Notification: $1 at $DATE"
|
||||
MESSAGE="UPS Notification: $CODE at $DATE"
|
||||
|
||||
# 1. Send to Telegram using CURL (Secure)
|
||||
# # curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" -d chat_id="$TELEGRAM_CHAT_ID" -d text="$MESSAGE" > /dev/null 2>&1 &
|
||||
# curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" -d chat_id="$TELEGRAM_CHAT_ID" -d text="$MESSAGE" > /dev/null 2>&1 &
|
||||
|
||||
# 2. Send to MikroTik Routers
|
||||
for IP in $MIKROTIK_TARGETS; do
|
||||
# Log event
|
||||
ssh -i /root/.ssh/id_rsa -y upsuser@$IP "/log warning \"UPS Notification: $1\"" &
|
||||
ssh -i /root/.ssh/id_rsa -y upsuser@$IP "/log warning \"UPS: $CODE\"" &
|
||||
|
||||
# Shutdown on Critical
|
||||
if [ "$1" = "LOWBATT" ] || [ "$1" = "FSD" ]; then
|
||||
if [ "$CODE" = "LB" ] || [ "$CODE" = "FSD" ]; then
|
||||
ssh -i /root/.ssh/id_rsa -y upsuser@$IP "/system shutdown" &
|
||||
fi
|
||||
done
|
||||
|
||||
17
upsmon.conf
17
upsmon.conf
@@ -1,6 +1,23 @@
|
||||
MONITOR myups@localhost 1 monuser secret master
|
||||
|
||||
NOTIFYCMD /etc/nut/notify_mikrotik.sh
|
||||
|
||||
NOTIFYFLAG ONLINE SYSLOG+EXEC
|
||||
NOTIFYFLAG ONBATT SYSLOG+EXEC
|
||||
NOTIFYFLAG LOWBATT SYSLOG+EXEC
|
||||
NOTIFYFLAG FSD SYSLOG+EXEC
|
||||
NOTIFYFLAG COMMOK SYSLOG+EXEC
|
||||
NOTIFYFLAG COMMBAD SYSLOG+EXEC
|
||||
NOTIFYFLAG SHUTDOWN SYSLOG+EXEC
|
||||
NOTIFYFLAG REPLBATT SYSLOG+EXEC
|
||||
NOTIFYFLAG NOCOMM SYSLOG+EXEC
|
||||
|
||||
NOTIFYMSG ONLINE "ONLINE"
|
||||
NOTIFYMSG ONBATT "ONBATT"
|
||||
NOTIFYMSG LOWBATT "LOWBATT"
|
||||
NOTIFYMSG FSD "FSD"
|
||||
NOTIFYMSG COMMOK "COMMOK"
|
||||
NOTIFYMSG COMMBAD "COMMBAD"
|
||||
NOTIFYMSG SHUTDOWN "SHUTDOWN"
|
||||
NOTIFYMSG REPLBATT "REPLBATT"
|
||||
NOTIFYMSG NOCOMM "NOCOMM"
|
||||
|
||||
Reference in New Issue
Block a user