# Solution to Manage and Monitor (Ubuntu) Machines

I'm looking for a tool like Canonical (system management and monitoring for Ubuntu) that is Open Source and free. The goal is to manage a dozen or so KVM machines for private testing purposes.

I know of puppet and munin or RHQ as separate tools to manage and monitor, but I'd prefer something integrated. Any tips?

Basic requirements would be:

• system package management and update (individual selection for each managed node)
• configuration of basic system services (Users, NFS, cron, ideally also Apache)
• monitoring (charting of system resources, disk, io, memory, etc) and alerting, ideally a default configuration with sensible values for alerts
-

I don't know of a centralized way to keep everything smooth and monitored. On the other hand I see the other answers suggesting combinations of tools. So here is mine:

1. Zabbix has monitoring/graphics together in one tool. Supports information via SNMP and custom agent. It's very good, but it must be tuned for your servers or you will have problems with the database.
2. Puppet is a configuration manager where you can write manifests that define a machine. It takes care from configuration, package management and deployment (so you can apply a change of config to a great number of servers at the same time). It's a GREAT tool, easy to install and easy to get started, but advanced configurations require some knowledge of their manifest language.

Zabbix has a web interface and Puppet has a Puppet Dashboard project that is pretty cool.

On a last note, Webmin seems a good idea but on my experience is one BIG security concern. Lots of exploits have been found over the time and I would not trust it on production servers.

-
Zabbix works great and I'm getting the hang of puppet. Only thing I'm missing is an option to update all packages without manual configuration, but I'm sure there is a way for that. –  Elmar Weber Mar 20 '11 at 13:49
@elmar On puppet you can use provider => aptitude and ensure => latest to keep certain packages updated by puppet, or use cron-apt or unattended-upgrades to keep updates automatic. –  coredump Mar 20 '11 at 16:00
-
I know of webmin, AFAIK it does not support monitoring and the configuration is a little too much detail. –  Elmar Weber Mar 6 '11 at 12:18

I would use a combination of cacti for monitoring of everything, and webmin for the package management/etc.

http://www.cacti.net/

Other good options for monitoring would be zenoss or munin.

-

Personally, I've begun to like OpenNMS ( http://www.opennms.org/ ) for monitoring. Sort of like Nagios and Cacti rolled into one. As far as managing, puppet, (or my favorite) a set of home built bash scripts to do the things that you need. :-)

-
I tried OpenNMS and liked the interface but the fact that there is no easy to install agent that takes care of monitoring and configuration makes the setup that would otherwise include nagios or snmp too complicated for my taste. –  Elmar Weber Mar 20 '11 at 13:46
Yeah, that's true. It's just like setting up Cacti tho - and some things (routers and such) just plain work (protip - just set up snmp traps to push to the opennms box). Getting it to poll windows boxes takes some jumping through hoops however. –  tsykoduk Mar 21 '11 at 16:07