Resolución de problemas si el cliente MQTT no puede conectarse
Si el cliente MQTT no puede conectarse a un canal de telemetría, puede deber varios motivos.
Procedimiento
Tenga en cuenta las causas siguientes para diagnosticar este problema con un cliente MQTT que falla al conectarse:
- Compruebe que el gestor de colas y el servicio de telemetría (MQXR) se estén ejecutando.
Inicie el gestor de colas. De forma predeterminada, el servicio MQXR debe iniciarse con el gestor de colas. Si ha configurado el control de servicio MQXR para que se inicie manualmente, es posible que tenga que iniciar el servicio desde la carpeta Servicios. Para obtener más información sobre cómo iniciar el servicio MQXR, consulte Inicio y detención del servicio MQXR.
- Compruebe que el canal de telemetría y el servicio de telemetría (MQXR) estén definidos y se ejecuten correctamente.
Puede definir manualmente el servicio MQXR y establecer la cola de transmisión predeterminada del gestor de colas en
SYSTEM.MQTT.TRANSMIT.QUEUE
, que tiene prioridad sobre otras colas de transmisión predeterminadas existentes. Esto hace que el gestor de colas sea adecuado para la telemetría. También puede considerar la ejecución del asistente Definir configuración de ejemplo a partir de la página de bienvenida de la telemetría si aún no lo ha hecho. - ¿Ha escrito su propio cliente?
Si lo ha hecho, ¿ha escrito la aplicación de cliente utilizando el protocolo MQTT versión 3 y no la versión 5? Intente aislar el problema ejecutando el programa de utilidad MQTT.
- ¿Tiene un nombre identificador de cliente válido?
Al conectarse a IBM® MQ, el identificador de cliente MQTT debe tener menos de 23 caracteres y contener sólo caracteres alfanuméricos, caracteres numéricos y los signos punto (.), la barra inclinada (/), el guión bajo (_) y el signo de porcentaje (%).
- ¿Se ha conectado al cliente MQTT y ha agotado el intervalo Mantener activo MQTT?
El atributo mantener activo es el intervalo en milisegundos tras el cual el cliente MQTT se desconecta por inactividad. Si el servicio MQXR no recibe ninguna comunicación del cliente dentro del intervalo de mantenerse activo, se desconecta del cliente.
- ¿Se están intentando conectar un gran número de clientes MQTT a un canal de telemetría al mismo tiempo?
Todos los canales de telemetría tienen el atributo acumulación. Éste es el número de solicitudes de conexiones concurrentes que puede soportar el canal de telemetría. Asegúrese de que el valor no está establecido en un número inferior al número de clientes MQTT que están intentando conectarse.
- Compruebe que la conexión TCP/IP sigue activa.