You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于IBM Cloud Pak for Integration 3.0.0中MQ实例不支持遥测及MQTT的咨询

解决IBM Cloud Pak for Integration 3.0.0 MQ实例不支持MQTT(Telemetry)的问题

嗨,这个情况我之前处理过——你看到的“telemetry not supported”提示,本质是MQ实例默认没有启用MQTT对应的Telemetry组件,只要补做下面的配置就能搞定,不管你是已经部署好的实例还是以后新建都适用:

一、给已部署的MQ实例开启Telemetry

1. 编辑MQ实例的自定义资源(CR)

你可以通过OpenShift控制台或者oc命令行来修改:

  • 命令行方式:执行这条命令找到并编辑你的MQ实例CR:
    oc edit mqinstance <你的MQ实例名称>
    
  • 控制台方式:进入OpenShift控制台的「Operators → Installed Operators」,找到「IBM MQ」operator,切换到「MQInstances」标签页,找到你的实例后点击「Edit MQInstance」。

2. 添加Telemetry配置段

在CR的spec部分,新增telemetry相关配置,示例如下:

spec:
  # 保留你原来的其他配置(比如队列管理器名称、存储等)
  telemetry:
    enabled: true
    endpoint:
      type: route  # 如果你只需要集群内部访问,可以选cluster-ip
    listeners:
      mqtt:
        port: 1883  # 标准未加密MQTT端口
      mqtts:
        port: 8883  # TLS加密的MQTT端口
  # 可选:如果需要客户端认证,添加这段配置
  telemetryAuthentication:
    clientAuthentication: require
    users:
      - name: mqtt_client_user
        password: <设置你的客户端密码>
        groups:
          - mqtt_clients

提示:如果要启用加密的MQTT(mqtts),你需要配置对应的证书,可以用OpenShift自带的证书管理功能,或者上传自定义CA证书。

3. 保存并等待实例更新

修改完CR后保存,IBM MQ Operator会自动触发实例更新,部署Telemetry相关的服务组件。等实例状态变回Ready就可以了。

二、验证MQTT服务是否正常工作

  1. 回到实例详情页,之前的“telemetry not supported”提示会消失,取而代之的是MQTT的访问地址(如果选了route类型,会生成对应的OpenShift路由)。
  2. 用MQTT客户端工具测试连接,比如用mosquitto命令行工具:
    # 测试未加密MQTT
    mosquitto_sub -h <MQTT路由域名> -p 1883 -t "test/topic" -u "mqtt_client_user" -P "<你的密码>"
    # 测试加密MQTT(需要CA证书)
    mosquitto_sub -h <MQTT路由域名> -p 8883 -t "test/topic" --cafile <CA证书路径> -u "mqtt_client_user" -P "<你的密码>"
    

三、新建实例时提前开启Telemetry的小技巧

如果以后再新建MQ实例,在部署流程的「Advanced configuration」步骤里,找到「Telemetry」选项,直接勾选启用,同时配置好端口、认证方式等参数,这样就不会再出现不支持的提示了。

另外补充下:CP4I 3.0.0对应的是IBM MQ 9.2.x版本,这个版本完全支持Telemetry组件,只要配置正确就能正常使用MQTT协议啦。

内容的提问来源于stack exchange,提问作者Daniele Foti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:23:42