基于qemu guest agent的openstack kvm虚拟机监控




通过libvirt来实现在宿主机上获取kvm虚拟机内部的运行数据信息,python编写,使用了libvirt_qemu库和libvirt两个python库,除了qemu guest agent之外不需要在虚拟机内部跑其他agent即可获取大多数运维所需的监控项。
别的不多说,直接上源码。
github源码:
qemu guest agent相关patch(获取磁盘设备的realpath,以及获取指定目录所在磁盘的空间信息):
如果你的虚拟机是debian os,并且在虚拟机内安装了1.5.0+dfsg-5版本的qemu guest agent,可以直接用下面这个可执行的二进制文件替换掉/usr/sbin/qemu-ga,即可使用这两个patch的功能。
支持的监控项包括:
<metric name=”cpuUsage” unit=”Percent”/>
<metric name=”memUsage” unit=”Megabytes”/>
<metric name=”networkReceive” unit=”Kilobytes/Second”/>
<metric name=”networkTransfer” unit=”Kilobytes/Second”/>
<metric name=”diskUsage” unit=”Megabytes”/>
<metric name=”diskReadRequest” unit=”Count/Second”/>
<metric name=”diskWriteRequest” unit=”Count/Second”/>
<metric name=”diskReadRate” unit=”Kilobytes/Second”/>
<metric name=”diskWriteRate” unit=”Kilobytes/Second”/>
<metric name=”diskReadDelay” unit=”Milliseconds/Count”/>
<metric name=”diskWriteDelay” unit=”Milliseconds/Count”/>
<metric name=”diskPartition” unit=”all partitions infos”/>
<metric name=”loadavg_5″ unit=”Percent”/>
<metric name=”memUsageRate” unit=”Percent”/>