python语言实现vmware服务器对接读取虚拟机的信息并通过pymysql入库到mysql数据库中
以下是实现vmware服务器对接,读取虚拟机信息,并通过pymysql入库到mysql数据库的Python代码示例:
import ssl
import pymysql
from pyVim.connect import SmartConnectNoSSL, SmartConnect
from pyVmomi import vim
# Disable SSL certificate verification
ssl._create_default_https_context = ssl._create_unverified_context
# Connect to vSphere server
si = SmartConnectNoSSL(host='vcenter.example.com', user='username', pwd='password')
# si = SmartConnect(host='vcenter.example.com', user='username', pwd='password')
# Get virtual machines
vm_list = si.content.rootFolder.childEntity[0].vmFolder.childEntity
vm_info_list = []
# Loop through virtual machines and extract information
for vm in vm_list:
vm_info = {}
vm_info['name'] = vm.name
vm_info['status'] = vm.summary.runtime.powerState
vm_info['os'] = vm.summary.config.guestFullName
vm_info['cpu'] = vm.summary.config.numCpu
vm_info['memory'] = vm.summary.config.memorySizeMB
vm_info_list.append(vm_info)
# Connect to MySQL database
conn = pymysql.connect(host='localhost', user='username', password='password', db='vmware_db')
cursor = conn.cursor()
# Insert virtual machine information into database
for vm_info in vm_info_list:
sql = "INSERT INTO vm_info(name, status, os, cpu, memory) VALUES (%s, %s, %s, %s, %s)"
values = (vm_info['name'], vm_info['status'], vm_info['os'], vm_info['cpu'], vm_info['memory'])
cursor.execute(sql, values)
# Commit changes and close connection
conn.commit()
cursor.close()
conn.close()
# Disconnect from vSphere server
si.Disconnect()
在这个示例中,我们首先使用SmartConnectNoSSL或SmartConnect方法连接到vSphere服务器。然后,我们遍历虚拟机列表并提取有关每个虚拟机的信息。最后,我们使用pymysql库连接到MySQL数据库,并将虚拟机信息插入到数据库中。最后,我们关闭连接并断开与vSphere服务器的连接。
请注意,您需要安装pyVmomi和pymysql库才能运行此示例。您还需要在代码中更改vSphere服务器的主机名、用户名和密码以及MySQL数据库的主机名、用户名、密码和数据库名称。
原文地址: https://www.cveoy.top/t/topic/bwj3 著作权归作者所有。请勿转载和采集!