Thanks @tommi for starting this thread. I was looking into this subject at this very time and all responses given here have been extremely useful to me to weight different options. Also thanks in particular @yekibud for your comments, I found them very useful.
I’ll summarize here what I’ve found, maybe it can be of some use for others, please note that I haven’t tested most of those things, I only gathered them from this thread and other sources:
Nice tools for a quick, extensive and readable instantaneous screenshot of your server:
They are convenient display of what’s happening at that moment, but not over time.
name | cli/webinterface | has ynh package | comments |
---|---|---|---|
phpsysinfo | webpage | yes | Summary of many info on your server. |
htop | cli | no[1] | View current usage of cpu, load, ram, processes… |
btop | cli | no[1:1] | View “usage and stats”. |
iotop | cli | no[1:2] | I/O live monitoring. |
glances | cli | yes | Very comprehensive display of many things going on in your server in one single terminal view. |
goaccess | cli + web interface | no | Real-time web log analyzer. |
Utilities
name | has ynh package | description |
---|---|---|
watchdog | yes | Automatically reboot server if necessary when something goes wrong. |
fail2ban webinterface | yes | Configure fail2ban through a web interface. |
cronicle | no | Multi-server task scheduler and runner, with a web based front-end UI. |
Monitoring over time and alerting
name | alerts | has ynh package | comments |
---|---|---|---|
prometheus | yes | yes | Very comprehensive monitoring tool, but probably most useful used with grafana. So will require some work to set up. |
grafana | yes[2] | yes | Very comprehensive monitoring tool, but requires most probably quite a bit of time to setup, to connect it with other elements like prometheus or others. If one wants to use netdata as well, maybe the yunohost package works out of the box though. |
beszel | yes | no | Seems like a comprehensive monitoring tool. Unfortunately not yet packaged for yunohost. |
uptime kuma | yes | yes | Verify availability of services. Alert when they are down. |
webmin | ? | yes | Server admin interface, with a really impressive amount of features. Very useful to learn about many settings one has to handle in a server. But that’s giving lots of powers to a webui, and the secuity risks that goes with it. |
cockpit | no | yes | Server admin interface, didn’t explore it more as it doesn’t seem to have alerting system. |
monitorix | yes | yes | Very comprehensive monitoring tool. Works out of the box with the yunohost package, and very easy to configure graph reports and alerts on some stats through the yunohost admin panel. |
munin | yes | no it’s outdated | Very comprehensive monitoring tool: “Designed to be very plug and play, a default installation provides a lot of graphs with almost no work.” Unfortunately the yunohost package is not maintained anymore. |
netdata | yes | yes | Seems very comprehensive as well but many many reports that says it uses to much resources. |
zabbix | yes | yes | Their website is very corporate, but it seems like probably it can do everything one can hope to do with monitoring. Don’t know how easy for small setups like yunohost. |
LibreNMS | yes | no | Like their website say: “a fully featured network monitoring system that provides a wealth of features”. Testing it with their demo site, it seems the interface is quite complex though for beginners, so will require a bit of time to learn to use it. |
Conclusions
In the end I decided to try using monitorix. Hope it’ll be a good choice over time. But to answer a bit to @yekibud’s critics to it, the yunohost package makes a great job at having it working out of the box, and configuring it for reports.
The monitorix yunohost admin panel also makes it easy to configure alerts for a few parameters without having to script anything. And to have more out-of-the-box alerting available for all yunohost users requires just one person to take the time to create those config scripts and propose them to the monitorix_ynh repo.
Thanks everyone for your suggestions. Please feel welcome to correct me for anything I’ve gotten wrong.
And @tommi or others, if you want to use this as a basis for the documentation page on monitoring you were thinking of, feel free to do so
EDIT1: Added goaccess, zabbix and LibreNMS after discovering this old similar thread.
EDIT2: Added cronicle.
Well htop, btop and iotop don’t have a yunohost package, but they don’t really need one because it’s enough to run
apt install htop btop iotop
to install and have then working. ↩︎ ↩︎ ↩︎The grafana yunohost package seem to clearly expect to be linked to netdata. So I don’t know how useful it is out of the box without netdata, and how convenient it is to set it up to use other monitoring data sources. ↩︎