Python 实现 VMware 服务器对接,读取虚拟机信息并入库 MySQL
以下是一个简单的 Python 代码示例,可以连接到 VMware 服务器,读取虚拟机的信息,并将其存储到 MySQL 数据库中。
首先,需要安装以下依赖库:
- PyVmomi:用于与 VMware vSphere API 交互
- mysql-connector-python:用于连接和操作 MySQL 数据库
# 导入依赖库
from pyVim.connect import SmartConnect, Disconnect
from pyVmomi import vim
import mysql.connector
# 连接到 VMware 服务器
si = SmartConnect(host='vmware_server_ip', user='username', pwd='password')
content = si.RetrieveContent()
# 获取所有虚拟机
vm_list = content.viewManager.CreateContainerView(
content.rootFolder, [vim.VirtualMachine], True).view
# 连接到 MySQL 数据库
cnx = mysql.connector.connect(user='username', password='password',
host='mysql_server_ip', database='database_name')
cursor = cnx.cursor()
# 将虚拟机信息插入到数据库中
for vm in vm_list:
vm_name = vm.summary.config.name
vm_guest = vm.summary.guest.guestId
vm_cpu = vm.config.hardware.numCPU
vm_memory = vm.config.hardware.memoryMB
vm_disk = vm.summary.storage.committed / 1024 / 1024 / 1024 # 单位:GB
insert_query = (
'INSERT INTO vm_info (vm_name, vm_guest, vm_cpu, vm_memory, vm_disk) '
'VALUES (%s, %s, %s, %s, %s)'
)
data = (vm_name, vm_guest, vm_cpu, vm_memory, vm_disk)
cursor.execute(insert_query, data)
# 提交更改并关闭连接
cnx.commit()
cursor.close()
cnx.close()
# 断开与 VMware 服务器的连接
Disconnect(si)
上述代码将 VMware 服务器中所有虚拟机的名称、操作系统、CPU、内存和磁盘使用情况存储到 MySQL 数据库中。可以根据实际需求进行修改。
原文地址: https://www.cveoy.top/t/topic/m0es 著作权归作者所有。请勿转载和采集!