感谢Pete Zerger对这篇文章的贡献和合作。皮特是系统中心的MVP和贡献者系统中心Opalis Integration Server 6.3释放.三部分系列中的第二个分为更深入地进入Opalis / Orchestrator功能,并讨论了更高级的策略创作主题:
- 高级策略特性和功能
- 测试和故障排除您的策略
- 使用OIS和系统中心将自动化带到一个下一级
OIS包括许多有助于创建更复杂、模块化政策的功能,如下所述:
新Opalis吗?回去看看第1部分在继续之前。
高级策略特性和功能
有了这些基础知识,是时候探索一下OIS的一些更高级的特性了。本节将涉及一些高级政策要素,包括:
- 政策的嵌套
- 循环
- 连接
- 数据操作函数
- 变量
- 复杂链接逻辑(高级分支)[将在第3部分中出现]
政策的嵌套- 您可以使用A来自另一个策略中的一个OIS策略引发政策对象。被调用的策略称为计划生育政策以及使用触发策略对象进行呼叫的策略称为母公司的政策.可以将数据从父策略传递给子策略,从而允许发布子策略中的数据以供父策略使用。
讨论了在第1部分,对象级的数据发布行为是自动的。当使用多个策略时,情况并非如此。默认情况下,子策略中没有发布的数据对父策略可见;您必须执行一些额外的配置步骤,以使父策略可以使用子策略的输出。要了解如何配置策略之间的数据发布,请查看这篇博客文章“Opalis:在使用工作流对象和链接运算符周围工作的限制“从系统中心Opalis Integration Server 6.3释放贡献作者Marcus Oh。
您需要熟悉Trigger Policy和在策略之间发布数据,因为这在OIS策略编写最佳实践中扮演着重要角色。这将在本系列的第3部分中进行更多讨论。
循环- loop允许您将自动重试、监视和验证构建到策略中,并在需要时在策略中的多个点上构建。OIS可以配置退出环路的条件。例如,如果您希望在最少的执行次数之后或在一定的时间之后退出,您可以选择相关的“Loop”。共同公布的数据在图1中显示的Exit选项卡上。
图1 -策略属性中的退出选项卡配置
您可以在loop属性中的Exit和Do Not Exit选项卡上定义循环行为。请注意,Do Not Exit选项卡上的规则总是优先于Exit选项卡上的规则。
- 图1中显示的Exit选项卡指定了决定循环是否退出的条件。
- “不退出”选项卡指定将导致循环继续的条件。
循环只能配置为对象级可用,而不能配置为策略级可用。然而,您可以使用Trigger Policy对象来解决这个限制,正如Ryan Andorfer在他的文章中所解释的那样。循环的政策."
连接,通过Junction对象,您可以配置一个策略,以允许策略中的多个分支在继续通过Junction对象之前完成。此外,Junction对象可以从任何一个分支重新发布数据,以便Junction对象的下游对象可以使用这些数据。您所选择的分支以外的数据将不可用。如果策略下游不需要数据,还可以选择“None”来停止从Junction对象上游的任何分支发布的数据的传播。
例如,图2中的操作管理器维护模式策略使用连接确保Windows计算机、操作管理器运行状况服务和运行状况服务监视程序(HSW)的启动维护模式对象在尝试重新启动计算机之前已完成。本保单的副本包括在代码下载本文包含。
图2 - Operations Manager计算机维护模式策略
数据操作函数- OIS中的数据操作函数使您可以操纵来自已发布的数据项或其他源的字符串,数字和日期/时间数据,并将其转换为可用的表单。您还可以在数字数据上执行算术运算,包括添加,减法,乘法和划分。例如,您可以使用文本文件管理对象,修剪前导和尾随空格从文本文件中提取数据,然后检索可以将其传递给其他对象的文本的特定部分。微软的文章http://technet.microsoft.com/en-us/library/gg440683.aspx提供所有数据操作函数的详细描述。
变量-当您构建策略时,您可能会发现在多个策略中的不同对象之间有相同的值。当需要更新这些值时,单独更改每个对象就变得很不方便。变量在策略中充当占位符,使您能够在一个位置指定一个值,然后在任何对象中全局使用该值。在运行时,工作流引擎会在设计期间转换对象中配置的变量。
OIS中变量的有趣之处在于它是变化的!变量几乎总是被设置为静态值,这意味着OIS中的变量很像公共编程语言中的常量。然而,有两个例外:
- 现在()函数
- 系统环境变量(如%WINDIR%,如图3所示)
图3 -使用环境变量作为变量值
您可以阅读更多关于这些特殊OIS变量的更多信息http://technet.microsoft.com/en-us/library/gg440631.aspx..
复杂的连接逻辑(先进的分支)- 链接在策略中连接对象并指导策略中的活动流程和数据流。链接提供两个对象之间的优先级。两个对象之间的链接上的默认逻辑是“成功”。这意味着如果对象运行(无论结果如何),则链接的下游对象将执行。然而,链接条件可以提供用于实现涉及文本,数字或与时间相关数据的复杂决策流程的复杂功能。
本系列第3部分讨论了链接和分支深度的一些可能性。
测试和故障排除您的策略
策略运行时,每个策略都会产生一条日志,您可以在OIS Client中查看该日志。查看策略时,“日志”和“历史日志”窗口将显示所选策略的实时日志和历史日志。通过Operator Console,您可以实时查看策略执行情况:
- 的日志窗口显示策略当前运行的日志记录。日志在策略启动时显示,当前在策略中运行的对象将具有它旁边的运行标签。日志使您可以确定策略中是否存在特定对象的问题。
- 的日志历史记录窗口,如图4所示,显示您选择的策略的所有先前执行。策略启动和结束的时间显示在每个日志条目的顶部,每个条目都会显示每个对象执行的结果。
图4 - OIS客户端中的日志和日志历史记录选项卡
双击日志中的对象日志条目可以查看该对象执行的结果。的细节对话框显示对象的名称,类型,状态,开始时间和结束时间。如果已启用,详细信息对话框还使您可以在执行时浏览对象的已发布的数据。在排除策略时使用此信息。
在开发过程中,您可以单击测试按钮,启动OIS客户端工具栏中的政策测试控制台测试策略执行。您可以通过策略测试控制台中的策略对象逐步步骤,通过策略对象手动前进并查看详细对象输出。请记住,策略测试控制台实际执行策略对象;这不是一个理论执行。例如,如果您测试从数据库中删除记录的策略,则实际删除这些记录!
来自现场的笔记:OIS用户遇到的常见问题是策略,该策略在策略测试控制台中生成不同的结果,而不是从OIS客户端运行策略时返回。这通常是通过用户安全性解释的。您在OIS客户端运行的策略在action Server服务帐户的上下文中运行。另一方面,您在策略测试控制台中运行的策略在当前用户凭据的上下文中执行。如果您的用户帐户与Action Server操作帐户的权限没有相同的权限,则在从策略测试控制台运行时,在OIS客户端中成功运行的一些策略可能会失败。
使用OIS和系统中心将自动化带到一个下一级
OIS的系统中心ip为各种用例场景交付系统中心产品之间的集成,包括:
- 事故补救(通过运营经理2007 R2)
- 虚拟机配置(通过虚拟机管理器2008 R2)
- 更改管理和CMDB自动化(通过Service Manager 2010)
- 备份和恢复(通过Data Protection Manager 2010)
- 软件和更新发布(通过配置管理器2007)
例如,图5中所示的策略与Operations Manager 2007 R2交互,以自动化事件补救。
图5 - Opalis集成服务器6.3中的事件补救策略示例
以下是此策略中执行的步骤的高级描述:
- 监视器警报对象监视器标题为“DHCP服务已停止”的警报。
- Get Service Status对象用来检查DHCP Client服务是否已经停止。
- 如果服务正在运行,则使用指示错误警报的音符更新Operations Manager警报上的自定义字段。
- 如果服务已停止,则“启动DHCP服务”对象会重新启动该服务。
- 一旦服务启动,警报就会更新,提示服务已被OIS重启。
这些ip中的对象还可以一起使用来创建高级自动化场景,在单个自动化序列中包含多个System Center产品。图5中所示的示例策略的副本包含在代码下载本文包含。
下一篇文章
这就是本期的内容。第三部分继续讨论OIS的基本原理,包括:
- 复杂链路逻辑(高级分支)
- 用PowerShell弥补差距
- 使用社区开发的ip扩展您的能力
- 政策创作最佳实践