I am looking to see if anyone has a recommendation on software to manage multiple Linux servers across multiple platforms., bonus point for it being able to manage Windows servers as well. As a bit of a background on where this request comes from. Over the last few years I have found that I am needing to run Linux to do more many of the fun homelab projects, but over those same years I have had the worst luck with Linux being more unstable than Windows Vista. Examples range from running apt update/upgrade and having the file system become unmountable to my most recent one where the file system went read only. I have had other oddities with Linux, some times they are fine for months and then out of nowhere something happens and they are an issue then they are fine for a few months. I have a Windows server VM that has run flawlessly with the longest uptime being 1 year.
I know that I can do something like Jenkins or Ansible to manage updates on the Linux machines but I am hoping for something more like Rudder or Landscapes with a GUI for management do basic health checks and what not on them. I have 5 VMs running all Ubuntu server 19.04 or 20.04 with the exception of 1 that is running Debian 10 and 10 raspberry pi ranging from 2b to 4 8gb all on Raspbian except the 8gb which is Ubuntu.
I am hoping for something that can manage updates, track logs, tack performance/disk space and anything else to try to keep an eye out for issues. I am willing to pay for a tool but being more of a homelab I am not willing to pay some of the prices I have seen for tools like rudder that are per node or like $1000 a year.
I had started looking into it, but found several articles stating it did not work on raspberry pis, but it seems I was getting a lot of really old articles.
You can use a lot of management software for this, and it’ll be just fine. But it’s completely unnecessary: have you considered just creating your own solution, in the form of simple bash scripts, and some configuration?
Centralized logging isn’t hard to archive with systemd(all the systems you mentioned are using systemd). For important things you can usually configure sending an email. You don’t need a “real” mailserver, something like Nullmailer(SMTP relay, “forward only” mailserver) is probably enough for logging.
You could also easily roll your own monitoring in a few bash scripts, or just install monit.
Also, in general Linux, and in particular Debian and Ubuntu are quite stable, the things you describe sound more like hardware faults/user error to me . My Ubuntu based server has an uptime of 549 days 2 hours 11 minutes. Working flawless.