KVM 使用 Libvirt遠端獲取虛擬機器資訊

2021-09-28 11:53:05 字數 1767 閱讀 2322

libvirt 是乙個軟體集合,便於使用者管理虛擬機器和使用其他虛擬化功能。包括三個部分

libivrt 目標是提供一種單一的方式管理多種不同的虛擬化方式

libvirt 主要功能包括:

獲取每個 instance 的 domain 並獲取一些基本資訊

import libvirt

conn = libvirt.open("qemu:///system")

conn.listdomainsid()

domain = conn.lookupbyid(id)

print domain.name()

###instance-0000094f

print domain.uuidstring()

###a14d2bb4-9f44-4580-b60a-fd94a9ad07f3

print domain.info()

###[1, 2097152l, 2097152l, 2, 123420000000l]

conn.close()

獲取cpu使用率

import libvirt

conn = libvirt.open("qemu:///system")

domain = conn.lookupbyid(id)

可以通過dom.info()[4]獲得cputime

通過dom.info()[3]獲得cpu數

獲取網流量

import libvirt

from xml.etree import elementtree

conn = libvirt.open("qemu:///system")

for id in conn.listdomainsid():

domain = conn.lookupbyid(id)

tree = elementtree.fromstring(domain.xmldesc())

ifaces = tree.findall('devices/inte***ce/target')

for i in ifaces:

iface = i.get('dev')

ifaceinfo = domain.inte***cestats(iface)

print domain.name(),iface,ifaceinfo

conn.close()

[root@kvm opt]

# python libvirt_test.py

instance1 vnet12 (90l, 1l, 0l, 0l, 1632l, 24l, 0l, 0l)

instance1 vnet13 (63120l, 256l, 0l, 371l, 0l, 0l, 0l, 0l)

domain.inte***cestats(iface)返回結果說明:

(rx_bytes:24194376l, rx_packets:363592l, rx_errs:0l, rx_drop:0l, tx_bytes:852996l, tx_packets:20302l, tx_errs:0l, tx_drop:0l)

rx:net_out 接收(receive)

tx:net_in 傳送(transport)

iface = ifaces[1].get(『dev』)

ifaceinfo = domain.inte***cestats(iface)

使用 libvirt建立和管理KVM虛擬機器

1.libvirt介紹 libvirt是乙個軟體集合,便於使用者管理虛擬機器和其他虛擬化功能,比如儲存和網路介面管理等等。libvirt概括 起來包括乙個api庫 乙個 daemon libvirtd 和乙個命令列工具 virsh libvirt的主要目標是 提供一種單一的方式管理多種不同的虛擬化提...

應用Libvirt連線KVM虛擬化平台

發布一段 用於連線指定的kvm宿主機器,獲得該宿主機器的配置資訊,以及該主機上所有的虛擬主機列表 狀態及配置資訊 include include include void listdom virconnectptr conn conn virconnectopen str if conn null ...

開啟libvirt遠端虛擬化

1.修改檔案vim etc sysconfig libvirtd,用來啟用tcp的埠 libvirtd config etc libvirt libvirtd.conf libvirtd args listen 2.修改檔案vim etc libvirt libvirtd.conf listen t...