Skip navigation
Currently Being Moderated

libvirt Virtualization

VERSION 2  Click to view document history
Created on: Feb 3, 2010 6:35 PM by venturaville - Last Modified:  Mar 5, 2010 3:36 PM by venturaville

Submitted by: David Nicklay


Description:

 

This ZenPack leverages the libvirt API for monitoring virtualization servers (e.g. XEN,    KVM, etc...)This uses the system python and libvirt python API to  monitor various  virtualization platforms remotely.  It provides a /Server/libvirtHost device class and this module is tested using ssh as a transport for the libvirt  API, it could be made to use TLS or TCP with further development.  It provides a libvirtvirtualHostlist report as well.

 

You can set zLibvirtUsername and zLibvirtConnectType to customize access to the hosts, though only qemu+ssh:// was tested at the moment. The libvirt versions packaged with Redhat  5.4 and Ubuntu 9.10 (libvirt 0.70) seem to  work well.  Earlier 5.x  versions of Redhat have very old versions of  libvirt.  libvirt 0.75 has  support for memory stats, but has not been tested yet.

 

libvirt supports:

Virtualization Technology
Device ClassTested?
Configuration Options
VMware  ESX and GSX hypervisors/Server/libvirtHost/ESXY(Note  that this requires at least libvirt 0.7.0 and ESX compiled in  [--with-esx])

Some settings For ESX:
zLibvirtConnectType=esx://
zLibvirtUsername
zLibvirtPassword

The  libvirt API uses HTTPS to talk directly to the ESX host itself.   You  will need
a working username/password pair to query the ESX host.
KVM Linux hypervisor/Server/libvirtHost/KVMYThis  uses SSH for monitoring by default.
You will want to set the  Username:
zLibvirtUsername=zenoss (default)
You will also need a  passwordless ssh key installed on the virtualization host for that user.
QEMU emulator/Server/libvirtHost/QEMUYThis uses SSH for monitoring by default.
You will want to set  the Username:
zLibvirtUsername=zenoss (default)
You will also need  a passwordless ssh key installed on the virtualization host for that  user.
Xen hypervisor on Linux and Solaris hosts./Server/libvirtHost/XENN(This libvirt driver has not yet been tested with this zenpack,  but the support is here for it.)
LXC Linux container system/Server/libvirtHost/LXCN(This libvirt driver has not yet been tested with this zenpack,  but the support is here for it.)
OpenVZ Linux container system/Server/libvirtHost/OpenVZN(This libvirt driver has not yet been tested with this zenpack,  but the support is here for it.)
User Mode  Linux paravirtualized kernel/Server/libvirtHost/UMLN(This libvirt driver has not yet been tested with this zenpack,  but the support is here for it.)
VirtualBox hypervisor/Server/libvirtHost/VirtualBoxN(This libvirt driver has not yet been tested with this zenpack,  but the support is here for it.)
Open Nebula open-source cloud toolkit/Server/libvirtHost/OpenNebulaN(This libvirt driver has not yet been tested with this zenpack,  but the support is here for it.)

 


See these docs for more  details:
http://libvirt.org/python.html
http://libvirt.org/uri.html
http://libvirt.org/remote.html


Screenshots:

libvirt1.png Screen shot 2010-02-03 at 5.42.03 PM.png

Screenshot-kvmhost.png

Screenshot-kvmhost-perf-1.png

Screenshot-hostlistreport.png


REQUIREMENTS:

  • Zenoss  Version: 2.5
  • ZenPack Dependencies: n/a
  • External  Dependencies: You need libvirt installed along with the python API
  • Installation
    You will need to setup an ssh account on the remote libvirtd host with automatic login from the
    zenoss user on the monitoring  host.  You will need to set the zLibvirtUsername for a user on the remote box to which zenoss can ssh to without a password.

Source: http://zenpacks.zenoss.org/trac-zenpacks/browser/zenpacks/ZenPacks.community.libvirt

Tagged  Releases:

Change  History:

  • 1.58 initial release
  • 1.71 added hooks for supported virtualization technologies

Trac tickets: http://zenpacks.zenoss.org/

Known  issues:

  • get dynamic data point additions working (disk and interfaces are  done as totals rather than individual graphs for now).  you can manually  add the individual disk and interface devices in though.
  • test untested virtualization technologies
  • test TLS and TCP connect types (set via zLibvirtConnectType)
  • get memory stats working (only available in libvirt 0.7.5)
Attachments:
Note: binary attachments ending in .zip will need to be unzipped before use.
Comments (19)