I want something that has a WebUI, can show in a graph like the CPU and RAM graph for this day and maybe some days before. Also I would like to view what was running at any given time (I mean from 2-3 days before to now).
Is there any (FOSS) software that does that?
Thanks.
I think prometheus + grafana might be what you are looking for. In combination with loki grafana can also be used for viewing log messages.
Absolutely this, nothing else is required. Well, maybe alertmanager if you want to receive alerts
and swap Prometheus for VictoriaMertics, or your homelab ram usage becomes Prometheus ram usage.
I’ll second this. Prometheus + Grafana is what I’m using now, but you can definitely add more extensions/monitors to get far more detail, like Loki which was suggested above.
Do both have to run on the host machine or can a remote machine execute the probes (over ssh or something).
Grafana is just the frontend, its a dashboard for your different data sources Prometheus is the “database”, it scrapes data from your endpoints over http
Zabbix?
If you’re serious about monitoring your shit this is really the best answer. Zabbix is love. Zabbix is life.
I use Check_MK
+1 for CMK. It’s built on nagios. Been using it for decades. That shit is rock solid and has never let me down.
Prometheus is metrics and grafana reports it. IMHO, better reporting and graphing, better eye candy. But also harder to setup and get right.
CMK agent works on 95% of what you want with just the agent.
Same here. I still don’t understand why everyone is about Grafana. I’ve tested it and checkMK is more… Everything.
Switched from CMK to Zabbix at my previous job. Zabbix is far more comfortable and has all the same possibilities that CMK has. But you can setup everything in the web GUI and don’t need to reload anything.
Yes! And if it gets too complex for simple checkboxes and formulas, there are a few places where you can enter JavaScript into a textbox. But it’s all inside the web GUI. No need to fiddle with files on the server.
+1 for cmk. Been using it at work for an entire data center + thousands of endpoints and I also use it for my 3 server homelab. It scales beautifully at any size.
I’ve recently found Beszel and i want to use it to replace my grafana/Prometheus/node exporter stack. It seems to be a rather easy & clean solution. Sure, you can do more with grafana and Prometheus but I can’t be bothered having to learn that, when all I want is some simple monitoring.
LibreNMS hasn’t been mentioned yet, and it’s very good. It does take some setting up, but its use of SNMP for data collection means that it’s easy to collect data from a wide range of network hardware as well. A wide range of alerting is available.
We use libreNMS. Its docs state that it will do this, but we only use the uptime monitoring feature, so I can’t arrest as to how well it will monitor everything else.
I use this too. When SNMP is set up there are loads of things you can monitor with LibreNMS. Much less of a learning curve than Grafana + Prometheus, although the latter probably has some nice tweaks available that SNMP does not provide.
I like munin, it’s very limited, a bit hard to configure and doesn’t have many features but uses almost no resources
I would use OpenTelemetry, Prometheus, and Grafana…
Which parts are OpenTelemetry for? Is Prometheus Agent, Prometheus Server and Grafana not enough?
I like it because I use it for MELT in general. Prometheus generally does metrics and if you want to include logs, traces and events, it becomes more cumbersome. With the Otel collector, I can just update my collector configuration to point to the various services.
I’m not saying OP can’t use what you suggested, just stating what I would use.
Can’t really go wrong with the old school nagios+thruk. The learning curve is a tad steep but it teaches you a lot of things about your systems.
Nagios is really not great imo. It’s very not modern.
But if you insist on Nagios at least do like. Icinga or spmething
Cockpit is what I use. Simple setup and shows all sorts of graphs and statistics. https://cockpit-project.org/
You’ve already received some great suggestions. Another one is Netdata. Personally, I use glances to collect the data and Home Assistant to display the dashboard. But I only do this because I already had Home Assistant running.
I work for a large enterprise and build ML model monitoring pipelines fairly frequently—this will be a more in depth but similar use case to what you’re asking.
We use Grafana (visualization) and Prometheus (timeseries db)—they’re built for this use case exactly. Tons of info out there on how to build, configure, connect to your sensors, and deploy it.
Glances has everything you require and it can also be self-contained.
I recently start using Observium for some basic monitoring. I’m happy so far.
Munin is a tried and true solution. It installs on the server creates graphs and makes it easy to see a stair step graph to problems like out of memory.
I’d also highly recommend installing atop and having it collect stats every 1 to 2 minutes. You can go to a crashed server and step through what was running in a “top” like interfsce. I install atop on any server as a means for post incident diagnosis.