this post was submitted on 05 Oct 2024
30 points (100.0% liked)

Self Hosted - Self-hosting your services.

11599 readers
1 users here now

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

Important

Beginning of January 1st 2024 this rule WILL be enforced. Posts that are not tagged will be warned and if not fixed within 24h then removed!

Cross-posting

If you see a rule-breaker please DM the mods!

founded 3 years ago
MODERATORS
 

The number of containers I'm running on my server keeps increasing, and I want to make sure I'm not pushing it beyond its capabilities. I would like a simple interface accessible on my home network (that does not make any fishy connections out) that shows me CPU and RAM-usage, storage status of my hard drives, and network usage. It should be FOSS, and I want to run it as a Docker container.

Is Grafana the way to go, or are there other options I should consider?

top 22 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 2 months ago (2 children)

it's a bit more complicated than that. grafana is only for displaying of the collected info. you still need a database, and something that collects data from systems.

what I do is grafana + prometheus for storage + prometheusnode exporter for collection.
but, I'm not totally satisfied with this setup, because long term storage is unsolved (cranking up the retention time in prom will maje sure it'll cost a lot of storage after a few months), and I haven't found a way to collect info about top users of resources (e.g. top 10 processes by cpu usage)

[–] [email protected] 1 points 2 months ago

Victoria Metrics is a timeseries database for long term storage. Can be used as a direct plugin to Prometheus et al.

[–] [email protected] 1 points 2 months ago (1 children)

Ah, I see. What kind of disk usage are we talking about over e.g. one month? I am (at least for now) not necessarily interested in long term storage (but the data hoarder in me might quickly change that).

[–] [email protected] 1 points 2 months ago

I've set it up last December for 3 systems, changed the collection interval from the default 1 minute to 15 sec, and now it uses 15 GB

[–] [email protected] 4 points 2 months ago* (last edited 2 months ago) (1 children)

btw grafana does make connections out, at least for when installing plugins, possibly more.

if you are not in the EU, they even load fucking fecesbook scripts on their main website! a few months ago that was happening in the EU too. if you're in the EU, you can see it for yourself with thea VPN or the Tor browser, request a new circuit until the bottom one is USA or something like that, and check the network traffic with the devtools (reload the site if you don't see it there)

even if this is not the case in the EU (for now), there are no excuses for doing this. no, letting your website be handled solely by marketing heads is not an excuse.

[–] [email protected] 2 points 2 months ago

For installing plugins, I am fine with it, but would not want any telemetry being sent somewhere without my knowledge. The data collected should stay on my server.

[–] [email protected] 3 points 2 months ago

Munin feels a little old and crusty, but just works. Over 20 years old now.

[–] [email protected] 3 points 2 months ago (1 children)

I would personally use grafana, but zabbix is also a good choice.

[–] [email protected] 1 points 2 months ago

Thanks for your input!

[–] [email protected] 3 points 2 months ago (1 children)

Netdata is far simpler to set up than Grafana from what I remember but it does phone home by default (you can disable it in via options in docker or something). On one of my servers it doesn't show container names which is kinda a bummer but I didn't care enough to troubleshoot that, since I mostly ssh in and use btop anyway ...

[–] [email protected] 2 points 2 months ago

Seconded. Netdata has a generic and forgettable name but is powerful and easy to set up.

Open source, runs in docker or LXC. Web UI with more metrics than you will ever want, plus plugins. Support for alerts and some log aggregation, though I have not tried logging yet.

[–] [email protected] 2 points 2 months ago

I won't waste time on things other than grafana if your setup is serious. Because you will always want more. Log aggregation, log query, alerts, tracing, profiling, oidc, s3 bucket, more and more dashboards. It's addictive. Why waste time to redo it in the future?

[–] [email protected] 2 points 2 months ago (1 children)

Cockpit is a simpler choice for that.

[–] [email protected] 1 points 2 months ago

Thanks for the recommendation! I'll check it out. Simple sounds good for mye use case.

[–] [email protected] 2 points 2 months ago (1 children)

Possibly a bit overkill, but I’m running Zabbix in 3 containers (Core, WebUI, database). Using its agent installed on all my machines, I can monitor basically anything. Of course, you can set limits, alerts, draw graphs, etc.

[–] [email protected] 1 points 2 months ago

That looks cool, but as you said maybe a little overkill, hehe. I'll still check it out in more detail, in any case good for later!

[–] [email protected] 2 points 2 months ago (2 children)

Glances could be a good option, it's pretty bare bones, but it covers the basics and serves my needs well enough

https://github.com/nicolargo/glances

[–] [email protected] 2 points 2 months ago

Thanks for the recommendation, I'll check that out in more detail!

[–] [email protected] 2 points 2 months ago

The last time I've used glances - to be fair, some years ago - it caused the main CPU usage on my Raspberry Pi 3. However, looks like it's been fixed recently.

[–] [email protected] 1 points 2 months ago

Webmin is worth giving a try depending on your needs, it's pretty lightweight compared to some others:

https://github.com/webmin/webmin

[–] [email protected] 1 points 2 months ago

Have a look at glances. It seems quite ok.

[–] [email protected] 1 points 2 months ago

I have Netdata running in a container, which has a useful all-in-one-pane view, and it does a good job of auto detecting other containers and the host OS. Its essentially zero config.

It also has alerting capability, which is not zeroconf (configuring it properly is a bit of a chore). 😅

They try to push a pro/paid version, but it's subtle and completely optional (a bit like the way Portainer does it).