Configurar o AWS IoT registro - AWS IoT Core

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurar o AWS IoT registro

Você deve ativar o registro usando o AWS IoT console, a CLI ou a API antes de poder monitorar e registrar AWS IoT atividades. Você pode configurar o registro AWS IoT em três níveis: nível da conta, nível do evento ou nível específico do recurso. O registro em nível de evento e específico de recursos está disponível exclusivamente com o registro V2. Os clientes que usam o registro da V1 devem realizar uma migração para a V2 para acessar esses recursos. Veja os detalhes.

Ao considerar como configurar seu AWS IoT registro, a configuração de registro em nível de conta determina como a AWS IoT atividade será registrada, a menos que especificado de outra forma. Para começar, talvez você queira obter registros detalhados com um nível de registro padrão de INFO ou DEBUG. Depois de analisar os registros iniciais, você pode alterar o nível de registro padrão para um nível menos detalhado, como WARN ou ERROR no nível da conta ou do evento, e definir um nível de registro mais detalhado específico para os recursos que talvez precisem de mais atenção. É possível alterar os níveis de log sempre que quiser.

Este tópico aborda o login na nuvem. AWS IoT Para obter informações sobre registro e monitoramento do lado do dispositivo, consulte Carregar registros do lado do dispositivo para. CloudWatch

Para obter informações sobre registro e monitoramento AWS IoT Greengrass, consulte Registro e monitoramento em AWS IoT Greengrass.

Configurando o login da V2 AWS IoT

Determinando sua versão de registro

A LoggingOptions API GetV2 retornará um NotConfiguredException se o registro V2 não estiver ativado. Esse erro ocorre quando o registro V1 está em uso ou nenhum registro foi configurado.

Entendendo os recursos de registro da V2

O registro V2 fornece dois recursos principais: registro em nível de evento e registro específico de recursos. O registro em nível de evento permite a configuração de registro direcionada com níveis de registro e CloudWatch destinos de grupos de registros personalizáveis. O registro específico de recursos permite filtrar os registros por grupo de coisas, IP de origem, ID do cliente ou ID principal. Juntos, esses recursos fornecem controle granular e visibilidade abrangente das operações de IoT, melhorando a capacidade de pesquisa de registros e reduzindo custos ao eliminar atividades de registro desnecessárias.

Migrar de V1 para V2

Você pode migrar para a geração de registros da V2 usando a LoggingOptions API SetV2 por meio da CLI AWS ou do SDK. Após a migração, encaminha AWS IoT automaticamente todos os registros para o CloudWatch grupo de registros AWSIot 'LogsV2'. Importante: se seus aplicativos ou recursos downstream consumirem informações de 'AWSIotRegistros', atualize-os para usar o caminho do grupo de registros correspondente.

Configurar a função e a política de registro em log

Antes de ativar o login AWS IoT, você deve criar uma função do IAM e uma política que dê AWS IoT permissão para gravar atividades de AWS IoT registro em grupos de CloudWatch registros em seu nome. Você também pode gerar uma função do IAM com as políticas necessárias na seção Logs do AWS IoT console.

nota

Antes de ativar o AWS IoT registro, certifique-se de entender as permissões de acesso aos CloudWatch registros. Os usuários com acesso aos CloudWatch registros podem ver as informações de depuração dos seus dispositivos. Para obter mais informações, consulte Autenticação e controle de acesso para Amazon CloudWatch Logs.

Se você espera altos padrões de tráfego AWS IoT Core devido ao teste de carga, considere desativar o registro de IoT para evitar a limitação. Se for detectado tráfego intenso, nosso serviço poderá desativar o registro em log em sua conta.

Veja a seguir como criar uma função de registro e uma política para AWS IoT Core recursos.

Criar uma função de registro em log

Para criar uma função de registro em log, abra o hub Roles do console do IAM e escolha a opção Criar função.

  1. Em Selecionar tipo de entidade confiável, selecione a opção AWS Serviço. Em seguida, escolha a opção IoT em Caso de uso. Se você não vir a opção IoT, entre e pesquise IoT no menu suspenso Casos de uso para outros serviços da AWS :. Escolha Próximo.

  2. Na página Adicionar permissões, você verá as políticas que são automaticamente anexadas ao perfil de serviço. Escolha Próximo.

  3. Na página Nome, revisão e criação, insira um Nome do perfil e uma Descrição da função para a função e escolha Criar função.

Política de função de registro em log

Os documentos de política a seguir fornecem a política de função e a política de confiança que AWS IoT permitem enviar entradas de registro CloudWatch em seu nome. Se você configurar o registro em nível de evento com um grupo de CloudWatch registros personalizado, deverá atualizar a política de função para incluir o ARN do recurso personalizado.

Se você também tiver permissão AWS IoT Core for LoRaWAN para enviar entradas de registro, verá um documento de política criado para você que registra as duas atividades.

nota

Esses documentos foram criados para você quando você criou a função de registro em log. Os documentos têm variáveis, ${partition}, ${region} , e ${accountId} , que você deve substituir por seus valores.

  • Substitua a partição pela partição da região.

  • Substitua a AWS região pela região que você usa. Certifique-se de usar a mesma AWS região usada para configurar a AWS CLI em seu dispositivo.

  • Substitua o ID da conta pelo ID da sua AWS conta.

Política da função:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:PutMetricFilter", "logs:PutRetentionPolicy", "iot:GetLoggingOptions", "iot:SetLoggingOptions", "iot:SetV2LoggingOptions", "iot:GetV2LoggingOptions", "iot:SetV2LoggingLevel", "iot:ListV2LoggingLevels", "iot:DeleteV2LoggingLevel" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:AWSIotLogsV2:*" ] } ] }

Política de confiança para registrar somente AWS IoT Core atividades:

{ "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

AWS IoT O Logging pode falhar ao publicar o registro no CloudWatch Logs devido à insuficiência de permissões de função do IAM. Quando isso ocorrer, verifique as métricas de CloudWatch registro para investigar e solucionar as falhas.

Configurar o login no AWS IoT (console)

Esta seção descreve como configurar o AWS IoT registro usando o AWS IoT console. Você pode configurar o registro em nível de conta, de evento e de recursos específicos.

Para configurar o AWS IoT registro:
  1. Faça login no AWS IoT console. Para obter mais informações, consulte Abra o AWS IoT console.

  2. No painel de navegação esquerdo, escolha Registros (anteriormente uma seção em Configurações).

  3. Configure o registro em nível de conta: o registro em nível de conta se aplica a toda a sua AWS IoT frota (dispositivos ou endpoints), a menos que seja substituído por configurações específicas de recursos ou de nível de evento.

    1. Em Registro em nível de conta, selecione Gerenciar registro em nível de conta para fazer atualizações.

    2. Marque a caixa de seleção “Ativar registro” para começar a enviar registros para CloudWatch. Quando a opção “Ativar registro” estiver desmarcada, não AWS IoT enviará nenhum CloudWatch registro para grupos de registros, independentemente das configurações de registro em nível de evento ou em nível de recurso.

    3. Em Função de log do IAM, selecione uma função existente na lista suspensa. Você pode ver os detalhes da função para inspecionar as permissões da função. Como alternativa, selecione Criar nova função para configurar uma nova função do IAM. A função de registro fornece políticas que AWS IoT permitem enviar entradas de registro CloudWatch em seu nome. Se você configurar o registro em nível de evento com um grupo de CloudWatch registros personalizado, deverá atualizar a política de função para incluir o ARN desse grupo de registros.

    4. Escolha o nível de registro padrão que corresponde ao nível de detalhe das entradas de registro que você deseja que apareçam nos CloudWatch registros. Nota: O nível de registro “DEBUG” fornece mais detalhes, mas aumenta CloudWatch os custos. CloudWatch os destinos do grupo de registros não podem ser configurados no nível da conta. No entanto, você pode especificar grupos de registros personalizados para tipos de eventos individuais, conforme descrito na seção a seguir.

    5. Escolha Atualizar registro para salvar suas alterações.

  4. O registro em nível de evento permite que você capture seletivamente registros de eventos relevantes e os direcione para grupos de registros dedicados CloudWatch . Isso lhe dá a flexibilidade de organizar registros por casos de uso para melhor visibilidade, compartilhá-los com diferentes públicos e reduzir CloudWatch custos ativando registros e definindo níveis de registro com base na criticidade do evento.

    Configurar o registro em nível de evento: o registro em nível de evento captura AWS IoT eventos específicos, como tentativas de autenticação do cliente. Essas configurações substituem o registro em nível de conta.

    1. Na seção Registro em nível de evento, selecione Gerenciar registro em nível de evento para fazer atualizações.

    2. Por padrão, os tipos de eventos herdam a configuração de registro em nível de conta. Observação: quando o registro específico do recurso é configurado, ele substitui as configurações em nível de conta e evento.

    3. Para modificar as configurações de eventos individuais, clique no valor na linha de eventos correspondente. Você pode ajustar o nível de registro e o destino do grupo de CloudWatch registros. Ao especificar um destino de grupo de CloudWatch registros personalizado, você deve verificar se a política de função do IAM inclui permissões para o novo grupo de registros. A falha na atualização da política de funções AWS IoT impedirá a gravação de registros no grupo de registros personalizados. Depois de fazer sua seleção, clique na marca de seleção para confirmar sua escolha. A coluna “Foi modificado” exibirá “Sim” para indicar alterações pendentes.

    4. Clique em Atualizar registro para aplicar suas alterações ou escolha Cancelar para descartar.

  5. Configurar substituições específicas de recursos: as substituições específicas de recursos aplicam uma configuração de registro aos recursos selecionados. Um recurso pode ser um grupo de coisas, IP de origem, ID do cliente ou ID principal. A configuração de registro específica do recurso substitui as configurações no nível da conta e no nível do evento. Quando ativado, ele gera registros para todos os tipos de eventos no nível de registro configurado para os recursos especificados. Por exemplo, você pode definir o registro em nível de depuração para uma coisa específica e, ao mesmo tempo, manter o registro em nível de informação para todas as outras coisas.

    1. Selecione Adicionar substituições específicas de recursos na seção Substituições específicas de recursos.

    2. Escolha um destino de registro: Thing group, Source IP, Client ID ou Principal ID.

    3. Insira o valor alvo de log correspondente para o tipo de alvo selecionado.

    4. Selecione o nível de registro desejado no menu suspenso na seção Nível de registro específico do recurso.

    5. Clique em Enviar para adicionar a substituição ou em Cancelar para descartar as alterações.

    6. Para modificar uma substituição específica de um recurso existente, marque a caixa de seleção ao lado do recurso e clique em “Remover” para excluir a substituição ou em “Editar” para modificar.

Depois que habilitar o registro em log, acesse Visualizando AWS IoT registros no CloudWatch console para saber mais sobre como visualizar as entradas de log.

Configurar login em nível de conta e evento ( AWS IoT CLI)

Esta seção descreve como configurar o registro global AWS IoT usando a CLI.

Opcionalmente, você pode configurar o registro em nível de evento. O registro em nível de evento captura informações de registro no nível do evento, como eventos de autenticação e autorização ou criação de certificados. Você pode personalizar o nível do registro e os destinos do grupo de CloudWatch registros no nível do evento. O registro em nível de evento opera em um nível mais direcionado em comparação com o registro em nível de conta e, portanto, substitui as configurações de registro em nível de conta. Essa abordagem hierárquica permite que você mantenha diferentes estratégias de registro para diferentes tipos de eventos com base em sua importância operacional e considerações de custo.

nota

É necessário o nome do recurso da Amazon (ARN) da função que você deseja usar. Se você precisar criar uma função a ser usada para o registro em log, consulte Criar uma função de registro em log antes de continuar. Ao especificar um grupo de CloudWatch registros personalizado para qualquer tipo de evento, certifique-se de que sua função de registro tenha as permissões necessárias para o grupo de registros de destino.

A entidade principal usada para chamar a API deve ter Transmitir as permissões de função para sua função de registro em log.

Você também pode realizar esse procedimento com a API usando os métodos na AWS API que correspondem aos comandos da CLI mostrados aqui.

Para usar a CLI para configurar o registro padrão para AWS IoT
  1. Use o comando set-v2-logging-options para definir as opções de registro em log para sua conta.

    aws iot set-v2-logging-options \ --event-configurations event-configuration-list \ --role-arn logging-role-arn \ --default-log-level log-level

    em que:

    --role-arn

    O ARN da função que concede AWS IoT permissão para gravar em seus registros em CloudWatch Logs. A configuração do Role-ARN é necessária para a configuração inicial.

    --default-log-level

    O nível de log a ser usado. Os valores válidos são: ERRORWARN,INFO,DEBUG, ouDISABLED. Default-log-levela configuração é necessária para a configuração inicial.

    --no-disable-all-logs

    Um parâmetro opcional que habilita todo o AWS IoT registro. Use esse parâmetro para habilitar o registro em log se ele estiver desabilitado no momento.

    --disable-all-logs

    Um parâmetro opcional que desativa todo o AWS IoT registro. Use esse parâmetro para desabilitar o registro em log se ele estiver habilitado no momento.

    --event-configurations

    Esse parâmetro é opcional e permite que você personalize as configurações de registro para tipos de eventos individuais:

    • EventType: o tipo de evento que substitui a configuração no nível da conta

    • LogLevel: substitua a configuração no nível da conta por DEBUG, INFO, ERROR, WARN ou DISABLED

    • LogDestination: especifique um grupo de CloudWatch registros personalizado para entrega de registros

    Você pode configurar o nível e o destino do registro de forma independente para cada tipo de evento. Se não forem especificados, os eventos herdarão as configurações no nível da conta

    aws iot set-v2-logging-options \ --event-configurations "[{\"eventType\":\"Publish-In\",\"logLevel\":\"INFO\",\"logDestination\":\"examplePublishInLogGroup\"}]"
  2. Use o comando get-v2-logging-options para obter as opções de registro em log atuais.

    aws iot get-v2-logging-options \ --verbose

    em que:

    --verbose

    Um parâmetro opcional que permite recuperar todos os tipos de eventos e suas configurações.

Depois que habilitar o registro em log, acesse Visualizando AWS IoT registros no CloudWatch console para saber mais sobre como visualizar as entradas de log.

nota

AWS IoT continua oferecendo suporte a comandos mais antigos (set-logging-optionseget-logging-options) para definir e obter o registro global em sua conta. Lembre-se de que, quando esses comandos são usados, os logs resultantes conterão texto sem formatação, em vez de cargas úteis JSON, e a latência dos registros em logs geralmente será mais alta. Não haverá mais melhorias à implementação desses comandos mais antigos. Recomendamos que você use as versões “v2" para configurar suas opções de registro e, quando possível, alterar os aplicativos legados que usam as versões mais antigas.

Configurar substituições específicas de recursos em (CLI) AWS IoT

Esta seção descreve como configurar substituições específicas de recursos usando AWS IoT a CLI. As substituições específicas de recursos permitem que você especifique um nível de registro para um recurso específico identificado por Thing Group, ID do cliente, IP de origem ou ID principal. Quando o registro específico do recurso está ativado, ele substitui as configurações no nível da conta e no nível do evento. Todos os tipos de eventos gerarão registros para o recurso especificado no nível de registro configurado, mesmo que esses eventos estejam desativados nas configurações em nível de evento.

Grupos de objetos podem conter outros grupos de objetos para criar um relacionamento hierárquico. Este procedimento descreve como configurar o registro em log de um único grupo de objetos. É possível aplicar esse procedimento ao grupo de objetos pai em uma hierarquia para configurar o registro em log para todos os grupos de objetos na hierarquia. Também é possível aplicar esse procedimento a um grupo de objetos filho para substituir a configuração de registro em log do grupo pai.

Uma coisa pode ser membro de um grupo de coisas. Essa associação permite que a coisa herde configurações, políticas e definições aplicadas ao grupo de coisas. Grupos de coisas são usados para gerenciar e aplicar configurações a várias coisas coletivamente, em vez de lidar com cada coisa individualmente. Quando seu ID de cliente corresponder ao nome da coisa, AWS IoT Core associará automaticamente a sessão do cliente ao recurso correspondente. Isso permite que a sessão do cliente herde as configurações e as definições aplicadas aos grupos de coisas aos quais a coisa pertence, incluindo os níveis de registro em log. Se seu ID do cliente não corresponder ao nome da coisa, você poderá habilitar o anexo de coisa exclusiva para estabelecer a associação. Para obter mais informações, consulte Associando qualquer AWS IoT coisa a uma conexão de cliente MQTT.

Além dos grupos de objetos, você também pode registrar destinos como o ID do cliente, o IP de origem e o ID principal do dispositivo.

nota

É necessário o nome do recurso da Amazon (ARN) da função que você deseja usar. Se você precisar criar uma função a ser usada para o registro em log, consulte Criar uma função de registro em log antes de continuar.

A entidade principal usada para chamar a API deve ter Transmitir as permissões de função para sua função de registro em log.

Você também pode realizar esse procedimento com a API usando os métodos na AWS API que correspondem aos comandos da CLI mostrados aqui.

Para usar a CLI para configurar substituições específicas de recursos para AWS IoT
  1. Ative o registro em nível de conta antes de configurar o registro específico do recurso usando o seguinte comando: comando aws iot set-v2-logging-options

  2. Use o set-v2-logging-levelcomando para configurar substituições específicas de recursos. Veja o exemplo a seguir para configuração de grupos de coisas:

    aws iot set-v2-logging-level \ --log-target targetType=THING_GROUP,targetName=thing_group_name \ --log-level log_level
    --log-target

    O tipo e o nome do recurso para o qual você está configurando o registro em log. O valor targetType deve ser um dos seguintes: THING_GROUP | CLIENT_ID | SOURCE_IP |PRINCIPAL_ID. O valor do parâmetro-alvo de log pode ser texto, como mostrado no exemplo de comando anterior, ou uma string JSON, como o exemplo a seguir.

    aws iot set-v2-logging-level \ --log-target '{"targetType": "THING_GROUP","targetName": "thing_group_name"}' \ --log-level log_level
    --log-level

    O nível de registro em log usado ao gerar logs para o recurso especificado. Os valores válidos são: DEBUG, INFO, ERROR, WARN e DISABLED.

  3. Use o comando list-v2-logging-levels para listar os níveis de registro em log configurados no momento.

    aws iot list-v2-logging-levels
  4. Use o comando delete-v2-logging-level para excluir um nível de registro em log específico de recursos, conforme os exemplos seguintes.

    aws iot delete-v2-logging-level \ --target-type "THING_GROUP" \ --target-name "thing_group_name"
    aws iot delete-v2-logging-level \ --target-type=CLIENT_ID --target-name=ClientId1
    --target-type

    O valor target-type deve ser um dos seguintes: THING_GROUP | CLIENT_ID | SOURCE_IP |PRINCIPAL_ID.

    --target-name

    O nome do grupo de objetos do qual remover o nível de registro em log.

Níveis de logs

Esses níveis de log determinam os eventos que são registrados em log e se aplicam aos níveis de log padrão e de recursos específicos.

ERRO

Qualquer erro que cause a falha de uma operação.

Exemplo: falha na autenticação do dispositivo devido ao certificado expirado.

Os logs incluem apenas informações do tipo ERRO.

WARN

Tudo que possa causar inconsistências no sistema, mas que não cause falha na operação.

Exemplo: aproximação do limite de taxa de mensagens.

Os logs incluem informações dos tipos ERRO e AVISO.

INFORMAÇÕES

Informações de alto nível sobre o fluxo das objetos.

Exemplo: um cliente se inscreveu com sucesso em um tópico do MQTT.

Os logs incluem informações dos tipos INFORMAÇÕES, ERRO e AVISO.

DEBUG

Informações que podem ser úteis ao depurar um problema.

Exemplo: o IoT Rules Engine detectou uma mensagem publicada no tópico de regras “regra/teste” e iniciou a execução com sucesso. A regra está configurada com RepublishAction.

Os logs incluem informações dos tipos DEBUG, INFORMAÇÕES, ERRO e AVISO.

DISABLED

Todos os registros são desativados.