Visão geral do acelerador de solução de Monitoramento RemotoRemote Monitoring solution accelerator overview

O acelerador de solução de Monitoramento Remoto implementa uma solução de monitoramento de ponta a ponta para vários computadores em locais remotos.The Remote Monitoring solution accelerator implements an end-to-end monitoring solution for multiple machines in remote locations. A solução combina os principais serviços do Azure para fornecer uma implementação genérica de cenário de negócios.The solution combines key Azure services to provide a generic implementation of the business scenario. Você pode usar a solução como um ponto de partida para sua própria implementação e personalizá-la para atender às suas próprias necessidades de negócios específicas.You can use the solution as a starting point for your own implementation and customize it to meet your own specific business requirements.

Este artigo explica alguns dos principais elementos da solução de monitoramento remoto para que você possa entender como ela funciona.This article walks you through some of the key elements of the Remote Monitoring solution to enable you to understand how it works. Esse conhecimento ajuda a:This knowledge helps you to:

  • Solucionar problemas na solução.Troubleshoot issues in the solution.
  • Planejar como personalizar a solução para atender a seus próprios requisitos específicos.Plan how to customize to the solution to meet your own specific requirements.
  • Criar sua própria solução IoT que usa os serviços do Azure.Design your own IoT solution that uses Azure services.

O código do acelerador de solução de monitoramento remoto está disponível no GitHub:The Remote Monitoring solution accelerator code is available on GitHub:

Arquitetura lógicaLogical architecture

O diagrama a seguir descreve os componentes lógicos do acelerador de solução de monitoramento remoto sobreposto na arquitetura de IOT:The following diagram outlines the logical components of the Remote Monitoring solution accelerator overlaid on the IoT architecture:

Arquitetura lógica

Por que os microsserviços?Why microservices?

A arquitetura de nuvem evoluiu desde que a Microsoft lançou os primeiros aceleradores de solução.Cloud architecture has evolved since Microsoft released the first solution accelerators. Os microsserviços foram lançados como uma prática comprovada para obter flexibilidade e escala sem sacrificar a velocidade de desenvolvimento.Microservices have emerged as a proven practice to achieve scale and flexibility without sacrificing development speed. Vários serviços da Microsoft usam esse padrão de arquitetura internamente, com resultados de escalabilidade e confiabilidade excelentes.Several Microsoft services use this architectural pattern internally with great reliability and scalability results. Os aceleradores de solução atualizados colocam estas lições em prática para que você também possa se beneficiar delas.The updated solution accelerators put these learnings into practice so you can also benefit from them.

Dica

Para saber mais sobre as arquiteturas de microsserviço, confira Arquitetura do Aplicativo .NET e Microsserviços: uma revolução de aplicativo fornecida pela nuvem.To learn more about microservice architectures, see .NET Application Architecture and Microservices: An application revolution powered by the cloud.

Conectividade do dispositivoDevice connectivity

A solução inclui os seguintes componentes na parte de conectividade do dispositivo da arquitetura lógica:The solution includes the following components in the device connectivity part of the logical architecture:

Dispositivos reaisReal devices

Você pode conectar dispositivos reais à solução.You can connect real devices to the solution. Você pode implementar o comportamento de seus dispositivos simulados usando as SDKs do dispositivo IoT do Azure.You can implement the behavior of your simulated devices using the Azure IoT device SDKs.

Você pode provisionar dispositivos reais pelo dashboard no portal da solução.You can provision real devices from the dashboard in the solution portal.

Microsserviço de simulação de dispositivoDevice simulation microservice

A solução inclui o microsserviço de simulação de dispositivo que permite que você gerencie um pool de dispositivos simulados do portal de solução para testar o fluxo de ponta a ponta na solução.The solution includes the device simulation microservice that enables you to manage a pool of simulated devices from the solution portal to test the end-to-end flow in the solution. Os dispositivos simulados:The simulated devices:

  • Geram telemetria do dispositivo para a nuvem.Generate device-to-cloud telemetry.
  • Respondem a chamadas de método da nuvem para o dispositivo do Hub IoT.Respond to cloud-to-device method calls from IoT Hub.

O microsserviço fornece um ponto de extremidade RESTful para criar, iniciar e interromper as simulações.The microservice provides a RESTful endpoint for you to create, start, and stop simulations. Cada simulação consiste em um conjunto de dispositivos virtuais de tipos diferentes, que enviam a telemetria e respondem a chamadas de método.Each simulation consists of a set of virtual devices of different types, that send telemetry and respond to method calls.

Você pode provisionar os dispositivos simulados do painel no portal de solução.You can provision simulated devices from the dashboard in the solution portal.

Hub IoTIoT Hub

O Hub IoT absorve os dados de telemetria enviados dos dispositivos reais e simulados para a nuvem.The IoT hub ingests telemetry sent from both the real and simulated devices into the cloud. O hub IoT disponibiliza a telemetria para os serviços no back-end na solução de IoT para processamento.The IoT hub makes the telemetry available to the services in the IoT solution backend for processing.

O hub IoT na solução também:The IoT hub in the solution also:

  • Mantém um registro de identidade que armazena as IDs e as chaves de autenticação de todos os dispositivos permitidos para se conectar ao portal.Maintains an identity registry that stores the IDs and authentication keys of all the devices permitted to connect to the portal.
  • Chama métodos em seus dispositivos em nome do acelerador de solução.Invokes methods on your devices on behalf of the solution accelerator.
  • Mantém dispositivos gêmeos para todos os dispositivos registrados.Maintains device twins for all registered devices. Um dispositivo gêmeo armazena os valores de propriedade relatados por um dispositivo.A device twin stores the property values reported by a device. Um dispositivo gêmeo também armazena propriedades desejadas, definidas no portal de solução para o dispositivo recuperar ao lado se conectar.A device twin also stores desired properties, set in the solution portal, for the device to retrieve when it next connects.
  • Agenda trabalhos para definir propriedades para vários dispositivos ou chama métodos em vários dispositivos.Schedules jobs to set properties for multiple devices or invoke methods on multiple devices.

Processamento de dados e análiseData processing and analytics

A solução inclui os seguintes componentes na parte de análise da arquitetura lógica e processamento de dados:The solution includes the following components in the data processing and analytics part of the logical architecture:

Microsserviço de Gerenciador de Hub IoTIoT Hub manager microservice

A solução inclui o microsserviço do gerente de Hub IoT para manipular as interações com o Hub IoT como:The solution includes the IoT Hub manager microservice to handle interactions with your IoT hub such as:

  • Criação e gerenciamento de dispositivos de IoT.Creating and managing IoT devices.
  • Gerenciamento de dispositivos gêmeos.Managing device twins.
  • Invocação de métodos em dispositivos.Invoking methods on devices.
  • Gerenciamento de credenciais de IoT.Managing IoT credentials.

Este serviço também executa consultas do Hub IoT para recuperar os dispositivos que pertencem a grupos definidos pelo usuário.This service also runs IoT Hub queries to retrieve devices belonging to user-defined groups.

O microsserviço fornece um ponto de extremidade RESTful para gerenciar os dispositivos e os dispositivos gêmeos, invocar métodos e executar consultas do Hub IoT.The microservice provides a RESTful endpoint to manage devices and device twins, invoke methods, and run IoT Hub queries.

Microsserviço de telemetria do dispositivoDevice telemetry microservice

O microsserviço de telemetria do dispositivo fornece um ponto de extremidade RESTful para acesso de leitura a telemetria do dispositivo armazenada no Time Series Insights.The device telemetry microservice provides a RESTful endpoint for read access to device telemetry stored in Time Series Insights. O ponto de extremidade RESTful também permite as operações CRUD em regras e acesso de leitura/gravação para definições de alarme do armazenamento.The RESTful endpoint also enables CRUD operations on rules and read/write access for alarm definitions from storage.

Armazenar o microsserviço de adaptador de armazenamentoStorage adapter microservice

O microsserviço do adaptador de armazenamento gerencia pares de chave-valor, abstraindo a semântica do serviço de armazenamento e apresentar uma interface simples para armazenar dados de qualquer formato usando o Azure Cosmos DB.The storage adapter microservice manages key-value pairs, abstracting the storage service semantics, and presenting a simple interface to store data of any format using Azure Cosmos DB.

Os valores são organizados em coleções.Values are organized in collections. Você pode trabalhar em valores individuais ou buscar coleções inteiras.You can work on individual values or fetch entire collections. Estruturas de dados complexas são serializadas pelos clientes e gerenciadas como conteúdo de texto simples.Complex data structures are serialized by the clients and managed as simple text payload.

O serviço fornece um ponto de extremidade RESTful para operações CRUD em pares chave-valor.The service provides a RESTful endpoint for CRUD operations on key-value pairs. valoresvalues

Azure Cosmos DBAzure Cosmos DB

As implantações do acelerador de solução usam o Azure Cosmos DB para armazenar definições de configuração, alertas, regras e todos os outros armazenamentos frios.Solution accelerator deployments use Azure Cosmos DB to store rules, alerts, configuration settings, and all other cold storage.

Microsserviço de Gerenciador de Stream Analytics do AzureAzure Stream Analytics manager microservice

O microsserviço do gerente do Azure Stream Analytics gerencia trabalhos do Azure Stream Analytics (ASA), incluindo a configuração de sua configuração, iniciando e interrompendo-os e monitorando seu status.The Azure Stream Analytics manager microservice manages Azure Stream Analytics (ASA) jobs, including setting their configuration, starting and stopping them, and monitoring their status.

O trabalho ASA é compatível com dois conjuntos de dados de referência.The ASA job is supported by two reference data sets. Um conjunto de dados define as regras e um deles define grupos de dispositivos.One data set defines rules and one defines device groups. Os dados de referência de regras são gerados a partir das informações gerenciadas pelo microsserviço de telemetria do dispositivo.The rules reference data is generated from the information managed by the device telemetry microservice. O microsserviço do gerente do Azure Stream Analytics transforma as regras de telemetria em lógica de processamento de fluxo.The Azure Stream Analytics manager microservice transforms telemetry rules into stream processing logic.

Os dados de referência de grupos de dispositivo são usados para identificar qual grupo de regras aplicar a uma mensagem de telemetria de entrada.The device groups reference data is used to identify which group of rules to apply to an incoming telemetry message. Os grupos de dispositivos são gerenciados pelo microsserviço de configuração e usam consultas idênticas de dispositivo do Hub IoT do Azure.The device groups are managed by the configuration microservice and use Azure IoT Hub device twin queries.

Os trabalhos ASA entregam a telemetria dos dispositivos conectados ao Time Series Insights para análise e armazenamento.The ASA jobs deliver the telemetry from the connected devices to Time Series Insights for storage and analysis.

Stream Analytics do AzureAzure Stream Analytics

O Azure Stream Analytics é um mecanismo de processamento de eventos que permite examinar grandes volumes de fluxo de dados de dispositivos.Azure Stream Analytics is an event-processing engine that allows you to examine high volumes of data streaming from devices.

Azure Time Series InsightsAzure Time Series Insights

O Azure Time Series Insights armazena a telemetria dos dispositivos conectada ao acelerador da solução.Azure Time Series Insights stores the telemetry from the devices connected to the solution accelerator. Ele também permite visualizar e consultar a telemetria do dispositivo na web de solução da interface do usuário.It also enables visualizing and querying device telemetry in the solution web UI.

Microsserviço de configuraçãoConfiguration microservice

A configuração do microsserviço fornece um ponto de extremidade RESTful para operações CRUD nos grupos de dispositivos, as configurações da solução e configurações de usuário do acelerador de solução.The configuration microservice provides a RESTful endpoint for CRUD operations on device groups, solution settings, and user-settings in the solution accelerator. Funciona com o microsserviço de adaptador de armazenamento para manter os dados de configuração.It works with the storage adapter microservice to persist the configuration data.

Detalhes de autenticação e autorização do microsserviçoAuthentication and authorization microservice

O microsserviço de autenticação e autorização gerencia os usuários autorizados a acessar o acelerador da solução.The authentication and authorization microservice manages the users authorized to access the solution accelerator. Gerenciamento de usuário pode ser feito usando qualquer provedor de serviços de identidade que dá suporte a OpenId Connect.User management can be done using any identity service provider that supports OpenId Connect.

Azure Active DirectoryAzure Active Directory

Implantações de acelerador de solução usam o Azure Active Directory como um provedor do OpenID Connect.Solution accelerator deployments use Azure Active Directory as an OpenID Connect provider. O Azure Active Directory armazena informações de usuário e fornece certificados para validar assinaturas de Token JWT.Azure Active Directory stores user information and provides certificates to validate JWT token signatures.

ApresentaçãoPresentation

A solução inclui os seguintes componentes na parte de apresentação da arquitetura lógica:The solution includes the following components in the presentation part of the logical architecture:

A interface do usuário da web é um aplicativo do React Javascript.The web user interface is a React Javascript application. O aplicativo:The application:

  • Usa somente o Javascript React e é executado totalmente no navegador.Uses Javascript React only and runs entirely in the browser.
  • É projetado com CSS.Is styled with CSS.
  • Interage com microsserviços voltados ao público por meio de chamadas AJAX.Interacts with public facing microservices through AJAX calls.

A interface do usuário apresenta todas as funcionalidades do acelerador de solução e interage com outros microsserviços, como:The user interface presents all the solution accelerator functionality, and interacts with other microservices such as:

  • O microsserviço de autenticação e autorização para proteger os dados de usuário.The authentication and authorization microservice to protect user data.
  • Microsserviço do gerenciador Hub IoT para listar e gerenciar os dispositivos de IoT.The IoT Hub manager microservice to list and manage the IoT devices.

A interface do usuário integra-se ao Azure Time Series Insights Explorer para habilitar a análise de telemetria do dispositivo e consulta.The user interface integrates the Azure Time Series Insights explorer to enable querying and analysis of device telemetry.

O microsserviço de configuração habilita a interface do usuário para armazenar e recuperar as definições de configuração.The configuration microservice enables the user interface to store and retrieve configuration settings.

Próximas etapasNext steps

Se você quiser explorar a documentação do desenvolvedor e do código-fonte, inicie com um os dois repositórios GitHub:If you want to explore the source code and developer documentation, start with one of the two GitHub repositories:

Diagramas detalhados de arquitetura de solução:Detailed solution architecture diagrams:

Para obter mais informações conceituais sobre o acelerador de solução de monitoramento remoto, consulte Personalizar o Solution Accelerator.For more conceptual information about the Remote Monitoring solution accelerator, see Customize the solution accelerator.