FEATURE REQUEST: network/service monitoring

The ability to monitor ports and services on remote systems from cloudmin and have it perform a particular action/notification on changes. These are obviously systems that are already managed by cloudmin. I know webmin can be setup to do this for itself, but obviously who wants to setup each individual server that way and of course, that monitoring is useless if that system is down (it cant really monitor its own uptime).

Thoughts?

I’m not sure I see the benefit to this. We already have things like Nagios that are purpose built for monitoring ports and services. Adding this to cloudmin just adds something else that Jamie & co. would need to maintain that strays from the core of the product.

I dont know, i find it to be a pretty basic/standard feature for a server/virtualization management app. I cant think of one that doesnt already have it. They already knew it was a needed feature when they added it to webmin. I do understand the point your trying to make. It wouldnt be the end of the world if the feature wasnt added, but at the same time, I know my clients that used hypervm really appreciated the feature as it would automatically restart their httpd, bind, etc, when it would fail and then send them an email about it as well.

There are a few different directions this kind of functionality could go (and the most comprehensive would require Virtualmin in the virtual machines)…but short-term we’d like to keep Cloudmin as general-purpose as possible (so even having Webmin within the vm should be optional for most functionality).

Anyway, Webmin has the System and Server Status module, which provides monitors for 50 or 60 types of events, including running services, file existence or size, disk or memory space, etc. Any solution we’d come up with would be based on auto-creating monitors and actions within that module (which is a feature of Virtualmin, already)…and because the hard part already exists, and there is a Webmin API for creating these monitors, it will be pretty easy to add the functionality.

What specific monitors do you think are most useful?

I also think it would be a great idea if Cloudmin could monitor the VPS’s and servers it manages, especially for services like SMTP / POP3 / HTTP / HTTPS / FTP / MySQL / IMAP / all other common internet related ports (i.e. database servers, vpn tunnels, cPanel / Plesk / Webmin admin ports, etc) and notify the owner, and possibly the Cloudmin admin about it as well?

But, what about using snmpd inside the VPS’s to monitor load disk usage, connections, throughput, etc as well?

This is actually already on my TODO list, although I haven’t started on it yet … I want to complete KVM support first.

The plan is to allow the admin to define monitoring rules that will apply to some or all managed systems, which trigger alerts. Something like “email me if the load is above 1 for 10 minutes” or “SMS if more than 2 VPS instances are down”. Since cloudmin already collects stats on disk usage, RAM and so on, this could end up being pretty powerful.

I don’t know about this. I’ve deployed nagios in the past and am currently quite happy with Zabbix for monitoring an entire network. Is monitoring within Cloudmin really necessary? Shouldn’t there be much higher priorities before implementing a capability that already exists in applications that have been around for much much longer?

But using Zabbix / Cacti / etc for monitoring just adds extra load to the server. Doing this straight from Cloudmin would put less stress on the server(s), and will also be better integrated. For example, instead of having setup each client individually (if you want to give your clients access to the stats / reports / etc), the clients would already have access to Cloudmin.

I’ll give you the point about seamlessly providing access to clients. As to load. I don’t know about that. Zabbix runs a client (agent) on each node to collect most information. Nagios does the same with nrpe. I see extra stress on the Zabbix server itself (which writes everything to a mysql database), but on the clients the only ill effect is a lot of connections (from the Zabbix server) that are in TIME_WAIT–tweaking sysctl.conf can help with that. Personally, I’d rather have the load on a dedicated monitoring server than on my Cloudmin control panel.

Then one has to ask: how long will it take Cloudmin to become as capable at monitoring, notifying, identifying trends, etc…, as the existing tools which have been under development for many years? While I can see the benefit of providing customers with monitoring information, I don’t think it makes sense to divert too much development time from more necessary projects…whatever those may be. And let’s face it, Cloudmin will likely never be as capable of monitoring as full blown monitoring apps.

Anyway, those are my thoughts on the subject. I don’t even have a Cloudmin setup at the moment. I’m just investigating for the moment.