How do you monitor your server containers, disks, load…?
Do you use an easy-to-use web interface? Do you do everything via SSH? Or maybe you’ve got a more complicated setup?
I want to change my setup and I’m looking for new ideas, I’ve been using Cockpit for some years and some of the plugins are really outdated (ZFS for example) and others are completely broken (docker-compose).
My own server? YOLO
At work? Grafana, KOBS, Victoria Metrics, Jaeger, OpsGenie, …
My own server? YOLO
I can’t figure out whether there’s a monitoring tool called YOLO or you don’t monitor anything.
Now I am intrigued to develop one that is called YOLO.
But just in case: no, I don’t monitor my server. If I notice something not working, I ssh into the machine and check what’s up. I don’t want to deal with another zoo of services for the monitoring part.
You are me
Yes.
This is the first time I’ve heard of Victoria Metrics. It looks like it has a similar use case as Prometheus, is that correct? If so, what made you or your team choose one over the other?
IIRC it had better performance than Prometheus. We also ditched Elasticsearch in favor of ClickHouse to keep up with log ingestion.
I can second that. We had some really good experiences with ClickHouse and its performance. If it fits the bill, it’s a very nice piece of software.
Thanks for the info! Looks pretty cool I’ll have to check it out
My clients when they text me the server is down.
This has the same energy as my spouse yelling at me because jellyfin went down
So damn accurate ahhaha
I’m a huge fan of Netdata, very configurable and monitors just about anything you could want. Great interface and alerts too - https://www.netdata.cloud/
Same been running netdata for years. They’re monetizing now where it used to just be free. Good for them, it’s a great product. And it’s foss
Netdata 100%
It feeds my itch for more data than I know what to do with and it’s presented in one of the cleanest ways I’ve ever seen for so much info.
I was looking for something free that I could host on my machine but thanks, I didn’t know about it
Netdata is free and can be run standalone. Just install it and do not configure the cloud integration. You can see your dashboard on localhost:19999
Oh that’s neat, will take a look! Can you run it on docker?
As others stated, you can run and access the interface locally (or setup your own reverse proxy) for free. Their Cloud dashboard is also free for up to 5 nodes. They recently added a flat-rate “Homelab” plan as well, if you want to remove the limit. It’s all quite usable for $0 otherwise though!
I just use homepage as my homepage :D
I can see simple CPU/RAM/storage stats and got widgets for almost all services, one of them is portainer so I can see if any service is stopped (most of them are running in docker). Also few services send notification on error or update
I know its not really a monitoring tool, but it works well enough for me
Node exporter on hosts, OpenTelemetry collector to scrape metrics and collect logs, shipping them to Prometheus and Loki, visualising with Grafana.
Try VictoriaMetrics. Basically the same feature set as Prometheus, but so much more resource friendly for homelab scale. I store some metrics for 12 months now, because it’s easy.
Do you have a name for the opentelemetry collector? I’m interested.
Use the Contrib version of the collector, it has many more receivers, processors and exporters
“Huh weird, I tried to use <insert service here> and it’s not working. Welp, guess I better fix it…”
Zabbix for agent / snmp based statistics.
Uptime Kuma for up/down states with a webhook notification into Discord so I get instant alerts on my phone when one goes down.
I like monit. It’s simple to setup and pretty flexible.
I used it as well until I found out I could just do it with
systemd
. https://www.baeldung.com/linux/systemd-service-fail-notification
How has nobody in this thread said check_mk yet?
It’s free, you host it yourself. It’s built off of nagios, compatible with nagios plugins, supports snmp or agent based checks. It can email, SMS, slack or discord you when something breaks, you can write your own custom checks in any language that can output to a local console… I could never imagine even looking for something else.
+1 for check_mk.
It’s got a scriptable config file that begs for automation like mgmtConfig and it does SNMP. For me, that’s it. SNMP->MQTT->SNMP next year.
I’ve been using uptime Kuma recently and it’s great but works better outside of docker.
Inside docker I’d get a lot of false down positives from I assume docker throttling the checks.
Plus it works with email, telegram, and matrix chat alerts. I monitor all my clients sites with it, and it’s bullet proof behind caddy.
For light touch monitoring this is my approach too. I have one instance in my network, and another on fly.io for the VPSs (my most common outage is my home internet). To make it a tiny bit stronger, I wrote a Go endpoint that exposes the disk and memory usage of a server including with mem_okay and disk_okay keywords, and I have Kuma checking those.
I even have the two Kuma instances checking each other by making a status page and adding checks for each other’s ‘degraded’ state. I have ntfy set up on both so I get the Kuma change notifications on my iPhone. I love ntfy so much I donate to it.
For my VPSs, this is probably not enough, so I am considering the more complicated solutions (I’ve started wanting to know things like an influx of fali2ban bans etc.)
I just do web hosting for clients sites and use Kuma to monitor uptime and SSL certificates.
Ive got multiple Kuma’s running as well.
At home, nagios, at work colleagues. (I finally escaped the admin rat race)
Prometheus and Altertmanager
At home, libreNMS. Just SNMP everything.
For work, whatever the tool of the day is from management.
Grafana and Alertmanager. For graphing and sending webhooks into Discord and Email for me to see in real-time.
Prometheus and its exporters. If it has an exporter I can monitor it in Grafana. If it doesn’t have an exporter, I might be able to make one for it, since it’s just a plaintext static webpage with serialized metrics on it, anything can output that like PHP.
Infping/Influxdb for smokeping-like data in Grafana, works great for telling me about any packet loss or increased latency on any network that responds to ICMP echo. My uncle uses my services to complain to Spectrum about his Coax connection, which has led to him being able to have his ISP physically come out and stabilize it, now it hardly ever blips.
Also all of this is federated so if one server goes down I don’t lose 100% of my monitoring, and I can customize my data retention time based on how much disk I have locally. I use Ansible to automate updates and configuration.
It costs me 2-3 small-to-medium sized VPSes a month, or under $30/mo USD, which is a bargon compared to enterprise cloud solutions/services you can pay for that have small data retention or other limits. New Relic as an example is expensive if you want anything more than 30 days of data and they don’t offer as much as I get with my own monitors.
I’ve been running this setup since 2015 or so, I’ve used this setup to improve my craft and professional skills. I work with Linux Servers every day.
anything can output that even PHP.
That sounded pretty bitter.
Grafana set up to run on the server locally, then I connect to it via SSH forwarding.
I liked Grafana a lot, but I can’t monitor things like zfs pools with it right?
I don’t know as I don’t use zfs pools, but a simple search led me to this https://grafana.com/grafana/dashboards/15362-zfs-pool-metrics/
Nevermind then! Will take a look at it ^^