Tutorial de inicialização - 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á.

Tutorial de inicialização

Neste tutorial, você criará uma métrica de frota para monitorar as temperaturas de seus sensores e detectar possíveis anomalias. Ao criar a métrica da frota, você define uma consulta de agregação para detectar o número de sensores com temperaturas superiores a 80 graus Fahrenheit. Você especifica a consulta a ser executada a cada 60 segundos e os resultados da consulta são emitidos para o CloudWatch, onde você pode visualizar o número de sensores com potenciais riscos de alta temperatura e definir alarmes. Para concluir este tutorial, você utilizará a AWS CLI.

Neste tutorial, você aprenderá:

Este tutorial leva cerca de 15 minutos para ser concluído.

Pré-requisitos

Configuração

Para usar as métricas de frota, ative a indexação de frotas. Para habilitar a indexação de frotas para suas objetos ou grupos de objetos com fontes de dados especificadas e configurações associadas, siga as instruções de Gerenciar a indexação de objetos e Gerenciar a indexação de grupos de objetos.

Realização da configuração
  1. Execute o seguinte comando para ativar a indexação de frotas e especificar as fontes de dados a partir das quais pesquisar.

    aws iot update-indexing-configuration \ --thing-indexing-configuration "thingIndexingMode=REGISTRY_AND_SHADOW,customFields=[{name=attributes.temperature,type=Number},{name=attributes.rackId,type=String},{name=attributes.stateNormal,type=Boolean}],thingConnectivityIndexingMode=STATUS" \

    O exemplo de comando da CLI anterior permite que a indexação de frotas ofereça suporte à pesquisa de dados de registro, dados de sombra e status de conectividade de objetos usando o índice AWS_Things.

    Pode levar alguns minutos para que a alteração de configuração seja concluída. Antes de criar métricas de frota, verifique se a indexação da frota está ativada.

    Execute o seguinte comando da CLI para verificar se a indexação da frota foi ativada:

    aws --region us-east-1 iot describe-index --index-name "AWS_Things"

    Para obter mais informações, consulte Habilitar a indexação de itens.

  2. Execute o script bash a seguir para criar dez objetos e descrevê-las.

    # Bash script. Type `bash` before running in other shells. Temperatures=(70 71 72 73 74 75 47 97 98 99) Racks=(Rack1 Rack1 Rack2 Rack2 Rack3 Rack4 Rack5 Rack6 Rack6 Rack6) IsNormal=(true true true true true true false false false false) for ((i=0; i < 10; i++)) do thing=$(aws iot create-thing --thing-name "TempSensor$i" --attribute-payload attributes="{temperature=${Temperatures[@]:$i:1},rackId=${Racks[@]:$i:1},stateNormal=${IsNormal[@]:$i:1}}") aws iot describe-thing --thing-name "TempSensor$i" done

    O script cria dez objetos para representar dez sensores. Cada objeto tem atributos de temperature, rackId e stateNormal, conforme descrito na seguinte tabela:

    Atributo Tipo de dados Descrição
    temperature Número Valor da temperatura em Fahrenheit
    rackId String ID do rack do servidor contendo sensores
    stateNormal Booleano Se o valor da temperatura do sensor é normal ou não

    A saída desse script contém dez arquivos JSON. Um dos arquivos JSON tem a seguinte aparência:

    { "version": 1, "thingName": "TempSensor0", "defaultClientId": "TempSensor0", "attributes": { "rackId": "Rack1", "stateNormal": "true", "temperature": "70" }, "thingArn": "arn:aws:iot:region:account:thing/TempSensor0", "thingId": "example-thing-id" }

    Para obter mais informações, consulte Criar um objeto.

Criação de métricas de frota

Para criar uma métrica de frota
  1. Execute o comando a seguir para criar uma métrica de frota nomeada high_temp_FM. A métrica da frota é criada para monitorar o número de sensores com temperaturas que excedem 80 graus Fahrenheit no CloudWatch.

    aws iot create-fleet-metric --metric-name "high_temp_FM" --query-string "thingName:TempSensor* AND attributes.temperature >80" --period 60 --aggregation-field "attributes.temperature" --aggregation-type name=Statistics,values=count

    --metric-name

    Tipo de dados: string. O parâmetro --metric-name especifica o nome da métrica da frota. Neste exemplo, você está criando uma métrica de frota chamada high_temp_FM.

    --query-string

    Tipo de dados: string. O parâmetro --query-string especifica a string de consulta. Neste exemplo, a string de consulta indica que se consulte todas as objetos cujos nomes começam com TempSensor e com temperaturas superiores a 80 graus Fahrenheit. Para obter mais informações, consulte Sintaxe de consulta.

    --period

    Tipo de dados: inteiro. O parâmetro --period especifica o tempo, em segundos, até a recuperação dos dados agregados. Neste exemplo, está especificado que a métrica de frota criada por você recupera os dados agregados a cada 60 segundos.

    --aggregation-field

    Tipo de dados: string. O parâmetro --aggregation-field especifica o atributo a ser avaliado. Neste exemplo, o atributo a ser avaliado é a temperatura.

    --aggregation-type

    O parâmetro --aggregation-type especifica o resumo estatístico a ser exibido na métrica da frota. Para tarefas de monitoramento, é possível personalizar as propriedades das consultas de agregação conforme os diferentes tipos de agregação (estatística, cardinalidade e percentual). Neste exemplo, especifica-se contagem como tipo de agregação e Estatísticas para retorno da contagem de dispositivos que têm atributos correspondentes à consulta. Em outras palavras, para retornar a contagem dos dispositivos com nomes que comecem com TempSensor e com temperaturas maiores que 80 graus Fahrenheit. Para obter mais informações, consulte Consultar dados agregados.

    A saída desse comando é semelhante à seguinte:

    { "metricArn": "arn:aws:iot:region:111122223333:fleetmetric/high_temp_FM", "metricName": "high_temp_FM" }
    nota

    Os pontos de dados podem levar alguns instantes até que sejam exibidos no CloudWatch.

    Para saber mais sobre a criação de uma métrica de frota, leia Gerenciar métricas de frota.

    Se você não conseguir criar uma métrica de frota, leia Solução de problemas de métricas de frota.

  2. (Opcional) Execute o seguinte comando para descrever uma métrica de frota nomeada high_temp_FM:

    aws iot describe-fleet-metric --metric-name "high_temp_FM"

    A saída desse comando é semelhante à seguinte:

    { "queryVersion": "2017-09-30", "lastModifiedDate": 1625249775.834, "queryString": "*", "period": 60, "metricArn": "arn:aws:iot:region:111122223333:fleetmetric/high_temp_FM", "aggregationField": "registry.version", "version": 1, "aggregationType": { "values": [ "count" ], "name": "Statistics" }, "indexName": "AWS_Things", "creationDate": 1625249775.834, "metricName": "high_temp_FM" }

Visualizar métricas no CloudWatch

Depois de criar uma métrica de frota, é possível visualizar os dados da métrica no CloudWatch. Neste tutorial, você verá a métrica que exibe o número de sensores com nomes que comecem com TempSensor e com temperaturas maiores que 80 graus Fahrenheit.

Para visualizar pontos de dados no CloudWatch
  1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

  2. No menu do CloudWatch no painel esquerdo, selecione Métricas para expandir o submenu e, depois, selecione Todas as métricas. Isso abrirá a página com uma metade superior para exibir o gráfico e uma metade inferior que contém quatro seções com guias.

  3. A primeira seção com guia, Todas as métricas, lista todas as métricas que você pode visualizar em grupos. Selecione IotFleetMetrics. Aqui estão todas as métricas da sua frota.

  4. Na seção Tipo de agregação da guia Todas as métricas, selecione Tipo de agregação para visualizar todas as métricas de frota criadas por você.

  5. Selecione a métrica da frota para exibir o gráfico à esquerda da seção Tipo de agregação. Você verá a contagem de valores à esquerda do Nome da métrica, e esse é o valor do tipo de agregação especificado na seção Criação de métricas de frota deste tutorial.

  6. Escolha a segunda guia, chamada Métricas gráficas, à direita da guia Todas as métricas, para ver a métrica da frota que você escolheu na etapa anterior.

    Você deve conseguir ver um gráfico exibindo o número de sensores com temperaturas maiores que 80 graus Fahrenheit, como este:

    AWS IoT Métricas de frota
    nota

    O atributo Período no CloudWatch é, por padrão, 5 minutos. É o intervalo de tempo entre os pontos de dados que são exibidos no CloudWatch. É possível alterar a configuração de Período conforme as suas necessidades.

  7. (Opcional) É possível definir um alarme métrico.

    1. No menu do CloudWatch no painel esquerdo, selecione Alarmes para expandir o submenu e, depois, selecione Todos os alarmes.

    2. Na página Alarmes, selecione Criar alarme no canto superior direito. Siga as instruções de Criar alarme no console para criar um alarme adequado ao caso de uso. Para obter mais informações, consulte Uso de alarmes do Amazon CloudWatch.

Para saber mais, consulte Usar métricas do Amazon CloudWatch.

Se não conseguir ver pontos de dados no CloudWatch, consulte Solução de problemas de métricas de frota.

Limpeza

Exclusão de métricas de frotas

Deve-se usar o comando delete-fleet-metric da CLI para excluir as métricas de frota.

Execute o seguinte comando para excluir a métrica de frota nomeada high_temp_FM.

aws iot delete-fleet-metric --metric-name "high_temp_FM"

Limpeza de objetos

Deve-se usar o comando delete-thing da CLI para excluir objetos.

Execute o script a seguir para excluir as dez objetos criadas:

# Bash script. Type `bash` before running in other shells. for ((i=0; i < 10; i++)) do thing=$(aws iot delete-thing --thing-name "TempSensor$i") done

Limpeza de métricas no CloudWatch

O CloudWatch não é compatível com a exclusão de métricas. As métricas expiram baseadas em seus cronogramas de retenção. Para saber mais, Usar métricas do Amazon CloudWatch.