如何在VCSA上基于vSphere警报运行Pyvmomi脚本

时间:2016-11-04 19:53:50

标签: python vmware pyvmomi

我需要通过vsphere触发特定事件的脚本,比如说ESXi主机崩溃了。想要使用pyvmomi来做,不想轮询vcenter而是让闹钟触发脚本。 http://www.vcritical.com/2009/10/powershell-prevents-datastore-emergencies/

我也看了https://pubs.vmware.com/vsphere-4-esx-vcenter/index.jsp#com.vmware.vsphere.dcadmin.doc_41/vc_client_help/working_with_alarms/c_running_commands_as_alarm_actions.html

但我想知道我们是否可以使用pyvmomi? 感谢

1 个答案:

答案 0 :(得分:0)

首先是免责声明: 建议您不要向VCSA添加其他软件,尤其是那些会增加机器负载的软件。据我所知,VMWare不支持这样做,它可能会将稳定性问题引入您的VCSA,因此您需要自担风险,如果您担心在进行任何更改之前请咨询您的VMWare客户团队。

有人说......这是可能的。由于您希望使用在SLES Linux机器上运行的VCSA来执行此操作,因此它非常简单,因为它上面已经包含Python和pyVmomi。即使底层操作系统正在从SLES变为Photon,它也将在6.5出现时工作。我在下面描述的过程将以相同的方式在5.5,6.0和6.5上工作。

  1. 在您要创建的警报触发时编写要运行的脚本,并将其放在/root中的VCSA上。确保使用{{1}在脚本上设置执行位}

  2. 在vCenter中创建与您要监控的条件相匹配的警报。现有的警报定义可能存在,但您需要创建自己的警报定义,因为您无法修改默认警报。

  3. 在“警报定义”的“操作”窗格中,选择“运行命令”。

  4. 在配置框中,输入要运行的可执行脚本的完整路径。 chmod a+x script.py并保存警报。

  5. 现在,当您的闹钟被触发时,您的脚本将会运行。如果您遇到问题或认为它无法正常工作,您可以在VCSA上找到可以突出显示可能发生的情况的日志文件:/root/script.py

    我已经创建了一个非常粗略的示例,向您展示如何开始使用您的脚本。

    /var/log/vmware/vpxd/vpxd.log