Hacker News new | ask | show | jobs
by guillaumerose 1894 days ago
Remember the time the same job could be done with a simple cron, rrd and cacti for the storage and apache.

Now you need "complicated" things: prometheus, grafana, docker, etc.

I am a bit puzzled. Is it because sysadmin tutorials from 2000's are not showing up anymore in Google ? Why these tools failed to stay popular ?

14 comments

You can still do it, but the "old school" way of doing it is much less flexible.

For this kind of setup, prometheus and grafana are not complicated (close to 0 configuration), and docker mostly works out of the box on linux hosts, barring nftables shenanigans. You end up with something that "just works", is pretty, and does not require fiddling.

Technically I do find this overkill for "home network monitoring", but at least it does not require k8s so I won’t complain.

> at least it does not require k8s

One would think that should be a hell of a low bar. It’s like having to choose a car and going “Trabant will do, at least it does not require a crew of seamen”.

For a home setup having to bring up 3 containers just to have some metrics is too much in my opinion.

I've been using InfluxDB at home just because of how easy it is to setup and use.

As someone who has set up a number of "simple" visualizing systems using the exact toolpath you mention (cron, shell scripts, rrdtool), I can say with some authority that getting them right was never simple.

And the load of dozens to hundreds of data points in rrd is shockingly large. Our infrastructure utilization dropped by 30% when I switched from a Graphite/collectd setup to gathering MORE data more frequently with telegraf and influxdb.

rrd and cacti are considerably more complicated and far less useful than prometheus and grafana.

I generally agree with the rest of your point, but the new-fangled infrastructure tools do have some merit and I look forward to seeing where we go with them.

Don't be fooled by the rain of downvotes that some comments are getting: the HN crowd is incredibly biased towards hyped stuff and CV-driven development.

I worked in FAANGS where simplicity really mattered over hype.

Docker is a pain in the butt. I much prefer "bare metal" and VMs. I have tried to get into it but I can't say I see the appeal.

The best I can make of it is to treat docker as a package manager. All the dependencies in one place.

Could you expand on why Docker is a pain for you?
Prometheus as a monitoring tool is definitely a lot more complex and does not 'just work' straight out of the box. You need to configure Prometheus to know where to scrape using service discovery, set up different agents on your hosts to export metrics, build graphs in Grafana using PromQL to look for specific labels, and create alerts Alert Manager for every alert you want to receive.
You don't even need cacti or rrd if it's just taking a value and putting it in a file. However these newer tools are much more flexible that cacti and RRD. I find using Grafana miles better than dealing with RRDs, beter granularity and more options for querying data/overlaying results from different metrics on the fly etc.
A lot of people are now building huge container based SaaS software in their $Day_job, so in their free-time they use those technologies because they are more familiar, or they want the practice.

I ran K3s for a few weeks on ODroid hosts at home to get more k8s experience.

I would use Telegraf (a better/distributed collector far more efficient than cacti, even if you have to learn the OIDs for the snmp devices you want to monitor, because not everything is snmp anyway), InfluxDB (a timeseries database better than rrd, is not the only alternative, but at least it works for me), and yes, Grafana.

The cron gives you low granularity (and for some things, it may matter to measure things that changes in less than a minute), and flexibility (both in what you can measure and how you can arrange and correlate the different pieces of information).

Well, FWIW, I’m running a simple smokeping Docker container.

Just works, sits neatly alongside a few extra services (managed via compose) in a little ARM dev board and has kept on ticking for around five years without any hassles using exactly those bits you mentioned.

The new things are shinier, I think, and on the other hand a lot of the old, simpler tools have become less relevant.

As an aside, I recall a younger self annoyed at the inability to get data out of RRDTool into a nice SVG chart. These days I just want the data in whatever format the best tool spits out...

See my other comment in this thread. I've found InfluxDB a lot easier to setup and use (just apt-get install) and comes with push support, dashboards web ui, etc.

I'd say it is easier and more powerful than rrd and cacti (used them like 10 years ago!)

Reinventing the wheel is the new mantra.
It's really not, Prometheus and Grafana can do a hell of a lot more than Cacti/RRDs
They called to stay popular because they kinda suck. The setup you described works on one host and produces static graphs.

With Prometheus and Grafana you can monitor an entire data center and add visualizations for metrics as you need them with no change to the monitored hosts.

TLDR: the old software stack could be made to do this, modern monitoring stacks do it out of the box.

So people regularly run datacenters at home that need monitoring? That's what the original article is about after all.
You should check out r/homelab, the answer is yes.
I think they meant to give an example to indicate the flexibility of the platform. You know nobody is claiming people regularly run data centers at home — why are you asking?
It's a great way to learn without breaking things for a few hundred thousand users.
That is correct.

All of the SEO skiddies are the ones pimping Kubernetes for your personal homepage and a few links.

And it shows. Lots of ways to build things fast, but nobody's building cool, lasting shit.

> Lots of ways to build things fast, but nobody's building cool, lasting shit.

No way to make money with something that's well-built with the intention to last a life time. It's the "planned obsolescence" of the software world...