# vshperewebapi **Repository Path**: kenrichlong/vshperewebapi ## Basic Information - **Project Name**: vshperewebapi - **Description**: 使用python 获取vsphere vcenter或者vsphere exsi的告警、性能数据 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-05-12 - **Last Updated**: 2021-05-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # vshperewebapi #### 介绍 使用python 获取vsphere vcenter或者vsphere exsi的告警、性能数据 #### 软件架构 使用vsphere web api提供python的sdk pyVmomi,pyVim,提取的数据放到数据库中. #### 安装教程 1. 先使用pip安装对应的modoule 2. 创建数据库、表 3. ON UPDATE CURRENT_TIMESTAMP 只能在5.6以上才有,如果是以下可以删除这一段 ``` 创建数据库 CREATE DATABASE `vmware` DEFAULT CHARACTER SET utf8; 创建用户 grant ALL on vmware.all to vmware@localhost identified by 'asdqwezxc@321'; 创建vm_alarm,esxi_alarm 表 CREATE TABLE `vm_alarm` ( `vcenterip` varchar(32) NOT NULL, `datatorename` varchar(64) DEFAULT NULL COMMENT '数据中心名称', `vmname` varchar(64) NOT NULL DEFAULT '' COMMENT '虚拟机名称', `alarmname` varchar(256) DEFAULT NULL COMMENT '告警名字', `alarlevel` varchar(32) DEFAULT NULL COMMENT '告警等级', `alartime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '触发时间', PRIMARY KEY (`vmname`,`alartime`), UNIQUE KEY `Unique_vm` (`vmname`,`alartime`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='vm alarm'; CREATE TABLE `esxi_alarm` ( `vcenterip` varchar(32) NOT NULL, `datatorename` varchar(64) DEFAULT NULL COMMENT '数据中心名称', `esxiname` varchar(64) NOT NULL DEFAULT '' COMMENT '虚拟机名称', `alarmname` varchar(256) DEFAULT NULL COMMENT '告警名字', `alarlevel` varchar(32) DEFAULT NULL COMMENT '告警等级', `alartime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '触发时间', PRIMARY KEY (`esxiname`,`alartime`), UNIQUE KEY `Unique_vm` (`esxiname`,`alartime`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='esxi alarm'; ``` 3、修改代码中 ``` def connect_db(): """ 建立SQL连接 """ mydb = db.MyDB( host="", #数据主机 user="", #数据库用户名 passwd="", #数据库密码 db="" #数据库 ) mydb.db_connect() mydb.db_cursor() return mydb ``` #### 使用说明 1. ./vcapialarm -s "exsi或者vcenter主机ip" -u "用户名" -p "密码" 其他也是一样的,后面跟3个参数 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request