Ultimate Monitoring

I know this is super off-topic so please move or remove if not appropriate

I want to monitor my servers, cameras, printers and other devices (DB, media, Synology, Node-RED, ...) and I'm looking into nagios for that.
That would actually be my first question: Is nagios still the goto tool or are there others, especially if mainly I will ping servers to see if they are alive. I prefer a good web interface and the nagios one, at least the nice one, is not free.

Secondly, if the server who monitors the servers and/or the network and/or the internet link fails, I want something to push a message to my cell phone, assuming that will be alive through the mobile phone network.

I'm thinking of a raspberry with a small UPS, a modem and a SIM card to do that, next to some kind of keep-alive.

Or, since my Node-RED is running on a Raspberry, would it make sense to install a small UPS and a modem to that same Raspberry and have node-red do all that???

Can I create some kind of ping mechanism which monitors my devices through node-red and also run the alternative internet connection via the mode if the mail network link fails??
Has anyone used node-red as a monitoring device?

Maybe not so off topic after all..
Thanks for opinions! :slight_smile:

I think you should also change your topic headline, it is not off topic as a general topic I think

I'm actually using NR for a lot of monitoring in the way you write. But even more so, I use NR to control that specific services or applications are running on various devices. NR starts, can stop and can restart services if they would fail or simply crash.

But just pinging a server or a Pi is not enough for my monitoring, where possible I have implemented a more qualitative control by sending a specific command (via MQTT) to services and monitoring that the expected response is received. Then I know, not only the device, but also the service is working fine

In some cases where this is not possible, I have Python scripts at least checking for expected running processes just to verify that they are still there, not perfect but better than a ping

Ping only tells you that the network card is able to respond, not much more. It happens very low down in the network stack.

There are loads of ways to monitor different devices and services such as SNMP, remote syslog, log aggregation.

In my view, you should start with a piece of paper and work out what it is that you want to monitor from each device. Then you can work out how to get that info. Then you can work out where to store it. Finally, you can work out how to produce a dashboard from it.

Node-RED can certainly play some important parts here as it is so good at being able to reach out to devices or gather data from many sources, sanitise and enhance it and then output to storage.

My approach is normally to use heartbeats from small devices that I forward to MQTT via Node-RED. For larger devices and other services, I will probably use Telegraf. Either way, I will use InfluxDB to capture the metrics over time and Grafana to see the metrics graphically.

Then you need a second monitoring device. I use two Pi's, they send each other heartbeats over MQTT. Those are monitored by Node-RED and if they go offline, I get warnings via Telegram.

As I say, to be sure, you will need two Pi's. UPS certainly useful though don't forget to put all of your network kit on it, not just the Pi's.

SIM card gives you potentially more options. Certainly in case your broadband goes down. However, unless you have two on different networks, it will only give you limited resilience. For most people, broadband with your router, switch, wifi and Pi's on a UPS is sufficient. You could always use another service outside your network (on the Internet) to monitor a URL inside your network so that you know if the network or broadband goes down.

A SIM card is generally quite an expense to run so personally I wouldn't bother unless there was nobody in the house for extended periods and my broadband wasn't very reliable and I really needed to be able to control things in or get data from the house at all costs.

Probably virtually everyone who uses Node-RED as a hobby will be doing this. Some are doing it professionally as well.

Here is one possibility to do it (checks ping, no data, data exceptions, ...)

1 Like

After a series of power outages here, I finally got a ups for my computer and felt smug. We had a power outage, but my computer was still running (boy do I feel smug) tried to get to a web site and couldn't attach to anything...at that moment I realized my modem and router were in the basement and not on any UPS...lesson learned.


When we had a major flooding incident in Sheffield a few years ago, a decent UPS was all that allowed me to keep working from home even though roads were washed out and police recommending people to stay off the roads. I kept going for a couple of weeks of intermittent power with the UPS powering the router and my laptop. We were getting about 2 hours on and 2 hours off power for several days.

In terms of other tools, I'm using glances. It has a web-based UI but also a JSON API. I use the API to monitor disk space, CPU usage and memory. For the applications, I get them to send each other heartbeat messages via MQTT and if any stop reporting, the others let me know. And most importantly I monitor the minecraft server by having NR tail the logfile.