I think prometheus + grafana might be what you are looking for. In combination with loki grafana can also be used for viewing log messages.
Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
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. 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.
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.
@mbirth In Zabbix you can configure everything via web ?
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. 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.
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 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.
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 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.
I like munin, it's very limited, a bit hard to configure and doesn't have many features but uses almost no resources
Cockpit is what I use. Simple setup and shows all sorts of graphs and statistics. https://cockpit-project.org/
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.
I use the Netdata agent (with cloud features disabled). Easy installation, FOSS, 0 configuration required, tons of metrics.
The agent on TrueNAS is loaded to the brim.
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
Prometheus, even by itself.
We use the ELK stack.