Quero solucionar a mensagem "SERVER_INITIATED_DISCONNECT" que recebo no AWS IoT Core.
Resolução
Gerenciar desconexões iniciadas pelo servidor
Você recebe a mensagem "SERVER_INITIATED_DISCONNECT" porque o AWS IoT desconecta seus clientes para manutenção programada. O AWS IoT Core realiza manutenção periódica para atualizar seus serviços e não tem um cronograma de manutenção publicado. É uma prática recomendada se preparar para uma desconexão. Para mais informações, consulte Eventos de conexão/desconexão e Limites de duração da conexão.
Quando um dispositivo se desconecta do AWS IoT Core, o serviço publica uma mensagem no tópico do MQTT $aws/events/presence/disconnected/clientId. Para uma desconexão iniciada pelo servidor, o campo disconnectReason é exibido como SERVER_INITIATED_DISCONNECT.
Se você receber a mensagem "SERVER_INITIATED_DISCONNECT", defina defaultLogLevel de SetV2LoggingOptions como INFO ou DEBUG.
Observação: para grandes frotas de IoT, é possível incorrer em altos custos e experimentar alto tráfego de dados ao usar INFO ou DEBUG. Para mais informações, consulte Como gerenciar da melhor maneira possível os níveis de log em log do AWS IoT no AWS IoT Core?
Analisar os custos
Ao se reconectar ao AWS IoT Core, você inicia processos de inicialização, como regras do AWS IoT, AWS Step Functions e solicitações de gravação do Amazon DynamoDB. Quando você se reconecta após uma desconexão iniciada pelo servidor, o AWS IoT Core continua a medir os processos e você incorre em cobranças de processo.
Analisar as métricas quanto a problemas de desconexão
Para entender por que você recebe a mensagem "SERVER_INITIATED_DISCONNECT", use o Amazon CloudWatch para fazer upload de logs do lado do dispositivo e analisar a desconexão. Também é possível usar o CloudWatch para analisar as métricas do AWS IoT quanto a picos de reconexões ou erros de conexão. Ou use o painel de métricas de conectividade do AWS IoT Device Management para verificar métricas e causas de desconexão.
Para verificar picos nas notificações de conexão, é possível usar métricas de desempenho de backend do cliente.
Para mais informações sobre como identificar e solucionar problemas de uma desconexão do AWS IoT Core, consulte Solução de problemas de desconexões da frota de dispositivos.
Informações relacionadas
Monitor AWS IoT using CloudWatch Logs (Monitorar o AWS IoT usando CloudWatch Logs)