[libvirt-users] Host information from libvirt KVM/Xen

Hi, I'm able to get the CPU utilization metrics from libvirt for the guests (VM's) remotely . Is it possible to get the Host Cpu stat's through libvirt ? I didn't find any information regarding the host cpu cycles and memory utilization to collect them remotely. Libvirt is installed on all the hosts. Regards, Navin

[no need to mail both libvir-list and libvirt-users; the former is more for development efforts, and since this is a usage question, it is sufficient to mail just libvirt-users] On 02/13/2013 12:50 AM, Parakkal, Navin S wrote:
Hi, I'm able to get the CPU utilization metrics from libvirt for the guests (VM's) remotely . Is it possible to get the Host Cpu stat's through libvirt ? I didn't find any information regarding the host cpu cycles and memory utilization to collect them remotely. Libvirt is installed on all the hosts.
You want to use the virNodeGetCPUStats() and virNodeGetMemoryStats() APIs. In virsh, these are wrapped under 'nodecpustats' and 'nodememstats'. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

Hi, Is this not supported for Xen ? I get something like the below for Xen+ssh . libvir: error : this function is not supported by the connection driver: virNodeGetCPUStats libvir: error : this function is not supported by the connection driver: virNodeGetMemoryStats Regards, Navin -----Original Message----- From: Eric Blake [mailto:eblake@redhat.com] Sent: Wednesday, February 13, 2013 7:17 PM To: Parakkal, Navin S Cc: libvir-list@redhat.com; libvirt-users@redhat.com Subject: Re: [libvirt-users] Host information from libvirt KVM/Xen [no need to mail both libvir-list and libvirt-users; the former is more for development efforts, and since this is a usage question, it is sufficient to mail just libvirt-users] On 02/13/2013 12:50 AM, Parakkal, Navin S wrote:
Hi, I'm able to get the CPU utilization metrics from libvirt for the guests (VM's) remotely . Is it possible to get the Host Cpu stat's through libvirt ? I didn't find any information regarding the host cpu cycles and memory utilization to collect them remotely. Libvirt is installed on all the hosts.
You want to use the virNodeGetCPUStats() and virNodeGetMemoryStats() APIs. In virsh, these are wrapped under 'nodecpustats' and 'nodememstats'. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

On 02/14/2013 04:42 AM, Parakkal, Navin S wrote:
Hi,
[Please don't top-post on technical lists]
Is this not supported for Xen ? I get something like the below for Xen+ssh .
libvir: error : this function is not supported by the connection driver: virNodeGetCPUStats libvir: error : this function is not supported by the connection driver: virNodeGetMemoryStats
Indeed, that appears to be the case. Patches are welcome, and it may be as simple as wiring up xen/xen_driver.c to reuse the same node-generic functions already in use by qemu; that is, adding something like the following four lines: .nodeGetCPUStats = nodeGetCPUStats, /* 1.0.3 */ .nodeGetMemoryStats = nodeGetMemoryStats, /* 1.0.3 */ .nodeGetCellsFreeMemory = nodeGetCellsFreeMemory, /* 1.0.3 */ .nodeGetFreeMemory = nodeGetFreeMemory, /* 1.0.3 */ However, as I tend to develop for qemu rather than xen, I probably won't be able to test this any time soon, so having someone else try and test the patch will help it get implemented faster.
I'm able to get the CPU utilization metrics from libvirt for the guests (VM's) remotely . Is it possible to get the Host Cpu stat's through libvirt ? I didn't find any information regarding the host cpu cycles and memory utilization to collect them remotely. Libvirt is installed on all the hosts.
You want to use the virNodeGetCPUStats() and virNodeGetMemoryStats() APIs. In virsh, these are wrapped under 'nodecpustats' and 'nodememstats'.
-- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

If you are primarily interested in collecting statistics, then you might want to take a look at installing Host sFlow agents on your hypervisors - Xen, Hyper-V and KVM are supported: http://host-sflow.sourceforge.net/ The Host sFlow agents export a superset of the metrics you would get by polling with libvirt, and moving to a push model greatly increases scaleability of the monitoring system: http://blog.sflow.com/2012/08/push-vs-pull.html You can collect the stats using tools like Ganglia and Graphite: http://blog.sflow.com/2012/01/using-ganglia-to-monitor-virtual.html http://blog.sflow.com/2012/01/graphite.html On platforms including Open vSwitch, or on Hyper-V, the Host sFlow agent can also provide detailed visibility into inter-VM traffic by configuring the vSwitch to export standard sFlow metrics: http://blog.sflow.com/2010/10/sflowtrend-adds-server-performance.html http://blog.sflow.com/2012/03/windows-server-8-beta.html The sFlow metrics from the vSwitches are identical to those you would get from most vendor's physical switches, giving you end-to-end visibility: http://blog.sflow.com/2012/09/vendor-support.html On Thu, Feb 14, 2013 at 3:42 AM, Parakkal, Navin S <navin.parakkal@hp.com> wrote:
Hi, Is this not supported for Xen ? I get something like the below for Xen+ssh .
libvir: error : this function is not supported by the connection driver: virNodeGetCPUStats libvir: error : this function is not supported by the connection driver: virNodeGetMemoryStats
Regards, Navin
-----Original Message----- From: Eric Blake [mailto:eblake@redhat.com] Sent: Wednesday, February 13, 2013 7:17 PM To: Parakkal, Navin S Cc: libvir-list@redhat.com; libvirt-users@redhat.com Subject: Re: [libvirt-users] Host information from libvirt KVM/Xen
[no need to mail both libvir-list and libvirt-users; the former is more for development efforts, and since this is a usage question, it is sufficient to mail just libvirt-users]
On 02/13/2013 12:50 AM, Parakkal, Navin S wrote:
Hi, I'm able to get the CPU utilization metrics from libvirt for the guests (VM's) remotely . Is it possible to get the Host Cpu stat's through libvirt ? I didn't find any information regarding the host cpu cycles and memory utilization to collect them remotely. Libvirt is installed on all the hosts.
You want to use the virNodeGetCPUStats() and virNodeGetMemoryStats() APIs. In virsh, these are wrapped under 'nodecpustats' and 'nodememstats'.
-- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
_______________________________________________ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users
participants (3)
-
Eric Blake
-
Parakkal, Navin S
-
Peter Phaal