IBM MQ 提供的测试
IBM MQ Explorer随附了可用于检查 IBM® MQ 对象定义是否存在问题的测试。
IBM MQ Explorer 提供了以下类别的测试,用于检查 IBM MQ 对象:
下表中列出的测试随 IBM MQ Explorer 一起提供,用于检查 IBM MQ 对象定义是否存在问题。 IBM MQ Explorer 随附了其他测试,用于检查对象 (例如 JMS 受管对象); 下表中不包含此类测试。
常规
下表列出了用于检查 IBM MQ 定义中的常规问题的测试。
测试 | 操作 | 描述 |
---|---|---|
检查队列管理器名称 | 验证队列管理器名称是否有潜在问题 | 此测试检查队列管理器名称,以找出相似得足够导致混淆的名称;例如,此测试会检查出除大写外完全相同的名称。 对于在不同机器上主管的但具有相同名称的队列管理器,此测试也会显示警告。 |
死信队列定义 | 检查队列管理器是否有死信队列 | 对于没有死信队列的任何队列管理器,此测试显示警告,对于具有无效的 Dead-letter
Queue 属性的任何队列管理器,此测试显示一个或多个错误;例如,不存在的队列的名称,或者无法用作死信队列的队列。 如果在死信队列上找到任何消息,那么该测试会显示警告或错误,因为这可能是 IBM MQ 设置问题的有用指示。 如果任何通道的最大消息长度大于死信队列大小,那么此测试也会显示警告。 |
FFST 错误记录 | 检查是否已将错误日志写入此机器上的 FFST 目录 | 如果此机器上已写入任何 FFST 日志,那么此测试将显示错误。 |
已停止队列管理器 | 检查是否有任何队列管理器已停止 | 对于已停止的每个队列管理器,此测试会显示警告。 |
验证缺省传输队列 | 验证缺省传输队列 | 对于 Default Transmission Queue 属性的任何无效是用,此测试显示错误,包括缺少队列或者具有在 Type 属性中无效的值的队列。 |
集群
下表列出了检查集群定义是否有问题的测试。
测试 | 操作 | 描述 |
---|---|---|
集群无法解析队列管理器名称 | 检查集群是否可以成功解析所有队列管理器名称 | 如果因为未成功连接队列管理器而未正确解析任何集群成员资格项,那么此测试会显示错误。 |
处于“正在重试”状态的集群发送方通道 | 检查是否有任何手动定义的集群发送方通道仍处于“正在重试”状态 | 如果集群发送方通道处于 Retrying 状态,那么此测试显示错误。 |
确认设置了集群属性 | 检查所有集群通道是否都设置了集群值 | 对于没有设置集群(或集群名称列表)属性的任何集群发送方通道或集群接收方通道,此测试会显示错误。 |
重复的集群成员 | 检查是否有任何集群成员资格多次列出同一队列管理器 | 如果任何集群成员列表包含单个队列管理器的重复项,那么此测试会显示警告。 |
两个完整存储库 | 检查所有集群是否都至少具有两个维护集群完整存储库的队列管理器 | 如果任何集群只具有一个完整存储库,那么此测试会显示警告。 |
验证集群名称列表定义 | 验证集群定义中名称列表的使用 | 此测试验证队列、通道和队列管理器的集群名称列表属性。 如果找不到匹配名称列表或名称列表为空,那么此测试会显示错误。 |
验证集群名称 | 检查集群名称属性是否有潜在问题 | 此测试检查队列、通道和队列管理器的集群名称属性。 此测试会检查出相似得足够导致混淆的名称;例如,除大写外完全相同的名称。 |
验证集群队列实例 | 验证集群队列的所有实例是否具有相同属性 | 如果集群队列的不同实例具有不同属性,那么此测试会显示警告。 |
队列
下表列出了检查队列定义是否有问题的测试。
测试 | 操作 | 描述 |
---|---|---|
标识已满的队列 | 检查是否有任何已知队列已满 | 此测试检查是否有任何已知队列的当前深度等于队列的 Maximum Message
Depth 属性的值。 |
验证别名队列定义 | 验证别名队列定义 | 此测试检查别名队列的定义。 此测试检查找到的所有别名队列的 Base Queue 属性的值,并检查值是否是别名队列的有效目标。 |
验证队列名称 | 验证 MQ 队列对象的名称 | 此测试检查队列定义的名称。 此测试会检查出相似得足够有可能导致混淆的名称;例如,除大写外完全相同的名称。 |
验证队列是否启用了获取 | 验证是否所有已知队列都未禁止获取 | 此测试验证所有队列是否都启用了获取。 虽然队列未启用获取并不是错误,但在尝试确定应用程序中意外行为的原因时,执行此检查可能有用。 |
验证队列是否启用了放置 | 验证是否所有已知队列都未禁止放置 | 此测试验证所有队列是否都启用了放置。 虽然队列未启用放置并不是错误,但在尝试确定应用程序中意外行为的原因时,执行此检查可能有用。 |
验证远程队列定义 | 验证远程队列定义 | 此测试验证远程队列定义的 Remote Queue
Manager 和 Remote Queue Name 属性。 |
验证队列中传输队列的使用 | 验证远程队列定义中传输队列的使用 | 此测试检查远程队列定义中 Transmission
Queue 属性的值。 如果该值是不存在的队列或错误类型的队列的名称,那么此测试会显示错误。 |
通道
下表列出了检查通道定义是否有问题的测试。
测试 | 操作 | 描述 |
---|---|---|
标识不确定的通道 | 检查是否有任何已知通道处于不确定状态 | 对于任何处于不确定状态的通道,此测试会显示警告。 |
匹配通道对 | 验证一对通道的任一端的属性以检查是否有潜在问题 | 此测试尝试找到匹配通道对。 如果此测试找到匹配通道对,那么它会检查通道的两端是否具有合适的类型以及必需的属性在这对通道的两端是否匹配。 如果未找到通道的任何匹配或找到多个匹配,那么此测试会显示警告;如果一对通道具有不兼容的属性,那么此测试会显示错误。 |
对所有未在运行的通道执行 ping 操作 | 对所有未在运行的发送方通道、服务器通道和集群发送方通道执行 MQ ping 操作 | 此测试对所有未在运行的发送方通道、服务器通道和集群发送方通道执行 ping 操作,并在“测试结果”视图中显示任何不成功的响应。 不对具有 Running 状态的通道执行 ping 操作,因为假定它们具有有效定义。 |
对连接名称执行 ping 操作 | 验证是否可以对通道定义引用的所有连接名称都执行 ping 操作 | 此测试尝试对通道定义的 Connection name 属性中引用的主机名执行 ping 操作。 如果操作系统提供的 ping 实用程序可用,那么此测试使用该实用程序,否则此测试不会执行任何操作。 如果 ping 操作失败,那么测试显示警告,如果缺少必需的 Connection name 属性值,那么显示错误。 |
解析连接名称 | 验证是否可以解析通道定义引用的所有连接名称。 | 此测试尝试解析通道定义的 Connection name 属性中引用的主机名,并在无法将主机名解析为 IP 地址时显示警告。 |
验证通道时间间隔值 | 检查通道定义中时间间隔值的比率 | 此测试显示潜在问题,如脉动信号间隔大于断开连接时间间隔的通道。 |
验证通道名称 | 验证 MQ 通道对象的名称 | 此测试检查通道定义的名称。 此测试会检查出相似得足够导致混淆的名称;例如,除大写外完全相同的名称。 |
验证服务器连接通道上的 MCA 用户标识 | 验证所有服务器连接通道是否都为 MCAUSER 输入了值 | 如果任何通道缺少 MCA User ID 属性,那么此测试显示警告。 如果期望所有服务器连接通道都已设置 MCA User ID ,那么使用此项。 |
验证通道中传输队列的使用 | 验证通道定义中传输队列的使用 | 对于发送方和服务器通道定义中 Transmission queue 属性的任何无效使用,此测试显示错误,包括缺少队列、包含无效属性的队列,以及任何通道都未使用或者被多个通道使用的传输队列。 |
侦听器
下表列出了检查侦听器定义是否有问题的测试。
测试 | 操作 | 描述 |
---|---|---|
TCP 侦听器端口号 | 检查通道侦听器使用的 TCP 端口号 | 此测试验证通道侦听器使用的 TCP 端口号。 如果使用了无效端口号或多个队列管理器使用了相同端口号,那么此测试会显示警告。 |
验证侦听器名称 | 验证 IBM MQ 侦听器对象的名称 | 此测试检查侦听器对象定义的名称。 此测试会检查出相似得足够可能导致混淆的名称;例如,除大写外完全相同的名称。 |
触发
下表列出了检查触发配置是否有问题的测试。
测试 | 操作 | 描述 |
---|---|---|
验证启动队列定义 | 验证被触发队列的启动队列属性的使用 | 此测试验证本地和模型队列的 Initiation Queue 属性。 如果其值指定找不到的本地队列,那么此测试会显示错误。 此测试还会验证所有启动队列是否都具有将队列打开进行输入的进程。 如果某个队列没有这样的进程,那么这表示未在对该队列运行任何触发器监视器。 |
验证进程名称 | 验证 IBM MQ 进程对象的名称 | 此测试检查进程定义的名称。 此测试会检查出相似得足够导致混淆的名称;例如,除大写外完全相同的名称。 |
验证进程定义 | 验证进程对象定义 | 此测试验证 IBM MQ 进程定义。 此测试检查对象的 Application ID 属性中指定的系统进程是否存在。 如果 Application ID 属性未提供绝对路径,那么当可以在路径环境中找到具有给定名称的多个系统进程时,测试也会显示警告。 |
验证队列的进程定义 | 验证被触发队列的进程属性的使用 | 此测试验证本地队列和模型队列的 Process Name 属性,并显示找不到 IBM MQ 进程对象定义的进程名称的错误。 |
验证触发器数据队列定义 | 验证被触发队列的触发器数据队列属性的使用 | 此测试验证本地和模型队列的 Trigger Data 属性,并针对无法找到其通道的名称显示错误。 |
验证被触发队列的使用 | 验证触发器队列的使用 | 如果某个队列满足其触发器条件,但当前未打开该队列进行输入,那么此测试会显示错误。 |
SSL/TLS
下表列出了用于检查 SSL/TLS 配置问题的测试。
测试 | 操作 | 描述 |
---|---|---|
验证是否已重新启动通道 | 验证自上次更改 SSL/TLS 密钥存储库后 SSL/TLS 通道是否已重新启动 | 此测试突出显示任何上次启动时间早于密钥存储库的最后修改时间的通道,因此可能需要进行刷新。 |
验证 SSL 通道认证 | 验证所有通道是否需要 SSL/TLS 认证 | 此测试突出显示是否有任何通道尚未设置 CipherSpec 属性。 如果您期望所有通道都使用 TLS,请使用此测试。 |
验证 SSL 客户机认证 | 验证所有通道是否需要 SSL/TLS 客户机认证 | 此测试突出显示是否有任何通道未将 Authetnication of Parties Initiating Connections (SSLCAUTH) 属性设置为 Required 。 如果期望所有通道使用 SSL/TLS 且所有客户机都提供用于认证的证书,请使用该测试。 |
验证 SSL 密钥存储库文件 | 验证是否存在 SSL/TLS 密钥存储库 | 该测试检查队列管理器的 Key Repository 属性,并检查是否能在该位置找到文件。 它还验证是否可以找到密码隐藏文件以及该文件是否可读。 |
验证 SSL 对等方值 | 验证通道定义中使用的 SSL/TLS 对等方属性 | 这将检查所有已知通道的 Accept Only Certificates
with Distinguished Names Matching These Values (SSLPEER) 属性,针对无效规范报告错误,并在 CipherSpec 属性不使用该值时报告警告。 |