自动化云事件管理

使用 Flex System Manager 中的自动化管理器功能帮助维护系统完整性

本文介绍了 IBM® PureFlex™ System 管理员如何使用 Flex System Manager 中的自动化管理器功能来自动响应常见的云系统事件。了解自动化管理器的功能,了解如何使用一个 GUI 向导创建事件自动化计划,以及如何重用现有的自动化事件计划并通过编程修改它们。

Ansuman Padhy, 高级软件工程师, IBM

Ansuman Padhy 有 9 年的软件工程方面的经验。他的主要兴趣是开发应用程序,以及使用诸如 Java、Eclipse RCP、Android 和其他各种开源平台等技术将理念转化成概念验证。他目前主要从事 Python 和 OpenStack 云平台方面的工作。



Ashish Billore, 云系统软件开发人员, IBM

Ashish Billore 是 IBM 印度实验室的 IBM 云操作系统开发经理。他管理 IBM Systems Director VMControl 开发团队并负责开发用于构建云基础架构的可重用组件。他通常使用 Java、Eclipse、OSGi 和 Web 服务之类的技术来设计和开发应用程序。他为 Eclipse 开源平台贡献过一些补丁,也曾在 IBM technology and QSE 大会上提供过文章。Ashish Billore 拥有电子和通信工程学士学位,毕业后在进行信息技术方面的研究。



Piyush Jain, 高级软件工程师, IBM

http://www.ibm.com/developerworks/i/p-pjain.jpgPiyush Jain 是 IBM 的一名高级软件工程师,目前主要致力于 IBM Systems Director 中的 VMControl,这是 IBM 产品组合中的一个重要产品。他有 5 年的从业经验,从印度卡纳塔克邦的 IET Alwar 获得了信息技术工程学士学位。



2014 年 1 月 02 日

IBM PureFlex System

IBM PureFlex System 将计算、存储、网络和可视化功能合并到一个统一的管理控制台上,该平台擅长预测资源需求。IBM Flex System 超越了 刀片机 ,提供更高的性能,而且易于整合组件。

在系统管理环境中,事件 是一个任务或系统的重要事情的发生,一个事件可进一步划分成一个警报(发现问题)或者一个 解决方案(发现解决方案)。根据问题的相关性和重要性,可能需要采取一些措施来维护数据中心资源的最佳使用。必须通知管理员采取必要步骤,或者管理员可以选择预先定义要执行的操作。

在 IBM PureFlex System 环境中,当需要执行一个操作时,IBM Flex System Manager 中的自动化管理器基础架构可通过通知管理员或启动预定义的任务来解决问题。IBM Flex System Manager 是预先配置和预先集成的 IBM PureFlex System 基础架构的管理解决方案。Flex System Manager 通过自动运行重复性任务大大减少了典型管理任务所需的人工步骤。本文将介绍自动化管理器功能,以及如何使用该功能来自动响应常见的数据中心事件。我们将通过两个示例来学习如何创建一个事件自动化计划,该计划可使用自动化管理器来执行预先定义的任务,以响应特定警报。

事件自动化计划及其工作原理

IBM PureFlex System 环境的管理员可创建一个事件自动化计划并将它应用于特定的某个系统或一组系统。该事件自动化计划可自动执行任务和常见云操作,以响应托管环境中出现的状况。

A Flex System Manager 事件自动化计划有三个基本组件:

  1. 目标列表:在托管环境中指定一个或多个系统,一组或多组系统。
  2. 过滤器:指定要处理的事件的类型。
  3. 操作:指定对某个事件的响应。在事件出现时可以指定启动一个或多个操作。

图 1 展示了一个管理员正在使用 Flex System Manager 控制台中提供的 Event Automation Plan 向导创建一个事件自动化计划:

图 1. Flex System Manager 对事件过滤器和事件操作的默认支持
Event Automation Plan 向导和正在创建的事件自动化计划的屏幕截图

默认情况下,管理员可从所有可用事件中进行选择,如向导的 Event Filters 屏幕所示(图 1 的背景图)。Create Action 屏幕(图 1 的前景图)展示了一系列可供事件选择的常见操作。事件自动化计划准备就绪后,如果出现事件,为该事件指定的操作就会自动执行。

图 2 简要展示了事件自动化计划的设置和执行:

图 2. 事件自动化计划设置和执行概述
事件自动化计划设置和执行概述

具体的执行步骤的顺序(如图 2 所示)是:

  1. 管理员创建一个事件自动化计划,并将它应用于特定的一个系统或一组系统(比如服务器场)。
  2. 在事件自动化计划中,管理员使用一个过滤器来指定要处理哪种类型的事件,或者为这些事件的每个事件分别指定一个事件操作(比如发送一个电子邮件通知)。
  3. 在与该事件自动化计划相关的系统中出现一个事件。
  4. 如果事件自动化计划包括一个指定了刚刚出现的事件类型的过滤器,那么该计划就能了解过滤器是否指定了任何操作。
  5. 如果指定了一个操作(比如发送一个电子邮件通知),则会执行该操作。

现在,您应该已经对 Flex System Manager 中的自动化管理器和事件自动化计划功能有了一定的了解,我们将通过两个常见数据中心场景了解事件自动化计划如何帮助您自动执行操作。


场景 1:为 VMware 集群配置一个弹性策略。

IBM PureFlex System 能够发出预测故障警报(PFA)。硬件 PFA 是一个在服务处理器或管理模块检测到某些硬件相关的事物出现故障时发生的事件;它是一种故障前警报。例如,如果系统中的双列直插式内存模块(DIMM)即将出现故障,则会出现硬件 PFA。

图 3 展示了 Flex System Manager 可响应的常见硬件 PFA 事件:

图 3. 常见硬件 PFA 事件类型
Flex System Manager 事件自动化计划屏幕截图展示了硬件预测故障警报事件过滤器

支持使用高可用性服务器群集

在系统管理环境中,弹性 是指资源(比如服务器,网络或存储设备)可快速恢复并在出现故障或中断后仍可以继续运行的能力 (该功能的另一个术语叫做高可用性。)如果支持对硬件 PFA 使用 Flex System Manager 中的弹性策略(硬件 PFA 源于 VMware 服务器集群,因此也被称为 VMControl 场),则无需知道要监控哪个具体的事件。相反,如果您创建并执行一个事件自动化计划来触发 VMware 维护模式功能。那么,在出现故障的时候,该计划会自动重定位源主机上的所有虚拟服务器,以适应相同集群中的目标主机。由于硬件问题(比如风扇或者磁盘故障)可以尽早识别,所以这样做可以避免虚拟服务器停机。

在 PureFlex System 中,平台管理器可管理一个或多个主机系统及其相关的虚拟服务器和操作系统。在探索过程中,Flex System Manager 可识别那些将 VMware vCenter Server 作为一个平台管理器运行的系统。图 4 展示了适用于某个系统的硬件 PFA 事件管理流程,在该系统中,vCenter Server 是多个 VMware ESXi 主机的平台管理器:

图 4. 硬件 PFA 事件管理
硬件 PFA 事件管理流程图

图 4 展示了 vCenter Server 管理的 ESXi 主机,vCenter Server 反过来由 Flex System Manager 管理。如果硬件出现故障,那么 ESXi 主机的集成管理模块(IMM)就会向 Flex System Manager 发送一个事件。根据预先配置的事件自动化计划执行相应的操作。

在出现硬件 PFA 时,配置一个弹性策略来自动执行虚拟服务器重定位的最少步骤是:

  1. 在 vCenter Server 上创建一个 DataCenter。
  2. 在 DataCenter 中,创建一个支持 Highly Available(支持且启用)和 DRS 的集群。必须禁用支持虚拟机开机运行的设置,这是违反可用性约束的。
  3. 将 ESXi 主机添加到该集群。确保所有 ESXi 主机共享存储以创建虚拟服务器。
  4. 从 Flex System Manager 中执行一个 vCenter Server 库存收集。该库存清单将发现在 IBM Systems Director 中 DaCenter 和集群都是一个机群。
  5. 对所有添加到支持 DRS 集群的主机都启用 VMware vSphere vMotion。

您可以使用事件自动化向导来配置事件自动化计划,如图 5 所示:

图 5. 配置一个实现弹性策略的事件自动化计划向导页面
Event Automation Plan 向导屏幕截图展示弹性策略配置

点击查看大图

图 5. 配置一个实现弹性策略的事件自动化计划向导页面

Event Automation Plan 向导屏幕截图展示弹性策略配置

在图 5 中,管理员选择使用 Hardware Predictive Failure Alert 作为事件过滤器,并选择 Enter Maintenance Mode 作为一个事件操作。

测试弹性策略

您可以通过使用 genevent 命令模拟一个操作来测试弹性策略。genevent 是一个可模拟人工事件的内置实用程序。例如,该控制台会话中所示的命令可以创建一个模拟硬件 PFA(其中 13466 是模拟硬件事件的主机标识符):

[root@z1-9-5-124-234 ~]# smcli genevent /text:"Advance_Hardware_Predictive_Failure" /compcat:
"ManagedElement.ManagedSystemElement.PhysicalElement.PhysicalComponent.Chip.PhysicalMemory" 
/comptype:"" /sev:1 /condtype:"OperationalCondition" /condvalue:"PFA" /MEID:13466

然后,ESXi 主机自动进入维护模式,如图 6 所示:

图 6. Flex System Manager 显示了维护模式下的主机
Flex System Manager 显示了维护模式下的主机

场景 2:配置电子邮件服务,以便将问题详情作为一个事件操作发送给管理员

可以将该自动化管理器配置为在出现事件时向管理员发送一个详细的电子邮件通知。问题一出现,管理员就会收到通知,这样做可以帮助您快速确定如何处理该问题。

在图 7 中,管理员将 CPU 使用事件配置为一个电子邮件操作:

图 7. Email Event Action 向导页面
Event Automation Plan 向导中的 Email Event Action 页面的屏幕截图

图 7 的背景图中的屏幕截图显示了 Event Automation Plan 向导中的 Email Event Action 页面。该页面获取输入(比如,邮件 ID、SMTP 地址和邮件端口),然后配置事件操作。如果 CPU 利用率达到阈值,那么该操作将会通过邮件通知管理员。图 7 的前景图中的屏幕截图显示了管理员通过模拟问题条件测试该操作后收到的电子邮件通知。


重用事件自动化计划

您可以以 Flex System Manager 支持的格式(比如 XML)导出一个现有事件自动化计划。稍后可以通过导出该文件创建一个自动化计划,而不是使用该向导创建一个新事件自动化计划。您也可以在 Flex System Manager 机器上生成 XML 文件,并使用相同 XML 文件在另一个 Flex System Manager 机器上创建一个自动化计划。此外,您还可以选择编辑 XML,通过编程来修改计划创建步骤。

清单 1 中的控制台会话展示了如何以 XML 文件的格式从 Flex System 环境获取一个现有事件自动化计划:

清单 1. 将事件自动化计划导出到 XML 文件
[root@z1-9-5-124-234 tmp]# smcli mkevtautopln /tmp/test1.xml
Warning Number: 1
DNZEAP2059W: (Run-time warning) The event filter named 
'Hardware Predictive Failure Alert events' has the same name 
and definition as an existing filter in the system. The filter 
will be not be created again.
Filter name: Hardware Predictive Failure Alert events
Total number of warnings: 1
DNZEAP2064I: (Informational) Created event action 'Test12'.
DNZEAP2066I: (Informational) Created event automation plan 'test2'.
       DNZEAP2067I: (Informational) Targets 'IBM 8853L6U KQBGTT4', applied to event
       automation plan 'test2'.

清单 2 中的 XML 文件配置了一个事件操作,该操作会导致资源进入维护模式:

清单 2. XML 文件 (Actions.xml) 创建一个事件操作
<?xml version="1.0" encoding="UTF-8"?>
<EventActions
    xmlns="http://www.ibm.com/director/automation/event/action/6.3"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=
    "http://www.ibm.com/director/automation/event/action/6.3 EventAction6.3.xsd">
    <EventAction id="38">
        <Name>EventAction</Name>
        <Description/>
        <StartTaskOnSystemThatGeneratesEventActionType 
        className="com.tivoli.twg.alertmgr.TaskLauncher">
            <StartTaskOnSystemThatGeneratesEventParameters>
            <Task>Enter Maintenance Mode</Task>
            <TaskID>com.ibm.director.vsm.services.tasks.VSMEnterMaintenanceMode</TaskID>
            </StartTaskOnSystemThatGeneratesEventParameters>
        </StartTaskOnSystemThatGeneratesEventActionType>
        <History>Not saved</History>
    </EventAction>
</EventActions>

AutomateHWEvents.sh 是一个样例 shell 脚本,可自动创建时间自动化计划。该脚本使用 清单 2 中的 Actions.xml 文件创建一个新的事件自动化计划。(参见 下载 部分,可从那里获取该脚本和 Actions.xml。)您必须将事件自动化计划名称、描述、事件过滤器和目标名作为输入内容输入到该脚本中。

清单 3 中的控制台会话显示了在 Flex System Manager 环境下运行的 AutomateHWEvents.sh 脚本:

清单 3. 运行 AutomateHWEvents.sh 脚本
[root@z3-9-5-127-172 piyush]# ./AutomateHWEvents.sh
WELCOME TO CREATE EVENT AUTOMATION WIZARD
=========================================
=============
| PLAN NAME |
=============
Please enter event automation plan name: EAP1

Checking Event Automation Plan with name EAP1, already exist or not...

Event Automation Plan with name EAP1 exists, so removing...
====================
| PLAN DESCRIPTION |
====================
Please enter event description for event automation plan: plan
================
| EVENT ACTION |
================
Checking Event Action with name 'EventAction', already exist or not...

Event Action with name 'EventAction' exists, so removing...

Creating a new Event Action with name 'EventAction'...

DNZEAP2064I: (Informational) Created event action 'EventAction'.
Event Action with name 'EventAction' is created successfully.

=================
| EVENT FILTERS |
=================
All Events, 0x10
Audit Events, 0x24
Common Agent offline, 0x1e
Critical Events, 0x12
Disk use, 0x17
Electronic Service Requests, 0x18
Electronic Service and Support Events, 0x1c
Environmental sensor events, 0x19
Fatal Events, 0x11
Hardware Predictive Failure Alert events, 0x22
Informational Events, 0x15
Management server security events, 0x1d
Memory use, 0x23
Minor Events, 0x13
Physical hardware security events, 0x20
Processor use, 0x1b
Service and Support Manager processing error events, 0x1f
Service and Support Manager serviceable events, 0x21
Storage events, 0x1a
Unknown Events, 0x16
Warning Events, 0x14

Please enter event filter name or oid from the above list of filters:
Hardware Predictive Failure Alert events

==================
| TARGET SYSTEMS |
==================
IBM 8233E8B 065836R 46
z3-9-5-127-172.rch.nimbus.kstart.ibm.com

Please enter the target systems, separated by a comma from the above list of systems:
z3-9-5-127-172.rch.nimbus.kstart.ibm.com

==================================
| EVENT AUTOMATION PLAN CREATION |
==================================
Creating a Event Automation Plan...

Executing the following command to create a Event Automation Plan:
/opt/ibm/director/bin/smcli mkevtautopln -e "Hardware Predictive Failure Alert events" -x 
"EventAction" -i "z3-9-5-127-172.rch.nimbus.kstart.ibm.com" -D "plan" "EAP1"

Event Automation Plan with name EAP1 is created successfully.
Details for new Event Automation Plan are given below:

Name: EAP1
Description: plan
Status: Active
Event Filter: Hardware Predictive Failure Alert events
Time Ranges:
    All the time (24x7)
Actions:
    EventAction
Targets:
    System Name: z3-9-5-127-172.rch.nimbus.kstart.ibm.com
    System Name: IBM 8233E8B 065836R 46
===========================================================

管理员可根据需要编写事件自动化计划各个部分的程序,例如,为 Flex System Manager 中的各个不同系统或事件过滤器配置该程序。您也可以通过修改原始(导出的)XML 文件提供不同的事件操作。


结束语

本文介绍的这两个场景仅作说明用途。Flex System Manager 自动化管理器提供一个功能强大的通用基础架构,以便自动监控和响应 IBM PureFlex 中的事件和警报。


下载

描述名字大小
样例脚本和 XML 文件scripts.zip1.47KB

参考资料

学习

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Cloud computing
ArticleID=958791
ArticleTitle=自动化云事件管理
publish-date=01022014