Como gerenciar da melhor maneira possível os níveis de log em log do AWS IoT no AWS IoT Core?

5 minuto de leitura
0

Quero seguir práticas recomendadas ao configurar meus logs do AWS IoT no AWS IoT Core para reduzir custos e tráfego de dados.

Breve descrição

**Observação:**A resolução a seguir é somente para os logs v2 do AWS IoT Core.

Como prática recomendada, saiba quais recursos do AWS IoT Core você deve monitorar e em que nível. Divida seus recursos do AWS IoT Core e, em seguida, atribua a cada segmento um nível de log adequado. Você pode definir níveis de log padrão ou níveis de log específicos para seus recursos.

Por exemplo, configure o registro padrão para ter um nível de log menos detalhado, como ERROR ou WARN. Quando você configura o logging padrão, a configuração é aplicada a todos os recursos que não têm o logging específico do recurso configurado. Para ter um nível mais detalhado, como INFO ou DEBUG, configure o logging específico do recurso. Você pode configurar o logging em nível de recurso para diferentes tipos de destino, como THING_GROUP, CLIENT\ _ID, SOURCE\ _IP ou PRINCIPAL\ _ID.

É possível usar simultaneamente o logging padrão e o logging específico de recursos.

**Importante:**Com base no tamanho da sua frota do AWS IoT Core, níveis de log mais detalhados podem gerar custos mais altos e ser mais difíceis de solucionar. Níveis de registro em log mais detalhados também geram maior tráfego de dados. É uma prática recomendada usar INFO ou DEBUG somente para solucionar problemas temporariamente. Depois de solucionar o problema, redefina os níveis de log para um nível menos detalhado. Para obter mais informações sobre os níveis de registro, consulte Níveis de log.

Resolução

Pré-requisitos:

  • Você instalou a AWS Command Line Interface (AWS CLI) em sua máquina local com as credenciais de permissão de administrador do AWS IoT. A região padrão da AWS para o AWS CLI deve apontar para a região alvo da AWS.
  • Você deve ter clientes conectados ao seu AWS IoT Core, seja como coisas da AWS IoT registradas ou não registradas.

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solucionar erros da AWS CLI. Além disso, certifique-se de que você está usando a versão mais recente da AWS CLI.

Use o logging padrão para reduzir os custos e o tráfego de dados

Ao definir o nível de log padrão para seus logs do AWS IoT como ERROR ou WARN, você pode analisar logs de erro ou de aviso. Esses níveis detalhados reduzem seus custos e seu tráfego de dados. Para mais informações, consulte How do I configure the default logging settings for AWS IoT Core?

**Observação:**Se você criar um caso do AWS Support, deverá fornecer os logs do AWS IoT Core.

Cria logs de recursos manualmente

Para obter informações sobre como criar logs para recursos manualmente, consulte Como configuro os níveis de logging manualmente para recursos específicos no AWS IoT Core?

Crie log de recursos dinamicamente

Para obter mais informações sobre como criar logs de recursos dinamicamente, consulte Como configuro os níveis de logging dinamicamente para recursos específicos no AWS IoT Core?

Monitore entradas de log

Você pode monitorar suas entradas de log do AWS IoT com o console do Amazon CloudWatch ou com a AWS CLI.

Console do CloudWatch

Para monitorar seus registros do AWS IoT no console do CloudWatch, consulte Visualizar os logs do AWS IoT no console do CloudWatch.

AWS CLI

Para obter seus logs na AWS CLI, execute o comando filter-log-events. Substitua YourStartTimeInMilliseconds pela sua hora de início em milissegundos:

aws logs filter-log-events --log-group-name AWSIotLogsV2 \
 --start-time YourStartTimeInMilliseconds

**Observação:**É possível usar o --filter-pattern para procurar atributos de log específicos. Para obter mais informações, consulte Sintaxe de filtro e padrão para filtros métricos, filtros de assinatura, eventos de logs de filtro e Live Tail.

O valor logLevel é o nível de log configurado para o destino. Neste exemplo, o nível de log do alvo é INFO:

{
 "timestamp": "2017-08-10 15:37:23.476",
 "logLevel": "INFO",
 "traceId": "20b23f3f-d7f1-feae-169f-82263394fbdb",
 "accountId": "123456789012",
 "status": "Success",
 "eventType": "Connect",
 "protocol": "MQTT",
 "clientId": "abf27092886e49a8a5c1922749736453",
 "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a123456",
 "sourceIp": "123.123.123.123",
 "sourcePort": 13490
}

Observação: CLIENT_ID está disponível somente ao se conectar ao AWS IoT Core usando os protocolos MQTT ou MQTT via WSS. O protocolo HTTPS não oferece suporte a IDs de clientes. Em vez disso, use os tipos de destino SOURCE_IP ou PRINCIPAL_ID.

Editar ou excluir níveis de log

Você pode alterar o nível de log padrão e o nível de log específico do recurso a qualquer momento. A alteração pode levar até 10 minutos para ser concluída.

Execute o comando delete-v2-logging-level da AWS CLI. Substitua YourTargetName pelo nome do seu alvo:

aws iot delete-v2-logging-level \
 --target-type "THING_GROUP | CLIENT_ID | SOURCE_IP | PRINCIPAL_ID" \
 --target-name YourTargetName

Informações relacionadas

Endpoints e cotas do AWS IoT Device Management

Monitorar o AWS IoT

Preços do AWS IoT Device Management

AWS OFICIAL
AWS OFICIALAtualizada há 7 meses