信息化 频道

不可缺的十种WebSphere MQ SupportPac

  6. MS81: WebSphere MQ internet pass-thru (MQIPT)

  MQIPT中的 “IPT” 代表 “互联网直通”。这个 SupportPac 在DMZ中为WebSphere MQ通道提供了一个控制点。一个MQIPT实例可管理来自多个外部业务合作伙伴的连接,并将其发送到任意数量的内部队列管理器。每个连接路径都是独立管理、独立控制的。

  MQIPT 还可使穿越防火墙更为轻松,它能提供HTTP或HTTPS内的WebSpher MQ通道隧道协议。通常,两家业务合作伙伴各自在其DMZ中设置一个 MQIPT 节点,这样就有一个MQIPT节点队位于两个队列管理器之间,两个防火墙位于中央。队列管理器仅看正常的WebSphere MQ通道,防火墙仅看到HTTP或HTTPS流量。

  我倾向于在DMZ中使用MQIPT,而不是设立完整的队列管理器。理由就是MQIPT不会将任何数据排队到磁盘中,因而在出现通道故障时,DMZ 中不会出现数据堆积的现象。作为WebSphere MQ管理员,我也十分欣赏在连接请求抵达队列管理器之前启用或禁用外部访问权限的能力。同样的结果也可通过关闭防火墙上的端口来实现,但那需要向另外一个独立的团队发出申请。通过MQIPT,MQ管理员即可直接管理该访问。

  在MQIPT参与SSL连接时,它会向用户编写的退出程序提供一些证书详情。MQIPT的更大优势在于它能比WebSphere MQ认证更多字段,因而,举例来说,如果您需要检查颁发机构的标识名,即可在MQIPT退出程序中实现。

  MQIPT是一种杰出的工具,可帮助保护和控制WebSphere MQ网络上的外部连接。请务必注意,它能增强您在队列管理器上执行的保护工作 —— 但不是取代。

  7. MH03: WebSphere MQ SSL Configuration Checker

  这个SupportPac将检查一个队列管理器的SSL配置设置,也可以选择为客户端进行检查,并报告所发现的任何问题。无需复杂的安装,只需将独立可执行文件拖放到队列管理器所在主机上,再运行即可。程序已为AIX?、HP-UX、Linux?、Solaris?和Windows编译。

  程序发现问题时,将打印一份详尽的报告,其中通常包含关于问题的简短说明、一个提供问题具体描述的 “建议” 部分、可行解决方法建议。

  由于MH03是一个独立的可执行文件,因而设置和运行十分轻松。MH03是我最经常使用的一种SupportPac,而原因之一就是我依靠它进行远程支持。在现场时,我通常要求客户手动执行SSL验证,以便更好地理解所有组件的交互方式。但在通过电话提供支持时,重点往往在于解决问题的速度。MH03 能够达到与手动验证完全相同的效果,但速度更快,也不会有任何遗漏。如果您正在WebSphere MQ网络中使用SSL(如今几乎没有人不这样做),那么您就需要MH03。

  8. MO04: WebSphere MQ SSL Wizard

  MO04 SSL Wizard是我 “最常用” 的SupportPac之一,而实际上使用的次数也并非很多。近来,我使用它的方法就是将它介绍给刚刚开始学习WebSphere MQ SSL的新手,使他们能够从中学习经验。

  MO04 是一种基于Java的GUI,能指导您完成收集通过支持SSL的通道连接两个队列管理器(或一个客户端和一个队列管理器)的需求的寻访过程。收集到SSL连接双方的详细信息后,SSL Wizard就会生成一个极为全面流程,包括叙述性说明和必要的命令。命令包括队列管理器名称、通道名称和证书细节等数据的实际值,旨在按原样运行。

  它所生成的输出对于理解流程和解答如下问题大有裨益,例如:我是否要导出或提取证书?我要提出的惟一的警告就是:它所生成的部分命令包含语法错误。但该程序的输出在其他方面极为有用和完善,完全可以抵消这种微不足道的瑕疵。

  9. MS03: WebSphere MQ - Save Queue Manager object definitions using PCFs (saveqmgr)

  一直以来,我最常用的SupportPac都是MS03,通常简称为saveqmgr。提到备份队列管理器,存在两种学派。有些人倾向于备份包含队列管理器配置的文件系统,而其他一些人则备份关于配置的元数据。我属于第二组。

  在文件系统级备份WebSphere MQ时,备份包含当时队列管理器上存在的所有消息。在恢复队列管理器时,所有这些消息都会进入队列。除非上游和下游的所有相关程序与数据库都恢复到同一个时间点,否则这样的恢复会将系统置于不可知的状态,必须调整到一个已知同步点,才能避免出现重复或者遗漏的事务。

  这就假设队列管理器可首先恢复,但这是没有保证的。许多企业都在队列管理器运行时进行文件系统备份。结果就是队列文件的备份与日志文件的备份存在些许的不同步现象,可能会有一个或多个文件被破坏。

  出于这些原因,我更倾向于备份队列管理器元数据。其中包括对象定义、授权配置文件、SLL keystore、ini 文件和任何退出目录的内容。saveqmgr程序可为所有版本的WebSphere MQ捕捉队列管理器对象定义。对于版本6.0及更高版本,saveqmgr也能捕捉授权配置文件。此后,若有必要恢复队列管理器,可以重新创建一个空的队列管理器,因而无需协调那些无意中随队列管理器一起恢复的数日乃至数周前的陈旧信息。

  与MO72相似,saveqmgr也具有一个我十分常用的客户端版本。当然,这个版本就是saveqmgrc。我已经看到了许多使用saveqmgr在本地捕捉队列管理器配置数据的案例。但对于在磁盘或服务器崩溃后有用的数据,必须存储在另外一台服务器上。我热爱脚本和自动化,因而我的解决方法就是将saveqmgrc设置在中央服务器上(可以是MO72所在的服务器),使用脚本遍历所有队列管理器,收集对象定义和授权。

  通常情况下,我将输出文件存储在这个中央服务器上,使用树形结构,为每个队列管理器使用一个独立的目录。这种做法的优势之一就是使之成为平面文件数据库,易于通过简单的UNIX? find命令或某些轻量级脚本搜索。这就使您更容易解答 “这个队列将在何时消失?” 这样的问题。

  10. MS0P: WebSphere MQ Explorer - Configuration and Display Extension Plug-ins

  事件消息是WebSphere MQ故障排除中的高度机密之一。在需要调试授权问题时,我会启用授权事件,重建错误。几年前,我会使用C头文件的副本和我信任的十六进制计算器,逐个字段地解析事件消息。当然,这是一项冗长的工作。但事件消息能告诉我生成错误的用户ID、失败的API调用、API调用的目标对象以及所使用的选项。通过一条事件消息诊断授权问题的能力使手动解析十六进制字段的麻烦显得微不足道。

  至少在MS0P发布之前,都是如此。MS0P将解析授权或其他任何类型的事件消息,将其解析为人类可读的文本。多亏这个SupportPac,我的十六进制计算器终于圆满退役。我也变得如此懒惰。我甚至不确定是否还记得如何手动解析事件消息。

  即便这个SupportPac只能完成这项任务,也值得下载。而实际上,事情还不仅如此。这个插件也支持跟踪路由功能,可以告诉您消息经过了哪些队列管理器。此外还能以图形的格式显示队列活动。

  这个工具包中的另外一个插件提供了执行WebSphere MQ服务器的远程管理的能力。该插件可管理Windows、UNIX和Linux系统,可以启动或停止队列管理器,并执行其他通常被视为 “仅能通过命令行执行” 的任务。

  第三个插件能够将队列管理器对象定义保存为逗号分隔值(CSV)格式。这使对象定义能够被Microsoft Excel处理,也可轻松载入数据库。

  最后,该SupportPac包含两个极为有用的实用工具程序。mqidcode实用工具可将十进制或十六进制数值转换为人类可读的内容。例如,您可能拥有一份跟踪记录的输出,需要了解GET操作是否制定了SYNCPOINT。将Open Options字段的数值传递给mqidcode即可获得答案,无需使用C头文件和计算器。另外一个实用工具是qtune,用于公开队列缓冲区设置,使您能够查询和设置它们。在大容量环境中,队列管理器必须调优为最优性能,因此通常需要更改队列缓冲区的默认设置。缓冲区被调优之后,就能够通过查询它来验证调优效果或捕捉备份中的配置,这十分有帮助。但至今为止,尚无查询实际设置的简便方法。除了简化查询之外,qtune还可简化更改值的过程。

  结束语

  我希望这份关于我最喜爱的SupportPac的指南能鼓励您访问SupportPac网站,试用一些新工具。SupportPac有数百种之多,没有任何一篇文章能够全面涵盖所有这些内容,也不可能有任何两个人的偏爱列表完全相同。我是否忽略了您喜爱的SupportPac?请使用下面的评论表单,推荐您认为最出色的SupportPac,请务必说明您选择它的原因。

0
相关文章