一步步使用BMC Atrium Orchestrator Vmware Infrastructure Event Monitor
本教程将一步步演示怎么使用BMC Atrium Orchestrator (BAO) Vmware Infrastructure Event Monitor来监控VSphere Webservice的事件消息,通过匹配定制的事件,实现对vcenter事件的实时监控,并根据监控到的信息采取一定行动。你也可以根据此教程来调用其他monitor类型的adapter,并根据monitor到的信息进行进一步操作。我这里主要对vcenter虚拟机的开关机事件进行监控。
0) 概述
BAO monitoring涉及4个组件:
- The Monitor Adapter--用于monitor的配置
- The Adapter Event--事件生成
- The Rules--规则创建
- The Process (Workflow)--工作流的定制
整个工作流程是这样的:Monitor Adapter监听VSphere Webservice发出的事件消息,当Monitor Adapter接收到消息后,把它传送到Adapter Manager,并自动创建Monitor Event。Rules 根据条件匹配相应的事件,如果命中则进入Workflow process(可以将事件信息传送到workflow中)。如果没有匹配上则直接pass。以上所有的组件都通过XML进行管理,组件之间可以直接通过xml的形式进行talk。
分下面几步进行介绍:
- Adapter Configuration(s) - Monitor Adapter:配置Adapter
- Adapter Operation Verification: 在vcenter进行开关机操作,并在BAO中生成相应的Adapter Event
- Workflow - Process & Rules:创建规则和工作流
1) Adapter Configuration(s) - Monitor Adapter
1.1 配置 VIS event monitor adapter,具体配置参考如下文档:
https://docs.bmc.com/docs/display/public/baoc201401/Configuring+the+VIS+event+monitor+adapter
我配置完后的信息如下,由于我只监控虚拟机开关机事件,所以我添加的event type包括:VmStartingEvent、VmPoweredOffEvent
<config> <soap-url>https://10.200.108.67:443/sdk/vim</soap-url> <transport>https-rpc</transport> <user-name>administrator@vsphere.local</user-name> <password>P@ssw0rd</password> <use-ssl-certificate>false</use-ssl-certificate> <install-certificate>true</install-certificate> <passphrase>changeit</passphrase> <allow-unsigned-certificate>false</allow-unsigned-certificate> <return-history>false</return-history> <suppress-version-info>false</suppress-version-info> <event-types> <event-type>VmStartingEvent</event-type> <event-type>VmPoweredOffEvent</event-type> </event-types> </config>
注意:此处monitor adapter的名字为:"monitor67",后面会用到这个名字
1.2 激活Adapter
登录BAO CDP grid,激活新增的monitor67。
2) Adapter Operation Verification生成Adapter Event
2.1 Logging
设置logging模式,登录BAO CDP→Manage→GRID→Logging Level(=DEEBUG),通过log,可以获取monitor到的事件xml,并可根据XML进行解析出有用的信息
Log的位置默认为/u01/bmc/ao-platform/cdp/tomcat/logs/grid.log,关键字可使用"adapter-event"
2.2 登录vcenter,对虚拟机进行开关机,生成开关机消息
一旦生成了开关机的消息,便会生成adapter event
2.3 分析grid.log,获取对应的Adapter-event
我获取的event如下:
<adapter-event> <source-adapter>monitor67</source-adapter> <event>VMware Events Monitor adapter:</event> <data> <vmware-monitor-event> <returnval> <version>13</version> <changeSet> <name>latestPage[284873]</name> <op>remove</op> </changeSet> <changeSet> <name>latestPage[286219]</name> <op>add</op> <VmPoweredOffEvent> <key>286219</key> <chainId>286219</chainId> <createdTime>2016-08-17T01:16:55.895456Z</createdTime> <userName/> <datacenter> <name>CEBBANK</name> <Datacenter>datacenter-2</Datacenter> </datacenter> <computeResource> <name>Cluster2</name> <ClusterComputeResource>domain-c385</ClusterComputeResource> </computeResource> <host> <name>10.200.236.15</name> <HostSystem>host-417</HostSystem> </host> <vm> <name>luobo2</name> <VirtualMachine>vm-3251</VirtualMachine> <uuid>422984fe-31ee-0261-e0f8-21f53cb614bf</uuid> </vm> <fullFormattedMessage>CEBBANK 中 10.200.236.15 上的 luobo2 已关闭电源</fullFormattedMessage> <changeTag/> <template>false</template> <virtualCenter>10.200.108.67</virtualCenter> </VmPoweredOffEvent> </changeSet> </returnval> </vmware-monitor-event> </data> </adapter-event>
注意:adapter event 就是后面workflow rules (below)将要用作判断条件,去运行workflow中process的。
通过上面的event,我们可以获取到关机的//vm/name和//CreateTime信息,这些信息我们后面会用file记录下来,验证monitor效果。
3) Workflow - Process & Rules
使用BAO Development Studio创建workflow,这个workflow将监视monitor Adapter的事件,解析出有用的数据(//vm/name和//CreateTime),并把数据写到服务器的某个文件里。主要步骤包括:创建project、添加file append process、创建rules
3.1 创建project,命名为test_monitor
3.2 创建process,,命名为UpdateStatus
必须先创建process,然后创建rules,因为创建rules的时候需要指定process
这个process包括3个activities:Start、Append、Stop。Append Activity位于 "AutoPilot-AD-Utilities" adapter module→Terminal → File→Append,如下图
分别说说这前两个activities
START ACTIVITY
在Start上你需要创建一个输入参数,名字为"inputevent",这个参数是用于Adapter Manager传递符合rules规则的Adapter Events的,它传送的是<data>节点的数据,所以这个参数非常重要,并且只能命名为"inputevent"。"inputevent"可以是局部的也可以全局的context item。
APPEND ACTIVITY
Append activity包括3个输入,分别是: adapter name, file name, and line 1。
adapter name 要填写ro-adapter-file的名字,我这里是"File Adapter"。
File Name: /tmp/montor.txt (BAO server上的文件,输出内容将写到这里)
Line 1 就是要写入文件的具体信息. 这里我要写入的是vm name,由于vm name需要通过解析XML来获取,所以这里需要通过Advanced transformation editor把它的实际值获取出来。XPath transformation如下:
string(//vmware-monitor-event/returnval/changeSet/VmPoweredOffEvent/vm/name)
它将把下文XML中vm 的name解析出来,运行测试你的process,在Job Input Parameters输入下面的xml
<data> <vmware-monitor-event> <returnval> <version>13</version> <changeSet> <name>latestPage[284873]</name> <op>remove</op> </changeSet> <changeSet> <name>latestPage[286219]</name> <op>add</op> <VmPoweredOffEvent> <key>286219</key> <chainId>286219</chainId> <createdTime>2016-08-17T01:16:55.895456Z</createdTime> <userName/> <datacenter> <name>CEBBANK</name> <Datacenter>datacenter-2</Datacenter> </datacenter> <computeResource> <name>Cluster2</name> <ClusterComputeResource>domain-c385</ClusterComputeResource> </computeResource> <host> <name>10.200.236.15</name> <HostSystem>host-417</HostSystem> </host> <vm> <name>luobo2</name> <VirtualMachine>vm-3251</VirtualMachine> <uuid>422984fe-31ee-0261-e0f8-21f53cb614bf</uuid> </vm> <fullFormattedMessage>CEBBANK 中 10.200.236.15 上的 luobo2 已关闭电源</fullFormattedMessage> <changeTag/> <template>false</template> <virtualCenter>10.200.108.67</virtualCenter> </VmPoweredOffEvent> </changeSet> </returnval> </vmware-monitor-event> </data>
到BAO服务器/tmp/montor.txt文件中,查看是否增加了一行内容:luobo2
3.3 创建Rules
Rules只有if条件,一旦满足条件,它就会把monitor Adapter event中的<data>节点的信息全部传递给"inputevent"参数。如果不满足条件则自动忽略当前event。一个rules只能执行一个process。当然你可以创建多个Rules来调用不同的process。
配置Rules:
填写Rule的名字,指定我们上面创建的process "UpdateStatus", 定义XML条件用于匹配指定的事件消息。下面是我的配置:
rule name:MonitorVmStatus
rule要执行的process::test_monitor:UpdateStatus
Match:ALL(满足所有条件)
Source: string(//source-adapter)
Comparitor: =
Value: "monitor67" (一定要带双引号)
说明:XML Xpath Query将搜索我们上面配置的monitor Adapter ,并把"monitor67"的事件消息移交给Adapter Manager作为Adapter event。最终配置如图:
保存整个module并上传到CDP repository。
所有的创建完成,只需要等vcenter发生虚拟机开关机事件,便可以把vm的name写入到BAO 服务器的/tmp/montor.txt 文件中。
注意:如果你在window环境下打开了/tmp/montor.txt 文件,那么文件将阻止写入,必须关掉才行。
参考:
基本是下面的中文版
Tutorial - BMC Atrium Orchestrator JMS Monitor Adapter with Apache ActiveMQ
VMware Infrastructure Object Model Overview可以通过此参考订阅事件的类型,Data Object Types-VmEvent
一步步使用BMC Atrium Orchestrator Vmware Infrastructure Event Monitor的更多相关文章
- VMware Infrastructure 3 in a Cisco Network Environment
http://www.cisco.com/en/US/docs/solutions/Enterprise/Data_Center/vmware/VMware.html
- 摘-BMC自动化解决方案产品概览
以下内容摘自BMC解决方案白皮书 BMC 解决方案助力您的企业快速享受自动化带来的快速效益,并随时间推移实现这些优势的最大化. BMC 自动化技术可帮助您优化敏捷性,同时保持必要的治理和合规性控制.无 ...
- 如何重新注册VMware Update Manager(VUM)至vCenter Server中
在VMware的vSphere化境中,VUM的角色相当于Windows 环境中的WSUS(Windows 更新服务器),可以批量,自动化的完成所管辖ESXi主机的大版本迁移,小版本升级的任务,深受管理 ...
- 转:怎样在VMware ESXi上 克隆虚拟机
Cloning virtual machines on VMware ESXi 翻译自http://www.dedoimedo.com/computers/vmware-esxi-clone-mach ...
- 【VMware虚拟化解决方案】设计和配置VMware vCenter 5.5
在这之前,我们已经对VMware ESXi 5.5进行了整个环境的设计和规划,虽然安装VMware ESXi 5.5在CPU的选型.网络的设计.共享存储的方式.虚拟化资源的需求和安装ESXI的模式等一 ...
- VMWare ESX Server
VMWare ESX Server 4.1 全套下载 [转自:http://www.awolf.net/content/hack/vmware-esx-server-4-1-all-download. ...
- VMware vSphere服务器虚拟化实验十五 vCenter vShield Manager
VMware vSphere服务器虚拟化实验十五 vCenter vShield Manager VMware vShield Manager是专为 VMware vCenter Server 集成 ...
- Failed to connect to VMware Lookup Service……SSL certificate verification failed
今天登陆vsphere web-client时候,报错如下: Failed to connect to VMware Lookup Service https://vc-test.cebbank.co ...
- 使用Vmware CLI 6.5控制虚拟机,并做快照
1.下载PowerCLI 6.5 http://7dx.pc6.com/wwb5/VMwarePowerCLI65.zip 2. 打开 VMware vSphere PowerCLI 出现 无法加载文 ...
随机推荐
- Javascript一句代码实现JS字符串去除重复字符
需求: 原字符串:abcdabecd 去重后字符串:abcde JS字符串去重,一个简单需求,网上找案例发现都是一大堆代码,对于强迫症的我 实再无法忍受,于是自己手动写出一段代码,完美解决该问题. 代 ...
- JMeter插件之 BlazeMeter's XMPP----测试Openfire等
JMeter也可以测试XMPP协议了,之前一直使用Tsung或者是直接写java代码结合Java request来进行,现在可以用BlazeMeter提供的插件来进行XMPP测试,无需过多编码. 首先 ...
- PHP拓展配置redis、phalcon
PHPinfo查看php信息 标记部分对应下载版本ts和nts和vc版本 window x64 php7.0-ts-vc14拓展地址,下载相应的dll就行https://pecl.php.net/pa ...
- Linux简介与安装
Linux系统的组成 Linux 内核:内核是系统的"心脏",是运行程序与管理像磁盘和打印机等硬件设备的核心程序. Linux Shell:Shell是系统的用户界面,提供了用户与 ...
- VFS四大对象之一 struct super_block
linux虚拟文件系统四大对象: 1)超级块(super block) 2)索引节点(inode) 3)目录项(dentry) 4)文件对象(file) 现在先介绍第一个 一.super_block的 ...
- Java与算法之(5) - 老鼠走迷宫(深度优先算法)
小老鼠走进了格子迷宫,如何能绕过猫并以最短的路线吃到奶酪呢? 注意只能上下左右移动,不能斜着移动. 在解决迷宫问题上,深度优先算法的思路是沿着一条路一直走,遇到障碍或走出边界再返回尝试别的路径. 首先 ...
- python函数定义
刚学用Python的时候,特别是看一些库的源码时,经常会看到func(*args, **kwargs)这样的函数定义,这个*和**让人有点费解.其实只要把函数参数定义搞清楚了,就不难理解了. 先说说函 ...
- 常用OJ名字+地址(自用)
常用OJ名字+地址 不定期更新,自己用,有补充的也可以给我说说哈. 中文 openjudge 地址:openjudge.cn 说明:北大提供的一个平台,学校可申请小组: 比较好的小组: 计算概论:ic ...
- 【转载】Java 内存分配全面浅析
本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java.这类文章网上有很多,但大多比较零碎.本文从认知过程角度出发,将带给读者一个系统的介绍. 本文转载自袭烽大神的博客,原文链接 ...
- hihoCoder 1039:字符消除(字符串处理)
#1039 : 字符消除 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近在玩一个字符消除游戏.给定一个只包含大写字母"ABC"的字符串s,消 ...