[MQ 9.3.1 2022 年 10 月]

仅使用命令行 CD 将远程队列管理器添加到 IBM MQ Console

您可以在命令行上使用 setmqweb remote 命令将远程队列管理器添加到 IBM® MQ Console 。 远程队列管理器可以是在与 IBM MQ Console相同的系统上的另一个安装中运行的队列管理器,也可以是在另一个系统上运行的队列管理器。

开始之前

注: 此任务中的步骤要求您运行 MQSC 命令:
  • [AIX、Linux 和 Windows]AIX®, Linux®, and Windows上,从 runmqsc 命令提示符发出 MQSC 命令。 请参阅 runmqsc 下以交互方式运行 MQSC 命令,以及 runmqsc下从文本文件运行 MQSC 命令。 对于此任务,如果您正在 AIX, Linux, and Windows上运行,请打开使用 QM1: 的 runmqsc 命令提示符
    runmqsc QM1
  • [IBM i]IBM i上,您在脚本文件中创建命令列表,然后使用 STRMQMMQSC 命令运行该文件。 请参阅 IBM i上使用 MQSC 命令进行管理。
  • [z/OS]z/OS®上,可以根据命令从多个源发出 MQSC 命令。 请参阅 可在 IBM MQ for z/OS上从中发出 MQSC 和 PCF 命令的源。

确保 mqweb 服务器配置为允许远程队列管理器连接到 IBM MQ Console。 有关更多信息,请参阅 配置远程队列管理器连接行为

过程

  1. 在远程队列管理器上,创建服务器连接通道以允许使用 DEFINE CHANNEL MQSC 命令对队列管理器进行远程管理。
    例如,要为队列管理器 QM1创建服务器连接通道 QM1.SVRCONN ,请输入以下 MQSC 命令:
    DEFINE CHANNEL(QM1.SVRCONN) CHLTYPE(SVRCONN) TRPTYPE(TCP)
    
    有关 DEFINE CHANNEL 和可用选项的更多信息,请参阅 DEFINE CHANNEL
  2. 确保相应用户有权管理与队列管理器关联的队列管理器和 MQ 对象。
    • [AIX、Linux 和 Windows]AIX, Linux, and Windows 上,在标准命令行上使用 setmqaut 控制命令。
    • [z/OS]z/OS上,定义 RACF 概要文件以授予授权用户对队列管理器的访问权。
    例如,在 AIX, Linux, and Windows上,要授权用户 exampleUser 访问队列管理器 QM1,请输入以下控制命令:
    setmqaut -m QM1 -t qmgr -p exampleUser +connect +inq +setall +dsp
    
    此授权用户可能是下列其中一个用户:
    • 与在要远程管理此队列管理器的系统上运行 IBM MQ Console 的 mqweb 服务器的用户标识相同的用户标识。
    • 与随后包含在步骤 7中的 setmqweb remote 命令中的用户标识和密码相匹配的用户标识。 通过在 setmqweb remote 命令中包含用户标识和密码,此用户标识和密码用于在 IBM MQ Console 连接到队列管理器时进行认证。
    • 由通道安全规则确定的用户标识。 例如,您可以在服务器连接通道上设置通道认证规则,以允许来自 IP 地址的连接使用 IBM MQ Console 进行远程管理,并将所有这些连接映射到有权使用队列管理器的特定用户标识。 有关更多信息,请参阅 为通道创建新的 CHLAUTH 规则
  3. [AIX、Linux 和 Windows]如果没有侦听器在远程队列管理器上运行,请使用 DEFINE LISTENER MQSC 命令创建侦听器以接受入局网络连接。
    例如,要在端口 1414 上为远程队列管理器 QM1创建侦听器 REMOTE.LISTENER ,请输入以下 MQSC 命令:
    runmqsc QM1
    DEFINE LISTENER(REMOTE.LISTENER) TRPTYPE(TCP) PORT(1414)
    end
  4. 使用 START LISTENER MQSC 命令确保侦听器正在运行。
    [AIX、Linux 和 Windows]例如,在 AIX, Linux, and Windows 上,要启动队列管理器 QM1的侦听器 REMOTE.LISTENER ,请输入以下 MQSC 命令:
    runmqsc QM1
    START LISTENER(REMOTE.LISTENER)
    end
    [z/OS]例如,在 z/OS上,要启动侦听器,请输入以下 MQSC 命令:
    /cpf START LISTENER TRPTYPE(TCP) PORT(1414)
    请注意,必须先启动通道启动程序地址空间,然后才能在 z/OS上启动侦听器。
  5. 创建包含远程队列管理器连接信息的 JSON CCDT 文件:
    • 使用与您要远程连接到的队列管理器相同的安装相关联的 IBM MQ Console 来生成 CCDT 文件。

      从 " 主页 " 面板中,单击 下载连接文件 磁贴。

    • 创建用于定义连接的 JSON 格式 CCDT 文件。 有关创建 JSON 格式 CCDT 的更多信息,请参阅 配置 JSON 格式 CCDT

      CCDT 文件必须包含 nameclientConnectiontype 信息。 您可以选择包含其他信息,例如 transmissionSecurity 信息。 有关所有 CCDT 通道属性定义的更多信息,请参阅 CCDT 通道属性定义的完整列表

      以下示例显示了用于远程队列管理器连接的基本 JSON CCDT 文件。 它将通道的名称设置为与步骤 1中创建的示例服务器连接通道相同的名称,并将连接端口设置为与侦听器所使用的端口相同的值。 连接主机设置为运行示例远程队列管理器 QM1的系统的主机名:

      {
        "channel": [{
            "name": "QM1.SVRCONN",
            "clientConnection": {
              "connection": [{
                  "host": "example.com",
                  "port": 1414
                }],
              "queueManager": "QM1"
            },
            "type": "clientConnection"
          }]
      }
  6. 将 JSON CCDT 文件复制到运行 IBM MQ Console 的系统。
  7. 在运行 IBM MQ Console的安装中,使用 setmqweb remote 命令将远程队列管理器信息添加到 IBM MQ Console 配置。

    至少,要将远程队列管理器添加到 IBM MQ Console ,您必须提供队列管理器的名称、一个唯一的名称(以区分可能具有相同队列管理器名称的其他远程队列管理器)以及URL。 唯一名称是 IBM MQ Console中的显示名称,因此请指定一个明确表明这是远程队列管理器的名称,例如 "remote-QM2"。 您可以指定多个其他选项,例如用于远程队列管理器连接的用户名和密码,或者信任库和密钥库的详细信息。 要获取可以使用 setmqweb remote 命令指定的参数的完整列表,请参阅 setmqweb remote

    例如,要使用示例 CCDT 文件添加示例远程队列管理器 QM1,请输入以下命令:
    setmqweb remote add -uniqueName "MACHINEAQM1" -qmgrName "QM1" -ccdtURL "c:\myccdts\ccdt.json"

结果

下次刷新远程连接列表时,远程队列管理器将显示在 IBM MQ Console 中的远程队列管理器列表中。 如果连接成功,那么可以采用与使用本地队列管理器的对象相同的方式来管理远程队列管理器的对象。

示例

以下示例为队列管理器 QM1设置远程队列管理器连接。 IBM MQ Console 有权根据授予用户 exampleUser的权限来管理队列管理器。 当 setmqweb remote 命令用于配置远程队列管理器连接信息时,会将此用户的凭证提供给 IBM MQ Console
  1. 在远程队列管理器 QM1 所在的系统上,将创建服务器连接通道和侦听器。 将启动该侦听器,并授予用户 exampleUser 管理队列管理器的权限。 例如,在 AIX, Linux, and Windows上,运行以下命令:
    runmqsc QM1
    #Define the server connection channel that will accept connections from the Console
    DEFINE CHANNEL(QM1.SVRCONN) CHLTYPE(SVRCONN) TRPTYPE(TCP)
    # Define the listener to use for the connection from the Console
    DEFINE LISTENER(REMOTE.LISTENER) TRPTYPE(TCP) PORT(1414)
    # Start the listener
    START LISTENER(REMOTE.LISTENER)
    end
    
    #Set mq authorization for exampleUser to access the queue manager
    setmqaut -m QM1 -t qmgr -p exampleUser +connect +inq +setall +dsp
    
  2. 在运行 IBM MQ Console 的系统上,将使用以下连接信息创建 QM1_ccdt.json 文件:
    {
      "channel": [{
          "name": "QM1.SVRCONN",
          "clientConnection": {
            "connection": [{
                "host": "example.com",
                "port": 1414
              }],
            "queueManager": "QM1"
          },
          "type": "clientConnection"
        }]
    }
    
  3. 在运行 IBM MQ Console 的系统上,队列管理器 QM1 的远程队列管理器连接信息将添加到 mqweb 服务器。 exampleUser 的凭证包含在连接信息中:
    setmqweb remote add -uniqueName "remote-QM1" -qmgrName "QM1" -ccdtURL "c:\myccdts\QM1_ccdt.json" -username "exampleUser" -password "password"
  4. IBM MQ Console 显示了远程队列管理器 QM1。