Quiero solucionar el problema del mensaje «SERVER_INITIATED_DISCONNECT» que recibo en AWS IoT Core.
Resolución
Administración las desconexiones iniciadas por el servidor
Verás el mensaje «SERVER_INITIATED_DISCONNECT» cuando AWS IoT desconecte a tus clientes para realizar un mantenimiento programado. AWS IoT Core realiza un mantenimiento regular para actualizar sus servicios y no tiene un programa de mantenimiento publicado. Es recomendable prepararse para una desconexión. Para más información, consulte Eventos de conexión/desconexión y Límites de duración de la conexión.
Cuando un dispositivo se desconecta de AWS IoT Core, el servicio publica un mensaje en el tema MQTT $aws/events/presence/disconnected/clientId. En el caso de sea una desconexión iniciada por el servidor, el campo disconnectReason aparece como SERVER_INITIATED_DISCONNECT.
Si ves el mensaje «SERVER_INITIATED_DISCONNECT», establece defaultLogLevel de SetV2LoggingOptions como INFO o DEBUG.
Nota: En el caso de que tengas grandes flotas de IoT, puedes provocar costes elevados y experimentar un tráfico de datos excesivo cuando uses INFO o DEBUG. Para más información, consulta ¿Cómo administro los niveles de registro de mis registros de AWS IoT en AWS IoT Core?
Revisión de costes
Cuando te vuelvas a conectar a AWS IoT Core, activa procesos de inicio, como las reglas de AWS IoT, AWS Step Functions y solicitudes de escritura de Amazon DynamoDB. Cuando te vuelves a conectar después de una desconexión iniciada por el servidor, AWS IoT Core continuará midiendo los procesos y es posible que tengas que asumir gastos de procesamiento.
Revisa las métricas para detectar problemas de desconexión
Para entender por qué recibes el mensaje «SERVER_INITIATED_DISCONNECT», utiliza Amazon CloudWatch para cargar los registros del dispositivo y analizar la desconexión. También puedes usar CloudWatch para revisar las métricas de AWS IoT y detectar picos en los procesos para volver a conectar o errores de conexión. O bien, puedes usar el panel de métricas de conectividad de AWS IoT Device Management para comprobar las métricas y las causas de las desconexiones.
Para comprobar los picos en las notificaciones de conexión, puedes usar las métricas de rendimiento del backend de los clientes.
Para más información sobre cómo identificar y solucionar problemas de una desconexión de AWS IoT Core, consulta Solución de problemas para las desconexiones de flotas de dispositivos.
Información relacionada
Supervisión de AWS IoT mediante registros de CloudWatch