本文讨论了由IBM WebSphere Cast Iron Cloud集成(以下称为Cast Iron)提供的监视和警报功能,以及利用这些功能的推荐最佳实践。
监视功能概述
Web管理控制台(WMC)提供了已发布和已部署项目的概述,并对这些项目中的业务流程进行了深入研究。 它还提供有关给定设备的运行状况的信息,显示内存使用情况以及磁盘和CPU利用率。 由于Cast Iron Live环境是多租户环境,因此无法显示物理和虚拟环境上显示的所有指标。
警报功能概述
Cast Iron操作系统提供了一个可配置的警报子系统,管理员可以为特定的客户环境设置该子系统。 警报模块通过电子邮件或SNMP或两者将警报从不同的Cast Iron子系统发送到组织内的一组可配置人员。
此外,业务流程可以通过日志记录活动或通过生成电子邮件或Web服务调用来生成警报,以在客户环境中提供警报服务。 这些警报服务可能是网络中其他可用的铸铁业务流程或第三方API。
监控功能
铸铁是一种“熄灯”集成解决方案,需要客户进行最少的监控。 客户可以定期登录到设备-物理,虚拟或云设备,以确保正常使用资源或按预期执行作业,但这不是强制性的。 相反,客户应使用警报来指导他们解决需要注意的问题。
记录级别
在开发过程中,通常使用高级日志记录来检查业务流程中的数据流和转换。 当项目进入生产状态时,重要的是降低日志记录级别以保持设备的高性能。 日志记录会导致设备内的I / O数量增加,这会对每个作业的性能产生负面影响。
降低日志记录级别意味着您无法查看业务流程的各个步骤。 这意味着在将业务流程移至生产环境之前必须进行足够的质量保证(QA),并且业务流程包含符合Cast Iron最佳实践的错误处理逻辑。
表1描述了业务流程的日志记录级别。
表1.业务流程日志记录级别
记录级别 | 描述 |
---|---|
没有 | 对于配置为“无”的业务流程,没有作业活动记录到WMC。 对于这些业务流程,似乎没有作业正在执行。 |
初始值 | 仅记录业务流程变量的初始值。 仅当您要研究作业的触发值(例如HTTP标头或Web Service正文)并且期望编排由于错误处理不足而失败时,此选项才对调试有用。 根据初始值数据和其他任何初始化变量的大小,这仍然可能对编排性能产生影响。 |
初始值和错误值 | 业务流程变量的初始值和业务流程错误均被记录。 仅当您要研究作业的触发值(例如HTTP标头或Web Service正文)并且期望编排由于错误处理不足而失败时,此选项才对调试有用。 根据初始值数据和其他任何初始化变量的大小,这仍然可能对编排性能产生影响。 |
错误值 | 只有编排作业失败才会记录其变量。 这是针对生产环境的建议日志记录级别。 但是,必须注意,使用try-catch块的业务流程永远不会达到错误状态。 |
排队 | 根据调用业务流程的工作详细信息记录业务流程的详细信息,以进行子业务流程的记录。 如果业务流程之间传递的数据存在问题,这对于调试父子业务流程设计很有用。 |
所有 | 这是最高级别的日志记录,并记录业务流程作业的所有变量和步骤。 仅将此日志记录级别用于开发和测试,或用于生产业务流程的紧急调试。 根据活动数,变量数和每个作业的数据量,此日志记录级别最多可影响编排作业的性能300%。 |
工作状态
有六个工作状态。 表2描述了每种状态。
表2.作业状态
状态 | 描述 |
---|---|
跑步 | 该作业当前正在执行。 |
已完成 | 作业结束而没有错误(无论在作业运行期间是否执行Catch块,这都是正确的。) |
错误的 | 该作业遇到致命错误,而该错误没有由catch块处理。 如果将日志记录级别设置为除“无”以外的任何其他值,则作业详细信息将显示失败时的作业状态。 |
已终止 | 作业由于业务流程中的终止活动而结束。 |
已暂停 | 作业执行时,管理员已停止项目。 如果管理员重新启动项目,作业将恢复;如果取消部署项目,则作业将进入“已取消”状态。 |
取消 | 管理员明确取消了正在运行的作业。 |
作业键
作业密钥是通过WMC公开有关编排作业的详细信息的一种方法。 通常,作业密钥提供唯一标识从端点到端点传递的数据的信息,例如批号或主键。 但是,由于可以在业务流程中进行配置,因此键可以简单地是状态消息,例如“已处理100行”。
图1显示了使用Home> Dashboard菜单项在WMC中可见的作业结果面板。 它显示完成的作业以及业务流程分配的作业密钥值。
图1. WMC中显示的作业键
开发人员在Studio中为每个业务流程设置作业密钥,并使用“创建作业密钥”活动分配值。 其中一个键可以标记为“ Primary”。 主键可在WMC中搜索。 开发人员控制作业密钥的命名,它们成为“创建作业密钥”活动的输入参数。 图2显示了工作键设置屏幕,您可以通过单击Studio中业务流程开始处的绿色箭头图标来显示该屏幕。
图2.设置工作键
默认情况下,WMC仅记录作业ID-分配给每个作业的唯一ID。 当业务流程记录主作业密钥时,WMC将显示该值代替作业ID。 作业密钥不会替换作业ID值。 WMC中的作业详细信息视图显示作业ID。
图3显示了“创建作业键”活动的映射输入,其中将值分配给了三个已定义键。
图3.将值映射到作业键
每个编排都支持多个键,但是只有一个是可搜索的主键。 记录到非主键的值显示在WMC的“作业详细信息”屏幕中,如图4所示。您可以通过单击“ 主页”>“仪表板” ,单击该作业,然后单击“ 作业密钥”链接来显示该屏幕。
图4. WMC中“作业详细信息”面板中显示的作业键
注意 :将日志记录级别设置为“无”的业务流程将在WMC中不显示任何信息,也不显示任何作业密钥。
作业键和错误处理
Cast Iron的一个难题涉及错误处理和作业状态,这些作业密钥可以解决。 铸铁最佳实践表明,业务流程在错误情况下使用try-catch块来控制业务流程。 由于这会捕获发生的任何错误,因此作业将以“已完成”作业状态结束。 这使得很难确定WMC中遇到问题的作业。
通过在主作业键中使用状态值(与警报结合使用),可以使用搜索功能在WMC中查找那些作业。 例如,您可以在地图活动中使用连接功能创建一个字符串,该字符串包含状态和已处理的记录数,“成功-已处理100条记录中的100条”或“错误-已处理100条记录中的50条”。 通过使用键中的状态值,可以在WMC中搜索“错误”,这将显示所有未成功处理完整批处理的作业。
监控作业键
使用与使用作业密钥结合错误处理策略相同的原理,作业密钥应该是作业监视的主要组成部分。 例如,假设您将Salesforce.com等应用程序与ERP系统集成在一起以同步销售订单。 如果使用作业键记录记录ID,则可以使用搜索功能回答诸如“销售订单1234是否已转移到ERP系统吗?”之类的问题。 您可以通过搜索“ 1234”键找到记录。
搜索作业密钥
作业密钥可以从左到右搜索,而不是通配符。 例如,您可以通过搜索“ 1”,“ 12”,“ 123”或“ 1234”而不是“ 234”或“ 2345”来找到作业键“ 1234”。 在定义给定方案的作业键布局时,这是一个重要因素。
图5显示了当键值位于作业键的末尾时要进行搜索的难度。 用户必须键入整个字符串才能找到匹配的作业。 单击“ 主页”>“仪表板”菜单项时,搜索框在WMC的结果面板中可见。
图5.搜索作业密钥
例如,业务流程使用作业密钥“已处理100条记录中的100条–成功”。 您无法搜索“成功”一词并获得结果。 搜索“成功”的唯一方法是,如果作业密钥格式为“成功-已处理100条记录中的100条”。
图6显示了正确定义键值后查找作业的难度。
图6.搜索定义明确的作业密钥
您不能在搜索中使用通配符,例如“%”,“?”或“ *”。 将字符输入搜索框后,搜索将自动隐含通配符: search value*
。
警报功能
警报分为两个级别: 系统级别和业务流程级别 。 设备根据WMC中设置的标准生成系统级别警报。 业务流程级别警报来自业务流程中的活动。 也可以使用业务流程级别的活动来触发系统级别的警报。
系统级消息
设备维护一个系统日志,该日志显示来自操作系统各个子系统的错误或警告。 表3描述了子系统列表。
表3.生成通知的子系统
子系统 | 描述 | 笔记 |
---|---|---|
硬件 | 包含与物理设备相关的错误,例如风扇,CPU,磁盘等。 | 不适用于铸铁现场 |
资源资源 | 报告可用磁盘空间和内存问题。 | 不适用于铸铁现场 |
网络 | 显示与访问端点或其他网络相关问题有关的错误。 | 不适用于铸铁现场 |
安全 | 报告无效登录以进行入侵检测。 | |
编排 | 显示业务流程作业中的错误,包括来自日志消息活动的消息,由于映射问题导致活动失败的错误,SOAP错误,数据库错误等。 | |
部署方式 | 显示业务流程因端点中的无效密码而无法正确部署业务流程以及重复的HTTP或Web服务URL时导致的错误。 |
系统级通知
警报子系统链接到系统日志,以允许管理员定义策略(规则)以触发有关系统级事件的通知。 在物理和虚拟设备上,管理员可以选择使用电子邮件或SNMP或同时使用两者传递通知。 Cast Iron Live仅允许通过电子邮件发送通知。
图7显示了可通过“ 日志”>“通知”访问的WMC中的通知面板,并显示了现有策略的列表。
图7. WMC中的Notification屏幕显示现有策略
邮件通知
管理员必须为传递通知的SMTP中继服务器提供凭据。
SNMP通知
管理员必须提供SNMP主机和陷阱社区,以便设备(虚拟或物理)可以将陷阱传递给监视工具。
政策设定
这些策略是基于严重性和子系统的简单规则。 严重级别如表4所示。
表4.通知的严重性类型
严重程度 | 描述 |
---|---|
信息 | 信息性消息 |
警告 | 警告讯息 |
错误 | 可能需要用户注意的严重错误 |
危急 | 需要用户或管理员注意的严重错误 |
通知规则的示例包括:
- 如果在Orchestration子系统上错误大于“ WARNING”,则通过电子邮件将通知发送至
businessusers@mycompany.com
。 - 如果网络子系统上的错误大于“ ERROR”,请通过电子邮件将通知发送到
sysadmins@mycompany.com
,并通过SNMP发出陷阱。
图8显示了策略定义屏幕,用户在其中设置了新的通知策略。 通过选择WMC中的“ 日志”>“通知”>“新策略”来访问此屏幕。
图8.设置策略
要重申的是,铸铁活不支持SNMP通知。
电子邮件政策建议
与其将电子邮件发送给个人列表,不如在电子邮件服务器上创建通讯组列表。 如果个人离开某个团体或组织,则通过WMC管理个人列表效率低下,并且容易出现问题。 最好将电子邮件发送到电子邮件服务器上定义的组。
在上面的示例中,业务流程的通知发送给一组用户,而网络错误发送给另一组用户。 这证明了在通知分发中的明确划分。
业务流程级别通知
默认情况下,编排作业失败将在系统日志中生成错误级别消息。 您可以使用通知策略来捕获这些错误,以生成电子邮件或SNMP陷阱。 但是,您无法控制所生成消息的内容。
铸铁的最佳实践要求业务流程使用try-catch块和if-then条件来捕获错误。 然后由开发人员选择如何将问题告知最终用户。
电子邮件活动
最常见的通知机制是使用电子邮件活动,因为它是一个简单的界面。 但是,它支持交付格式中的多种选项。 Cast Iron支持复杂的MIME消息,因此可以在WMC中创建附件和HTML格式的电子邮件以及指向该作业的链接。
网络服务活动
一些组织内部可能通过其他中间件或其他监视工具来构建复杂的通知系统。 如果这些系统具有公共API,例如Web服务接口,则Cast Iron可以使用WSDL并通过Web服务活动使用现有的日志记录基础结构。
记录消息活动
日志消息活动允许业务流程以选定的严重性级别写入系统日志的业务流程子系统。 结合一组通知策略,日志消息活动是用于生成简单通知的有用机制。 优点是,与标准系统级通知不同,开发人员可以控制通知中包含的消息。
图9显示了到日志消息活动的映射,该活动设置了严重性级别和输出消息。
图9.映射到日志消息活动
所记录的消息作为业务流程事件显示在WMC的“日志”菜单的“系统日志”面板中。 图10显示了WMC中日志消息活动输出的示例,其中用户将严重性级别定义为“警告”。
图10. WMC中的日志消息输出
您可以使用“日志消息”活动来提供自定义通知或通过WMC进行日志记录,将其与通知子系统绑定以自动发送电子邮件或引发SNMP陷阱。
结论
本文展示了WebSphere Cast Iron如何为跟踪,识别和搜索作业提供全面的解决方案。 它还显示了这些功能如何补充Cast Iron的监视和警报功能。
翻译自: https://www.ibm.com/developerworks/websphere/library/techarticles/1204_moore/1204_moore.html