I have a robust monitoring system for my Jellyfin server, been running for the last few years. Checks in periodically, at least once per 24 hours and notifies me if it's down. Doesn't use any electricity, but does consume a good amount of Cheerios and mac & cheese.
post
Lights are on, server is on.
I recently found out that this is not always true.
Kernel panic?
You guys are monitoring your servers?
"can't access this thing, server must be down"
I plan to perhaps, just maybe, I am not sure, to try self-hosting an email server. But I'll need a good uptime.
Although I am really scared about security.
Well, it’s a good learning experience. But….. don’t. Good luck getting around the major email providers’ smart screen shit. It’s probably not gonna happen. I tried a few years ago, and even microslop couldn’t figure out why their shit screen crap wouldn’t allow my emails. It’s not in their best interest to fix it. So they don’t. But it’s worth doing it in the short term to learn how to do it. Teaches you about email, spf, dkim etc. which actually does translate to real world skills. I used what I learnt setting it up in my real life job.
Yeah, email is one of the more annoying things to self host. Google rejects mine because my ISP has all their non static IPs on block lists (even though my IP hasn't changed once since I've been with them it's still not "static", can't change the reverse DNS) and I'm not paying 150% more a month for a business account to get a static IP. I ended up just using a free email relay. Still had to setup SPF, DKIM, DMARC, and all that jazz still.
Yup. It’s so damn annoying hosting email. Do it once to learn, but don’t do it as a permanent solution. It takes so much maintenance to keep it going, if you even do get it working.
What maintenance do you mean? run OS updates and pay the vps bill. that's true for any self hosted application. which specific maintenance are you referring to?
I self-host my own email, have done so for years. I've not gotten pwned. Use an SSH key and a firewall, only expose the ports that should be public, have reasonable access controls, etc, just practise general cybersecurity—it applies to servers too.
I know everyone complains about hosting email. But I've not run into major problems. My emails get through spam filters and I have good uptime. It's also a fun learning experience.
I think that you have to do quite a bit more setup on email than most other services. There's SPF and DKIM and DMARC and so on. Plus spam filtering, setting up accounts and authentication, ...
Plus email is arguably more important than anything else, since it's kind of the lowest common denominator of the Internet; your dentist will probably send you an email to remind you of appointments, job offers will arrive via email, password resets arrive via email, and so on.
So it is a bit scary.
Having said that, as long as you're not hosting from a residential IP addresses it is definitely achievable. You can start with one domain and use it for low-value purposes (or for accounts that allow multiple email addresses, like GitHub).
Yes, it can be a bit involved. I'd say I can spin up a mail server in 1–2 days though provided the OS is already installed and I have a domain name and port 25 isn't blocked (that's the main one that tends to be blocked). It may take longer for people who aren't familiar with mail servers but it's not some huge operation.
You can just try spinning up a mail server for fun. If it goes badly then just don't move over your dentist appointments to it. It's only critical infra if you use it for critical things, which you probably shouldn't till it's stable.
Been running one for many years, mostly issue-free. Had to request whitelists way in the beginning, but things turned out ok.
Check out this super great guide. https://workaround.org/ispmail-trixie
Well I used to use VGA for my monitors, now its mostly displayport.
Seriously though, prom+Loki+alloy+a few other things to Grafana, with alerting in grafana.
Uptime Kuma! For HDDs I have them report their “ping” as percentage full
Can you teach me this wizardry?
Sure! In Uptime Kuma, add a monitor with type Push. It gives you a URL with a unique token, and the monitor goes into “down” state if nothing calls that URL within the heartbeat interval. Then have a cron (or a systemd timer or whatever) run this on the machine with the drive every 5 or 10 minutes:
use=$(df --output=pcent /mnt/yourdrive | tail -1 | tr -dc ‘0-9’)
curl -fsS -G “http://your-kuma:3001/api/push/TOKEN --data-urlencode “status=up” --data-urlencode “msg=${use}% used” --data-urlencode “ping=${use}”
Ping is of course meant to be response time, but Kuma will graph any number you toss in, so you get a “filled” chart for the drive. I also send status=down once usage passes a threshold. And if the box itself should fall over for some reason, the missing check-ins trigger the alert too.
(I typed this quick on my phone, so please double-check and probably don’t blindly copy-paste)
I notice something stopped working, or someone in the household notices.
Then I go fix it.
And the best time to notice that the backups weren't working is when you need access to the backup. 😅
Backups? In this economy?
But I need to get something working. I am about to move to VaultWarden and that makes me very nervous.
I run a vaultwarden container since forever and it's really smooth. All updates went through just fine, never had an issue with it.
Don't take this as a reason to not do backups, but vaultwarden is essentially its own back up as it replicates the vault everywhere you use the app. I've recovered my vault several times from my phone.
I’m just using Dropbox now and replicating my 1Password everywhere and for some reason it makes me nervous to self host.
I think I’m just going to back up everyone’s vault to a USB and bring it to a second location twice a year. If storage ever gets affordable, I’ll send replication snapshots instead.
Backups are pretty much the only thing I get notifications for. Otherwise, one app or another on my phone will complain if it loses connection to my server.
Cockpit. Total gamechanger for me. I don't have to ssh to my boxes individually to see what's going on. Instead it's a web UI AND you can connect basically every server you want to one instance.
https://github.com/cockpit-project/cockpit
That said. For individual servers?
htop/nmon (Get nmon straight from the source! https://nmon.sourceforge.io/pmwiki.php) for a birds-eye sysmon view of things
ps -ef | grep <whatever you're looking for> for investigating stuck/hung/zombie processes
dmseg
tail -f /var/log (or whatever log file you care about)
netstat for net statistics (i think ntop used to be a thing but idk anymore>...)
df -h to look at disk usage
those are all that come to mind right away.
EDIT: formatting and quick explanation of what each tool does
Lol I go to all of my server's specific cockpit addresses, sounds like I'm doing it wrong, I'll need to look at connecting them
So it turns out.... you can't connect them anymore.... The feature is deprecated
https://docs.cockpit-project.org/cockpit-guide/latest/guide/feature-machines.html
(also, I wanted to just link my response from another user who had asimilar question but for whateVER reasyon, Alx won't let me??)
How do you configure adding multiple servers to the same instance?
So I actually just went to make a guide on this, demonstrating on my ubuntu 26.04 lab vps, and it appears the connect option is not there.
However on my 24.04 lab vps, it's there. Same with my local 22.04 systems (yes I know I have to upgrade lmao)
I went to cockpit docks and sure enough, the feature is deprecated :( Dang.
https://docs.cockpit-project.org/cockpit-guide/latest/guide/feature-machines.html
It was really cool though while it worked.
It's running the private DNS for my phone. If it goes down, I realise quite quickly.
My primary monitoring system is Beszel, but since I just migrated from VMs to LXCs it can’t properly see the memory/CPU usage, so it just checks for disk usage and liveliness. Home assistant with Proxmox & Dockhand integrations gives me the rest of my monitoring needs.
I am also using Beszel after using checkmk. For me checkmk was way too complicated (but is also way more powerfull) to setup and maintain propperly. So I switcheed to beszel because it is much easier and good enough for my use case which is:
- Is the thing running at all?
- Disk full?
- CPU, network, etc. on full throttle for some strange reason?
- send me a mail if somethings wrong
Besides that I don't need anything. The only thing missing is SNMP support to check switches, routers and AP's.
I've been checking several other solutions before and Beszel just hits the spot.
If you run Proxmox and Proxmox Backup Server, I actually JUST found a better product for my needs, Pulse
My only problem with Beszel is that it doesn’t know about LXCs within Proxmox, so I can’t see if there are CPU/memory issues happening within them. Pulse integrates directly and can see all of it!
If you don’t run LXCs within Proxmox, I’d say stick with Beszel.
They're in my attached garage. In the living room when it's quiet I can hear them humming. Does that count?
I pay a group of schoolchildren to refresh a group of browser tabs and yell if anything isn't responding.
There are plenty of previous threads with recent answers if you search.
I usually just walk down the hall and move the mouse. I don't really need remote monitoring. 😅
Monit, simple to setup, gets the job done, runs on my router too.
I started with uptime kuma since it was simple and light on resources. I've switched to checkmk community (formerly raw) and really enjoying it. It's telling me so many things that are wrong that I missed. Like that one time I made a snapshot of a VM then forgot about it for 113 days...
Uptime Kuma, only really care if it's up or not. Got about 30 services monitored, sending notifications to Signal.
Ah cool! How do you get notifications sent to signal. I've always avoided because i didnt like emails of my home setup leaving home in clear
Edit: ah, i see! It's kuma that allows you to i guess by adding new device on phone Signal
https://github.com/bbernhard/signal-cli-rest-api
Its very finicky to setup, but once you get it working its pretty good. Sometimes needs to be reauthenticated though.
Kuma notification settings:

Prometheus + grafana. It's overkill tbh, most of the services restart automatically and I mostly ignore it. (it's an artifact from life where I cared about it)
I use Alloy to collect Metrics of the host (Disk usage, CPU, Ram, etc.) and different logs. With Grafana the data is then displayed as a daschboard. If everything goes south, Alertmanager sends Mails to me
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:
| Fewer Letters | More Letters |
|---|---|
| AP | WiFi Access Point |
| DNS | Domain Name Service/System |
| ISP | Internet Service Provider |
| LXC | Linux Containers |
| NAS | Network-Attached Storage |
| NFS | Network File System, a Unix-based file-sharing protocol known for performance and efficiency |
| RAID | Redundant Array of Independent Disks for mass storage |
| SSH | Secure Shell for remote terminal access |
| TLS | Transport Layer Security, supersedes SSL |
| ZFS | Solaris/Linux filesystem focusing on data integrity |
10 acronyms in this thread; the most compressed thread commented on today has 14 acronyms.
[Thread #122 for this comm, first seen 9th Oct 2026, 13:00] [FAQ] [Full list] [Contact] [Source code]
I go the easy route with munin and wazuh. It comes with a ton of stuff preconfigured
I sync my podcasts hourly with Nextcloud and poddersync, so when my servers go down, my phone beeps at me.
Uptime Kuma for outages, Prometheus for metrics, rsyslog to Loki backend for logs. Grafana for ingesting Prometheus and Loki data.
I run UptimeKuma for monitoring a couple of things, but honestly, I’m pretty much my only user and my homelab is independent of the regular home network, so I don’t really care too much. I’ve been considering some simple log monitoring… when I get around to it :-)
SNMP.
The old engine was nagios. The new engine will be telegraf -> mqtt -> brokerfest -> timescale -> Prometheus.
I guess. Not sure yet. The brokerfest is a series of broker pubsub between sites to both split out data from the stream for off-site CC, or pull its own subscriptions in. Data could go host <- telegraf -> broker -> remote broker -> remote timescale -> remote Prometheus
Grafana dashboard

You can find more details and the source code here: https://erasmus.works
My 3-node Proxmox cluster has a dashboard, my NAS has a dashboard, and Home Assistant has a dashboard. Hell, my gaming PC has a dashboard, too (Webmin and Cockpit).
A script checks container status and accessibility, and pushes a ntfy alert if it goes down. Healthchecks.io reports if the whole Pi goes down.
Cockpit on each server (microos) and bezel for a lite centralized monitoring/alert stack. I have a bespoke gitops on each server running ansible hourly, and ntfy pings for failure on these. Also healthchecks.Io for heartbeat/backups, other critical infra checks
I vibe coded a monitor that shows me all the logs and other stuff. And im using netbird cloud (free version) to setup dns so all my services have url "servicexyz.home.internal".
So i just connect to netbird vpn on my phone and go to that url.
You can pretty much use any of the other tools mentioned in this thread with this kind of setup, heck you can write a simple fastapi server that just runs "top" and return it (it would be like 20-30 lines of python) over a url that you can from anywhere as long as you are connected to your vpn
When logged in locally, I use btop to see an overview of what's happening.
Other than that, I have relevant Prometheus exporters in every machine (node exporter in all machines, specific exporters by the workload), hooked up over Wireguard to my monitoring solution offsite.
The phone I actually carry around has a ntfy client talking to ntfy server on the aforementioned monitoring solution, so I get buzzes when something goes down.
Btw, does anybody happen to know where I could get a pre-cooked comprehensive alert system for my nodes? Surely many people have already written all these rules:
- if disk space > 80% consumed, send a low-priority alert
- if disk space > 95% consumed, send an urgent alert
- ... everything else, there's so much to check...
I am using prometheus-nodeexporter which is scraped by Prometheus and then visualized in Grafana
I use FreeBSD so I don't need to check it to make sure it's working properly
Wasn't there an RCE recently discovered with AI?
Uptime Kuma for monitoring web service status (just like if the jellyfin, etc. website is up), and Zabbix for monitoring system metrics like CPU/Memory/Disk I/O, etc. Zabbix can do a whole lot, but can also get a little complicated. There are plenty of guides out there for configuring it though.
all 97 comments