NUT notifications not working on pfsense+
-
Apr 22 12:29:23 WhatAreRoutes kernel: ugen1.2: <CPS ST Series> at usbus1 Apr 22 12:29:25 WhatAreRoutes upsmon[2348]: Poll UPS [OfficeUPS] failed - Driver not connected Apr 22 12:29:30 WhatAreRoutes php-cgi[74564]: notify_monitor.php: Message sent to ----- OK Apr 22 12:29:30 WhatAreRoutes upsmon[2348]: Poll UPS [OfficeUPS] failed - Driver not connected Apr 22 12:29:30 WhatAreRoutes kernel: ugen1.2: <CPS ST Series> at usbus1 (disconnected) Apr 22 12:29:34 WhatAreRoutes kernel: ugen1.2: <CPS ST Series> at usbus1 Apr 22 12:29:35 WhatAreRoutes upsmon[2348]: Poll UPS [OfficeUPS] failed - Driver not connected Apr 22 12:29:40 WhatAreRoutes upsmon[2348]: Poll UPS [OfficeUPS] failed - Driver not connected Apr 22 12:29:41 WhatAreRoutes php-cgi[74564]: notify_monitor.php: Message sent to ----- OK Apr 22 12:29:42 WhatAreRoutes kernel: ugen1.2: <CPS ST Series> at usbus1 (disconnected)
I replaced the email address with ----- in the output for privacy reasons. It was the correct email though. I also did get the notification email when running this test.
-
Actually now it is spamming the email with the "this is a test" message.
-
@austin-0 said in NUT notifications not working on pfsense+:
I also did get the notification email when running this test.
Meaning you received a notification from NUT saying that the UPS was not available? There are two successful indications in there.
-
And it was failing to get the UPS status until reseated the cable, and restarted the nut service.
-
@dennypage Yes however last time we tried that I also got the notifications when running the command. I just don't get them when I disconnect the UPS, or it switches to battery.
-
@austin-0 said in NUT notifications not working on pfsense+:
Actually now it is spamming the email with the "this is a test" message.
Ah... there we go. See this Redmine entry for a patch.
-
@dennypage Thank you. We are currently live streaming. So it's not a good time to be installing patches, but once that is done I will try out the patch.
-
@austin-0 said in NUT notifications not working on pfsense+:
We are currently live streaming. So it's not a good time to be installing patches, but once that is done I will try out the patch.
After installing the patch, you may also need to remove the existing notification files. And if a process is hung processing notifications, either kill it or reboot pfSense.
-
@dennypage Okay so I have never done this before, but from what I can tell I correctly entered th commit ID, but it is telling me it is invalid. What am I doing wrong here?
-
@austin-0 Not sure, but you can try it in URL format:
https://github.com/pfsense/pfsense/commit/c5faa351c1ef6d4555478a7f50b3a16ece7e0b2a.patch
-
@dennypage Thank you. I was able to install the package, and then rebooted. Notifications are still not being emailed to me when I unplugged the USB cable to the UPS. I did get the notifications for the actual reboot.
-
@austin-0 Can you post the grep output please?
grep notify_monitor /var/log/system.log
-
@dennypage Well I am no longer there and someone turned off the computer I usually use to remote in. So I won't be able to do this until Friday or Saturday.
-
@austin-0 Okay, I just tested that patch. The effect is that all non root notifications silently fail. I've reached out to @jimp in the Redmine discussion.
In the interim, it appears that the only way you will be able to make it work is to have NUT run as root. You can do this by adding the line
RUN_AS_USER root
to the "Additional configuration lines for upsmon.conf" section in Services / UPS / Settings / Advanced settings.
-
@dennypage I am not getting email notifications from NUT either, and hope you can point me in the right direction.
I have a Cyberpower UPS plugged into my pfSense box with a UPS, and the UPS is recognized fine within the GUI. If it is on battery, I get an alert in the GUI, but do not get an email through the normal pfSense process.
I added the additional configuration to run NUT as root, and rebooted, but that did not work. See below for my upsmon.conf and nut_email.php files, and please let me know what I am missing - thank you!
-
@pdavis @dennypage Sorry, Denny, scratch that last request - I just got the emails following the change to have NUT send as root, so all set!
Thank you
-
@pdavis Glad you have it working. I'm hoping that the requirement to run as root is temporary.
-
@dennypage Well hopefully this works for me as soon as I get a chance to test it. I am curious as to what the security impacts of running the process as root would be. Would it not be better to change the access to whatever file nut needs access to?
-
-
@dennypage said in NUT notifications not working on pfsense+:
You can find it here if you ...
The GUI says :
So, the user would except that email and/or Telegram and or Pushover works.
The file is called :
/usr/local/pkg/nut/nut_email.php
Your edit makes notifications 'email' only (no more Telegram/Pushover).
Are you sure ?@pdavis
I propose a plan B : take control of things yourself everything :
Enable notifications".Place this in the "Additional configuration lines for upsmon.conf" :
NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC NOTIFYFLAG FSD SYSLOG+WALL+EXEC NOTIFYFLAG COMMOK SYSLOG+WALL+EXEC NOTIFYFLAG COMMBAD SYSLOG+WALL+EXEC NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC NOTIFYFLAG REPLBATT SYSLOG+WALL+EXEC NOTIFYFLAG NOCOMM SYSLOG+WALL+EXEC NOTIFYFLAG NOPARENT SYSLOG+WALL+EXEC NOTIFYCMD /usr/local/sbin/upssched RUN_AS_USER root
Note the line "NOTIFYCMD /usr/local/sbin/upssched"
Now, continue reading here NUT upssched - read the entire thread for more info.
In short : "upssched" ( /usr/local/sbin/upssched) is the NUT event scheduler.
It has a config file here /usr/local/etc/nut ( not surfaced in the GUI !) called upssched.conf.[23.01-RELEASE][admin@pfSense.near.by]/root: grep -v '^#' /usr/local/etc/nut/upssched.conf CMDSCRIPT /usr/local/bin/upssched-cmd
The file has to be edited, as shown in the thread I've shown above.
With this file you can handle all possible event, and have pfSense do its thing.Like calling :
send_smtp_message($MSG, $subject);
and/or@notify_all_remote($subject . " - " . $MSG
Just a reminder : when updating NUT, it is very possible that the file "/usr/local/bin/upssched-cmd" gets over written by a default 'do nothing" file.
You'll have to copy in place your own version again.
This can be done using a mode made "patch" or a mere straightforward 'cp' upon boot (use the Shellcmd package, and write up your own copy command, from /root/upssched-cmd to /usr/local/bin/upssched-cmdThe pro's : using NUT as it was meant to be used.
Con's : more maintenance.