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 CloudWatch, onde é possível visualizar o número de sensores que apresentam riscos potenciais de alta temperatura e definir alarmes. Para concluir este tutorial, você utilizará a AWS CLI.

Neste tutorial, você aprenderá:

A conclusão deste tutorial requer cerca de 15 minutos.

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. Cado 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. Você cria a métrica da frota para monitorar o número de sensores com temperaturas superiores a 80 graus Fahrenheit in. 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 significa consultar todas as coisas com nomes começando com TempSensore 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, você especifica contagem para o tipo de agregação e Estatísticas para retornar a contagem de dispositivos que têm atributos que correspondem à consulta, em outras palavras, para retornar a contagem dos dispositivos com nomes começando com TempSensore com temperaturas superiores a 80 graus Fahrenheit. Para obter mais informações, consulte Consultar dados agregados.

    A saída desse comando é semelhante ao seguinte:

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

    Pode levar um momento para que os pontos de dados sejam exibidos 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 ao 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" }

Veja as métricas da frota em CloudWatch

Depois de criar a métrica da frota, você pode visualizar os dados métricos em CloudWatch. Neste tutorial, você verá a métrica que mostra o número de sensores com nomes começando com TempSensore com temperaturas superiores a 80 graus Fahrenheit.

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

  2. No CloudWatch menu no painel esquerdo, escolha Métricas para expandir o submenu e, em seguida, escolha 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 guias Todas as métricas lista todas as métricas que você pode visualizar em grupos, escolha IoT FleetMetrics. 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 da frota
    nota

    O atributo Período tem CloudWatch como padrão 5 minutos. É o intervalo de tempo entre os pontos de dados exibidos 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 CloudWatch menu no painel esquerdo, escolha Alarmes para expandir o submenu e, em seguida, escolha 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 Usando CloudWatch alarmes da Amazon.

Para saber mais, leia Como usar CloudWatch métricas da Amazon.

Se você não conseguir ver os pontos de dados CloudWatch, leia Solução de problemas nas métricas da 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

Para limpar as métricas em CloudWatch

CloudWatch não suporta a exclusão de métricas. As métricas expiram baseadas em seus cronogramas de retenção. Para saber mais, use as CloudWatch métricas da Amazon.