CloudWatch Logs - AWS IoT Core

CloudWatch Logs

A ação do CloudWatch Logs (cloudwatchLogs) envia dados para o Amazon CloudWatch Logs. Você pode usar batchMode para carregar e marcar com data e hora vários registros de log do dispositivo em uma mensagem. Você pode também especificar o grupo de logs para o qual a ação envia dados.

Requisitos

Esta ação de regra tem os seguintes requisitos:

  • Um perfil do IAM que AWS IoT pode assumir a execução de operações logs:CreateLogStream, logs:DescribeLogStreams, e logs:PutLogEvents. Para obter mais informações, consulte Conceder a uma regra AWS IoT o acesso que ela exige.

    No console AWS IoT, você pode escolher ou criar uma função para permitir que AWS IoT execute essa ação de regra.

  • Se você usar uma chave KMS AWS KMS key gerenciada pelo cliente para criptografar dados de log no CloudWatch Logs, o serviço deverá ter permissão para usar a chave KMS em nome do chamador. Para obter mais informações, consulte Criptografia de dados de log no CloudWatch Logs usando o AWS KMS no Manual do usuário do Amazon CloudWatch Logs.

Requisitos de formato de mensagem MQTT para batchMode

Se você usar a ação de regra do CloudWatch Logs com batchMode desativada, não há requisitos de formatação de mensagens do MQTT. (Nota: o batchMode valor padrão do parâmetro é false.) No entanto, se você usar a ação de regra do CloudWatch Logs com a batchMode ativada (o valor do parâmetro é true), as mensagens MQTT contendo registros do lado do dispositivo devem ser formatadas para conter um carimbo de data e hora e uma carga útil da mensagem. Nota: timestamp representa a hora em que o evento ocorreu e é expresso como um número de milissegundos após 1º de janeiro de 1970 00:00:00 UTC.

A seguir está um exemplo do formato de publicação:

[ {"timestamp": 1673520691093, "message": "Test message 1"}, {"timestamp": 1673520692879, "message": "Test message 2"}, {"timestamp": 1673520693442, "message": "Test message 3"} ]

Dependendo de como os registros do lado do dispositivo são gerados, poderá ser necessário filtrá-los e reformatá-los antes de serem enviados para cumprir este requisito.​ Para obter mais informações, consulte Carga útil da mensagem MQTT.

Independentemente do parâmetro batchMode, o message conteúdo deve estar em conformidade com as AWS IoT limitações de tamanho da mensagem. Para obter mais informações, consulte AWS IoT CoreEndpoints e cotas.

Parâmetros

Ao criar uma regra AWS IoT com esta ação, você deve especificar as seguintes informações:

logGroupName

O grupo de logs do CloudWatch para o qual a ação envia dados.

Compatível com modelos de substituição: API e AWS CLI somente

roleArn

O perfil do IAM que permite acessar o grupo de logs do CloudWatch. Para obter mais informações, consulte Requisitos.

Compatível com modelos de substituição: Não

(opcional) batchMode

Indica se lotes de registros de log serão extraídos e enviados para o CloudWatch. Os valores incluem true ou false (padrão). Para obter mais informações, consulte Requisitos.

Compatível com modelos de substituição: Não

Exemplos

O seguinte exemplo de JSON mostra como definir uma ação do CloudWatch Logs em uma regra AWS IoT.

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "cloudwatchLogs": { "logGroupName": "IotLogs", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_cw", "batchMode": false } } ] } }

Consulte também