I have been looking for a good ups monitoring software for awhile and I found eaton’s IPM2 however we cannot afford the licenses currently and I am looking for a free solution that will be able to alert us of any issues if/when they happen. We have only Eaton ups’ in our environment. Any help would be greatly appreciated!
Videos
Does anyone have experience with a good Open Source UPS management application? We just bought several Liebert UPS systems and I'm looking for a good way to centrally manage them. Obviously Nform is an option, just looking for others.
Forgive me for asking as I have only been in IT for a little over a year. My company is looking at finding a good solution to monitor UPS' out in our factory and accompanying data-centers. I looked at powerchute from APC (all of our UPS' are APC) and it seemed like the only way it could be used was if every UPS was attached to a computer. Any suggestions on cheap/free solutions for UPS monitoring?
Linux friendly APC monitoring software.. I don't have windows so can't use Powerchute (AFAIK). There is apcupsd or NUT. Maybe there are other options. Just wondering what people are using.
Thinking I'd like to be able to monitor battery health, load, etc as well as define scenarios in the event the battery needs to be used during a power failure (shut down, etc )
I'd like a GUI but don't mind CLI.
What software do you recommend for monitoring and configuring uninterruptible power supplies? The software that is provided by the manufacturer is terminal based and difficult to use. Is there a GUI option that can provide load and battery status in real time? My unit is a CyberPower CP1350PFCLCD.
Hello
I'm looking for some solution to power down all devices while my UPS will be low on battery.
Mainly I expect tool to loggin via SSH and run shutdown command, but additional value would be Windows support.
App/WebApp/Script would be running on Raspberry Pi4, also Zabbix is running there.
I'm running following services, which require to be shutdown: 1 x FortiGate firewall 20 x Ubuntu VM 2 x ESXi server 3 x Windows VM 2 x Mikrotik VM 2 x Synology NAS
Please advise if you know any software which would meet my requirements or maybe keywords to search for.
I'm about creating my own script for this in Python, but well developed service is preferred :)
There's Cacti but I really would rather not dig into MIBS to build my own templates. Not finding a lot of pre-built templates for Liebert UPS/PDUs. I will if I have to but ugh. My searches have led me to various commercial options but since my budget for this project is exactly $0 that's not gonna work for now. Maybe next year. Any ideas? Just looking for standard input/output/load information. Nothing too fancy.
I don't know if you'd consider it easier than Cacti, but we use Nagios for monitoring, and send the perfdata from the checks off to pnp4nagios to make the pretty graphs. We ditched Cacti a little while ago because it was too tedious to add new graphs and maintain.
Our power rails are APC models, so we've made use of a check_apc script from somewhere on the internet; I can only hope that something similar exists for your gear. Dealing with SNMP and MIBs does suck, fingers crossed that someone else has already done the work.
There's Cacti but I really would rather not dig into MIBS to build my own templates.
Honestly, without malice...your attitude is the issue here. If you don't want to understand/grok SNMP, you're going to run into trouble further down the line. Sit down with SNMP/OIDs/MIBs, and get it all working. You'll be much happier when you do.
Do you just need monitoring or do you need control/automated operating system shutdown?
Network UPS Tools (NUT) is a really good option. Does USB, serial, and SNMP and covers a ton of UPS makes and models. You’ll find that a lot of SANs and other storage devices that “just work” when you connect a USB cable are probably using NUT under the hood.
If you just need SNMP monitoring, pretty much any opensource network management system could be made to work.
Observium is a good free tool for monitoring. It is one of those “just works” sort of monitoring systems that was easy to get started with. When I set it up I used the Turnkey Linux version , which makes provisioning even easier.
Nagios is really extensible.
Zabbix is a tool I’ve seen some of our customers using (although I think moreso with PDUs, but either should be achievable via SNMP).
LibreNMS is another opensource monitoring solution that is fairly popular.
There is a lot you can do with Net-SNMP and bash scripts too.
In a nutshell, if you have an SNMP-manageable UPS, whatever SNMP manager you use for your other devices can probably fit. Let me know if you need some more information (regardless of the UPS vendor you’re looking to monitor), this overlaps a bit with some topics I am looking into now.
edits: grammar, clarity
Does anyone have any recommendations for Open Source UPS monitoring software?
Hello to all,
I am working on an uptime monitoring and incident management application. Fully dockerized, written in php 8 (with laravel framework).
https://apphealer.io
https://github.com/AppHealer
https://facebook.com/AppHealer
https://linkedin.com/company/AppHealer/
Be happy for any kind of support (sharing, followers on linkedin/facebook, github stars etc) or any kind of opinions / feature requests / pull requests.
have a nice day! :-)
We have around around 100 Eaton ups’ scattered across our campus and I was wondering if anyone knew of a program that could tie them all together so that I can get stats of all of them in one place and easily figure out if one is giving an error. I am not familiar with this approach as at my other job we just configured each one individually for alerting. Any help would be greatly appreciated!
I recently decided to finally take the steps required to configure my UPS properly. I purchased an Eaton 5PX 3000 several months ago and though I did set up monitoring for it via grafana/prometheus, I never finished configuring it to safely power down my hosts in the case of power loss.
In interviewing the documented and immediately available solutions for this task I was overwhelmed with numerous implementations of Network UPs Tools (NUT), many of these were available as docker images.
I scrutinized many of the Dockerfiles I encountered (I love to do this for inspiration, it can be handy having exposure to the Dockerfile syntax for those cases we need to make major/minor edits or build our own images). It seemed as we might configure any implementation of nut-upsd via files such as /etc/nut/upsmon.conf so that on shutdown we could run a script to safely shutdown all of our servers rather than just the server or a particular client, all conveniently from a single docker container.
After studying the situation and the options, my goal was solidified. I just had to decide which container image to use, or build my own. Initially I had tried the Nutify project and had been very impressed with the metrics and overall UI design of the application. But I did not like that it did not outline any clear way that we would use it to shutdown remote hosts at the time of writing.
These were the main images I observed:
https://github.com/monstermuffin/nut-docker
https://github.com/instantlinux/docker-tools
https://github.com/sudo-bot/nut-upsd
After studying these container images and other docs I came up with the idea of using ssh to send the shutdown commands, I'd just need to add "openssh-client" to the container image I used. I was initially planning on using the inbuilt NUT client/server functionality to use the single Nutify instance as a master and slaves of the nut-upsd binary installed directly to the proxmox nodes would shut each server down. After these discoveries I decided on a far simpler solution. I could just use a single Nutify instance to shut everything down.
Note: Everything I document in this post is provided for educational purposes alone. I am not a expert on security. I can not speak for best practices. Take it with that grain of salt now!
Deploying Nutify
Docker Compose:
services:
nutify:
cap_add:
- SYS_ADMIN
- SYS_RAWIO
- MKNOD
container_name: Nutify
device_cgroup_rules:
- 'c 189:* rwm'
devices:
- /dev/bus/usb:/dev/bus/usb:rwm
env_file: nutify-secret.env
environment:
# - SECRET_KEY=$SECRET_KEY # for password encryption and decryption in the database
- UDEV=1
image: cr.pcfae.com/prplanit/nutify-ssh:latest # Use amd64-latest or armv7-latest based on your architecture
ports:
- 3493:3493
- 5050:5050
- 443:443
privileged: true
restart: always
user: root
volumes:
- /opt/docker/Nutify/logs:/app/nutify/logs
- /opt/docker/Nutify/instance:/app/nutify/instance
- /opt/docker/Nutify/ssl:/app/ssl
- /opt/docker/Nutify/etc/nut:/etc/nut
- /opt/docker/Nutify/.ssh:/root/.ssh
- /opt/docker/Nutify/script:/root/script
- /dev:/dev:rw # Full /dev access improves hotplug handling
- /run/udev:/run/udev:ro # Access to udev events # Improve USB detectionThere is one minor caveat with this deployment... Currently Nutify does not ship with the openssh-client installed into the image. In order to get this working I simply added it to the Dockerfile available from the github repo and then I had a fresh image with the ssh features.
You can build your own image like so:
git pull https://github.com/DartSteven/Nutify.git cd Nutify sudo nano Dockerfile
In the Dockerfile look for the part where it mentions "# Combine all setup commands in a single layer" I added the openssh-client into that list somewhere in the multiline "apt install" in a place that seemed good to me. It doesn't really matter so long as it is in the list and there is a "" to the right as needed for the proper syntax to continue the multiline command.
Once you have edited the dockerfile you can build the image:
docker build -t cr.pcfae.com/prplanit/apt-cacher-ng:2.7.4 .
You can exchange cr.pcfae.com/ for your own private registry domain if applicable, or strip that portion entirely. Just make sure you reference this image you built with the same string you are now using to build it in your docker compose.
Custom configurations for Nutify via the Settings cog at the top right -> Advanced section In the default /etc/nut/upsmon.conf, we replace this line :
SHUTDOWNCMD "/sbin/shutdown -h now"
for something like this:
SHUTDOWNCMD "/bin/bash /root/script/nutify-shutdown.sh"
We will need to create the script. i.e.
docker exec -it Nutify nano /root/script/nutify-shutdown.sh
Change its contents to something like this:
#!/bin/bash
apt update
apt install -f -y openssh-client
hosts=( "Avocado" "Bamboo" "Cosmos" "Dragonfruit" "Eggplant" )
for host in "${hosts[@]}"; do
ssh root@$host "shutdown now"
doneNote that we will need to ensure the script has execute permissions, i.e.
chmod +x nutify-shutdown.sh
Generating ssh keys:
docker exec -it Nutify ssh-keygen -b 4096
Copying the public key to each host you want to shutdown:
docker exec -it Nutify ssh-copy-id <user>@<host>
I learned from another member on the homelab discord that you can also restrict the authorized key to a specific command or script. I found a guide that references this functionality. https://www.virtono.com/community/tutorial-how-to/restrict-executable-ssh-commands-with-authorized-keys/
Also perhaps instead of implementing the script with ssh, we could have used curl and the proxmox api in my case or in yours if a API exists for the shutdown of *your* hosts. (These ideas apply to all the nut-upsd images. NOT JUST NUTIFY)
https://forum.proxmox.com/threads/shutdown-the-server-via-api.98125/
Testing UPS will shutdown during an outage
I found an article here that helped me with the proper command. Note: Running this command WILL SHUT DOWN THE HOSTS YOU SPECIFIED in the nutify-shutdown.sh script if you configured everything correct, so just be aware of that as you run this command!
docker exec -it Nutify /usr/local/sbin/upsmon -c fsd
I won't go over general setup of Nutify, the app seems to be plenty intuitive you just need to make sure you plug your UPS in via USB and passthru the adapter via the Hypervisor (i.e. proxmox) and in my case my Eaton 5PX 3000 registered automatically in the initial setup screen.
While I was working on this setup I reached out to the developer of Nutify to ask if he might be willing to officially add openssh-client to the build of the image and he was suprisingly receptive to the idea and even previewed me a few proof of concept UIs, that was pretty noteworthy to me so I thought to mention it. But I can say if you do not want to approach it the way I did there will be an official implementation soon no doubt, just give it some time. Shout out to the dev and all the open source folk out there. Its nice to be in such a kind community. So spoiled!
Likely if you followed along with me, my hope is all you have left is to read thru menus and configure the rest of the triggers to your preference and you will be golden. Anyways. I hope someone liked or enjoyed this and otherwise; this has been quite an adventure and I am glad to finally sign off on this one...
Yours truly,
SoFMeRight!
Hey everyone,
I’ve been working on a new uptime monitoring SaaS called Boltping, and I wanted to get the community’s thoughts on monitoring tools.
The Problem
As a DevOps engineer, I’ve always found uptime monitoring tools to be either too expensive, too basic, or lacking key features. Some charge a premium but don’t even check from multiple regions, while others don’t notify you in real-time when your site is down.
What We’re Building
🔹 12-region uptime monitoring (to catch local outages)
🔹 Response time tracking & alerting (TTFB)
🔹 SSL expiry alerts (before your certs expire)
🔹 Performance Monitoring (Disk Usage, RAM, CPU (utilizations))
🔹 Multi-channel notifications (Slack, MS Teams, SMS, Webhooks, Email)
It’s still in early development, but I’d love honest feedback from the community:
1️ - What’s your biggest frustration with uptime monitoring tools?
2️ - What’s a must-have feature that you feel is often missing?
3️ - Would you be interested in trying it for free before launch?
This is not a sales pitch. I’m genuinely looking for insights from sysadmins, developers, and anyone running online services.
Appreciate any thoughts!
We are looking to migrate our UPS’s to a platform where we can monitor them.
Note - We do not rely on these UPS to run while out of power. They are smaller units that help get through 3-5 minutes of downtime if needed.
Any suggestions on a platform like this?
Dan
Yes, our Brightlayer monitoring software can manage and monitor multiple vendors under one platform. Device configuration, firmware updates, notifications, etc.
Happy to help schedule a demo if you’d like to see.
I'm using an APC SmartUPS 1500, being monitored by NUT on a Raspberry Pi. I have a few Linux boxes connected to to the Pi, using NUT monitor, and they shut down just fine when the UPS battery is low. However, I'm looking to add a couple of Windows servers to the mix, and am struggling to figure out the best way to have them shut down when needed. Yes, NUT has a port to Windows, but it is pretty horrible. Completely command line, and missing half of the dependencies, etc.
Are any of you using NUT with Windows, and have a better solution? Perhaps a proprietary app that speaks the NUT protocol that I have so far been unable to find?
From what I can make out, the simplest way to integrate a UPS with Windows is to have it show up as a Win32_Battery WMI provider. There is a suggestion in that regard on the NUT issue tracker, but nobody has stepped up to actually build it in the last 3 years :-( I'm more of a Linux guy myself, so don't really know where to start with Windows.
I'm using an APC SmartUPS 1500
Are any of you using NUT with Windows, and have a better solution?
Have you considered Powerchute? APC SmartUSP is featured with PowerChute Network Shutdown utility used to gracefully shut down all the hardware on power loss. https://www.apc.com/shop/us/en/categories/power/uninterruptible-power-supply-ups-/ups-management/powerchute-network-shutdown/N-auzzn7
Here is a nice manual on how to configure and automate PowerChute with PowerShell scripts. https://www.starwindsoftware.com/resource-library/starwind-virtual-san-gentle-shutdown-with-powerchute/
Look at this:
https://www.wikihow.com/Remotely-Shutdown-a-Computer
Specifically method 3, shutting down Wondows from Linux. Use that from the Pi.
Hello,
As we approach Hurricane season, I am auditing all customer's UPS units, and I thought it would be a good time to open the discussion to UPS.
-
What all are you using for UPS? APC is the staple, but I know the unit type depends on the location, what it's backing up, and what you're hoping to get out of it time wise? Or just a controlled shutdown ?
-
How are you managing your UPS (if you are)? Do you have a UPS with a UPS network card? Are you just doing a management station with USB pass-thru ? Raspberry Pi ?
-
How often do you force change a UPS vs just changing the battery tray?
Email alerting on DOWN CONDITIONS is the biggest ask for me.
Let's discuss! What do you got?
I'm not in the MSP space anymore but my previous job was with an MSP and they standardized on APC SmartUPS 1500/2200 with the network management cards. They would configure email alerts when they were running on battery and those would get sent to the ticketing system as an emergency ticket. Wherever possible, we would install the APC Network Shutdown software on the vmhost so it would automatically shut down their servers.
However if the client didn't see the value in the added features of the UPS we wouldn't force it on them and we would make sure they understood that if they lost power, we'd have no clue until their infra went down hard.
We use Eaton, and either IPP or IPM/IPP for management, always network cards. Actual load and battery time are client dependent. The IPP or IPM will start a graceful shutdown depending on whatever parameters we set.