[libvirt] [RFC] Publishing utilisation on mDNS

After playing around with Avahi, I have now a server that is able to query all hosts on the network and their VMs, I think it would be interesting to publish utilisation statistics in the Txt record of the service. Of course one could login to a host and fetch the info, but I think it would be (managementwise) interesting if the hosts would announce this information. The implication for libvirtd would be a thread that updates lets say, per minute the avarage cpu load / free memory. I might even go further and publish all resource statistics over mDNS. Maybe people have ideas about this too, securitywise i'm not really interested in the implications since I'm publishing it on a management LAN. Stefan

On Wed, May 14, 2008 at 10:32:45PM +0200, Stefan de Konink wrote:
After playing around with Avahi, I have now a server that is able to query all hosts on the network and their VMs, I think it would be interesting to publish utilisation statistics in the Txt record of the service.
[snip]
I might even go further and publish all resource statistics over mDNS. Maybe people have ideas about this too, securitywise i'm not really interested in the implications since I'm publishing it on a management LAN.
This is already a solved problem - any resource monitoring system can publish this kind of information. Rich Jones has already written libvirt plugins for both collectd and nagios to publish VM information, and so there's no need to re-invent this in libvirtd itself, nor abuse Avahi/mDNS service discovery for this purpose http://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_libv... http://et.redhat.com/~rjones/nagios-virt/ Regards, Daniel. -- |: Red Hat, Engineering, Boston -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

On Wed, 14 May 2008, Daniel P. Berrange wrote:
I might even go further and publish all resource statistics over mDNS. Maybe people have ideas about this too, securitywise i'm not really interested in the implications since I'm publishing it on a management LAN.
This is already a solved problem - any resource monitoring system can publish this kind of information. Rich Jones has already written libvirt plugins for both collectd and nagios to publish VM information, and so there's no need to re-invent this in libvirtd itself, nor abuse Avahi/mDNS service discovery for this purpose
http://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_libv... http://et.redhat.com/~rjones/nagios-virt/
I'm currently implementing resource balancing between hosts. So one way or the other I want to receive or pull from the active hosts in the network their active states. And migrate host from heavy used machines to unused ones. Also, bias new started VMs to an unused machine. I see the collectd plugin takes the opposite approach which need to specify information while this is unknown for my statistics management. What I made is currently an avahi-based-libvirt-statistics-fetcher. And I presume the best situtation would be if it was an avahi-based-libvirt-statistics-receiver. If I'm reinventing the wheel because ovirt does this already or something like it... please tell me. Stefan

On Wed, May 14, 2008 at 11:13:40PM +0200, Stefan de Konink wrote:
On Wed, 14 May 2008, Daniel P. Berrange wrote:
I might even go further and publish all resource statistics over mDNS. Maybe people have ideas about this too, securitywise i'm not really interested in the implications since I'm publishing it on a management LAN.
This is already a solved problem - any resource monitoring system can publish this kind of information. Rich Jones has already written libvirt plugins for both collectd and nagios to publish VM information, and so there's no need to re-invent this in libvirtd itself, nor abuse Avahi/mDNS service discovery for this purpose
http://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_libv... http://et.redhat.com/~rjones/nagios-virt/
I'm currently implementing resource balancing between hosts. So one way or the other I want to receive or pull from the active hosts in the network their active states. And migrate host from heavy used machines to unused ones. Also, bias new started VMs to an unused machine.
I see the collectd plugin takes the opposite approach which need to specify information while this is unknown for my statistics management.
I don't know what you mean here ? Collectd will push out information for all guests. It can be configured to sned it in a variety of ways, and if none of the existing data transports are suitable it has extensive plugin capabilities. mDNS is also a push protocol, so there's really no difference between what you could do with mDNS vs collectd at your receiving end.
If I'm reinventing the wheel because ovirt does this already or something like it... please tell me.
Well oVirt is a closed-loop system - it has a standardized host OS image for nodes running VMs, and a matched admin host to receive - oVirt isn't intended to provide generic services for everyone wanting to us libvirt. Its just one of many apps built ontop of libvirt. As it hapens oVirt currently uses collectd to send resource & guest utilization data to its management server. We may or may not keep doing this, or change to a diffferent resource collection daemon that uses the AMPQ message bus.. Dan. -- |: Red Hat, Engineering, Boston -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
participants (2)
-
Daniel P. Berrange
-
Stefan de Konink