Panoramica dell'acceleratore di soluzioni di monitoraggio remotoRemote Monitoring solution accelerator overview

L'acceleratore di soluzioni di monitoraggio remoto implementa una soluzione di monitoraggio end-to-end per più computer in località remote.The Remote Monitoring solution accelerator implements an end-to-end monitoring solution for multiple machines in remote locations. La soluzione combina i servizi chiave di Azure per offrire un'implementazione generica dello scenario aziendale.The solution combines key Azure services to provide a generic implementation of the business scenario. È possibile usare la soluzione come punto di partenza per l'implementazione e personalizzarla in base ai requisiti aziendali specifici.You can use the solution as a starting point for your own implementation and customize it to meet your own specific business requirements.

Questo articolo illustra alcuni degli elementi principali della soluzione di monitoraggio remoto per comprenderne il funzionamento.This article walks you through some of the key elements of the Remote Monitoring solution to enable you to understand how it works. Queste informazioni consentono di:This knowledge helps you to:

  • Risolvere i problemi nella soluzione.Troubleshoot issues in the solution.
  • Pianificare come personalizzare la soluzione per soddisfare requisiti specifici.Plan how to customize to the solution to meet your own specific requirements.
  • Progettare la propria soluzione IoT che usa i servizi di Azure.Design your own IoT solution that uses Azure services.

Il codice dell'acceleratore di soluzione di monitoraggio remoto è disponibile su GitHub:The Remote Monitoring solution accelerator code is available on GitHub:

Architettura logicaLogical architecture

Nel diagramma seguente vengono descritti i componenti logici dell'acceleratore di soluzioni di monitoraggio remoto sovrapposti all'architettura IoT:The following diagram outlines the logical components of the Remote Monitoring solution accelerator overlaid on the IoT architecture:

Architettura logica

Perché usare i microservizi?Why microservices?

Da quando Microsoft ha rilasciato i primi acceleratori di soluzioni, l'architettura cloud si è evoluta.Cloud architecture has evolved since Microsoft released the first solution accelerators. I microservizi rappresentano un metodo collaudato per ottenere scalabilità e flessibilità senza compromettere la velocità di sviluppo.Microservices have emerged as a proven practice to achieve scale and flexibility without sacrificing development speed. Diversi servizi Microsoft usano questo modello di architettura internamente con risultati straordinari in termini di scalabilità e affidabilità.Several Microsoft services use this architectural pattern internally with great reliability and scalability results. Gli acceleratori di soluzioni aggiornati mettono in pratica quanto appreso con l'esperienza, in modo che tutti possano trarne vantaggio.The updated solution accelerators put these learnings into practice so you can also benefit from them.

Suggerimento

Per altre informazioni sulle architetture dei microservizi, vedere .NET Application Architecture (Architettura delle applicazioni .NET) e Microservices: An application revolution powered by the cloud (Microservizi: una rivoluzione delle applicazioni basata sul cloud).To learn more about microservice architectures, see .NET Application Architecture and Microservices: An application revolution powered by the cloud.

Connettività dei dispositiviDevice connectivity

La soluzione include i componenti seguenti nella parte dell'architettura logica relativa alla connettività dei dispositivi:The solution includes the following components in the device connectivity part of the logical architecture:

Dispositivi realiReal devices

È possibile connettere dispositivi reali alla soluzione.You can connect real devices to the solution. È possibile implementare il comportamento dei dispositivi simulati usando Azure IoT SDK per dispositivi.You can implement the behavior of your simulated devices using the Azure IoT device SDKs.

È possibile effettuare il provisioning di dispositivi reali dal dashboard nel portale della soluzione.You can provision real devices from the dashboard in the solution portal.

Microservizio di simulazione dispositiviDevice simulation microservice

La soluzione include il microservizio di simulazione dispositivi che consente di gestire un pool di dispositivi simulati dal portale della soluzione per testare il flusso end-to-end nella soluzione.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. I dispositivi simulati:The simulated devices:

  • Generano dati di telemetria da dispositivo a cloud.Generate device-to-cloud telemetry.
  • Rispondono alle chiamate ai metodi da cloud a dispositivo dall'hub IoT.Respond to cloud-to-device method calls from IoT Hub.

Il microservizio fornisce un endpoint RESTful per consentire di creare, avviare e arrestare le simulazioni.The microservice provides a RESTful endpoint for you to create, start, and stop simulations. Ogni simulazione è costituita da un set di dispositivi virtuali di diversi tipi, che inviano dati di telemetria e rispondono alle chiamate ai metodi.Each simulation consists of a set of virtual devices of different types, that send telemetry and respond to method calls.

È possibile effettuare il provisioning di dispositivi simulati dal dashboard nel portale della soluzione.You can provision simulated devices from the dashboard in the solution portal.

Hub IoTIoT Hub

L'hub IoT inserisce i dati di telemetria inviati dai dispositivi reali e simulati nel cloud.The IoT hub ingests telemetry sent from both the real and simulated devices into the cloud. L'hub IoT rende i dati di telemetria disponibili per l'elaborazione da parte dei servizi nel back-end della soluzione IoT.The IoT hub makes the telemetry available to the services in the IoT solution backend for processing.

L'hub IoT nella soluzione esegue anche le operazioni seguenti:The IoT hub in the solution also:

  • Gestisce un registro delle identità in cui vengono archiviati gli ID e le chiavi di autenticazione di tutti i dispositivi autorizzati a connettersi al portale.Maintains an identity registry that stores the IDs and authentication keys of all the devices permitted to connect to the portal.
  • Richiama i metodi nei dispositivi per conto dell'acceleratore di soluzioni.Invokes methods on your devices on behalf of the solution accelerator.
  • Gestisce i dispositivi gemelli per tutti i dispositivi registrati.Maintains device twins for all registered devices. Nel dispositivo gemello vengono archiviati i valori delle proprietà segnalati da un dispositivo.A device twin stores the property values reported by a device. Qui vengono archiviate anche le proprietà desiderate, impostate nel portale della soluzione, in modo che il dispositivo possa recuperarle alla connessione successiva.A device twin also stores desired properties, set in the solution portal, for the device to retrieve when it next connects.
  • Pianifica processi per impostare proprietà per più dispositivi o richiamare metodi in più dispositivi.Schedules jobs to set properties for multiple devices or invoke methods on multiple devices.

e analisi dei datiData processing and analytics

La soluzione include i componenti seguenti nella parte dell'architettura logica relativa all'analisi e all'elaborazione dei dati:The solution includes the following components in the data processing and analytics part of the logical architecture:

Microservizio gestione di hub IoTIoT Hub manager microservice

La soluzione include il microservizio gestione di hub IoT per la gestione delle interazioni con l'hub IoT, ad esempio:The solution includes the IoT Hub manager microservice to handle interactions with your IoT hub such as:

  • Creazione e gestione di dispositivi IoT.Creating and managing IoT devices.
  • Gestione di dispositivi gemelli.Managing device twins.
  • Chiamata di metodi nei dispositivi.Invoking methods on devices.
  • Gestione di credenziali IoT.Managing IoT credentials.

Questo servizio esegue anche query sull'hub IoT per recuperare i dispositivi appartenenti a gruppi definiti dall'utente.This service also runs IoT Hub queries to retrieve devices belonging to user-defined groups.

Il microservizio fornisce un endpoint RESTful per gestire i dispositivi e i dispositivi gemelli, richiamare metodi ed eseguire query sull'hub IoT.The microservice provides a RESTful endpoint to manage devices and device twins, invoke methods, and run IoT Hub queries.

Microservizio telemetriaDevice telemetry microservice

Il microservizio telemetria del dispositivo fornisce un endpoint RESTful per l'accesso in lettura ai dati di telemetria del dispositivo archiviati in Time Series Insights.The device telemetry microservice provides a RESTful endpoint for read access to device telemetry stored in Time Series Insights. L'endpoint RESTful abilita inoltre operazioni CRUD sulle regole e l'accesso in lettura/scrittura alle definizioni di avviso dall'archiviazione.The RESTful endpoint also enables CRUD operations on rules and read/write access for alarm definitions from storage.

Microservizio adattatore di archiviazioneStorage adapter microservice

Il microservizio adattatore di archiviazione gestisce coppie chiave-valore, astrae la semantica del servizio di archiviazione e presenta un'interfaccia semplice per archiviare i dati di qualsiasi formato usando 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.

I valori vengono organizzati in raccolte.Values are organized in collections. È possibile operare su valori singoli o recuperare intere raccolte.You can work on individual values or fetch entire collections. Le strutture dati complesse vengono serializzate dai client e gestite come payload di testo semplice.Complex data structures are serialized by the clients and managed as simple text payload.

Il servizio fornisce un endpoint RESTful per le operazioni CRUD su coppie chiave-valore.The service provides a RESTful endpoint for CRUD operations on key-value pairs. valorivalues

Azure Cosmos DBAzure Cosmos DB

Le distribuzioni dell'acceleratore di soluzioni usano Azure Cosmos DB per l'archiviazione di regole, avvisi e impostazioni di configurazione e per tutte le altre attività di archiviazione offline sicura.Solution accelerator deployments use Azure Cosmos DB to store rules, alerts, configuration settings, and all other cold storage.

Microservizio gestione di Analisi di flusso di AzureAzure Stream Analytics manager microservice

Il microservizio gestione di Analisi di flusso di Azure gestisce i processi di Analisi di flusso di Azure, inclusa l'impostazione della configurazione, il loro avvio o arresto e il monitoraggio dello stato.The Azure Stream Analytics manager microservice manages Azure Stream Analytics (ASA) jobs, including setting their configuration, starting and stopping them, and monitoring their status.

Il processo Analisi di flusso di Azure è supportato da due set di dati di riferimento.The ASA job is supported by two reference data sets. Un set di dati definisce le regole e uno definisce i gruppi di dispositivi.One data set defines rules and one defines device groups. I dati di riferimento delle regole vengono generati dalle informazioni gestite dal microservizio telemetria del dispositivo.The rules reference data is generated from the information managed by the device telemetry microservice. Il microservizio gestione di Analisi di flusso di Azure trasforma le regole dei dati di telemetria in logica di elaborazione del flusso.The Azure Stream Analytics manager microservice transforms telemetry rules into stream processing logic.

I dati di riferimento dei gruppi di dispositivi vengano usati per identificare il gruppo di regole da applicare a un messaggio di telemetria in ingresso.The device groups reference data is used to identify which group of rules to apply to an incoming telemetry message. I gruppi di dispositivi sono gestiti dal microservizio configurazione e usano query gemelle del dispositivo hub IoT di Azure.The device groups are managed by the configuration microservice and use Azure IoT Hub device twin queries.

I processi Analisi di flusso di Azure recapitano i dati di telemetria provenienti dai dispositivi connessi a Time Series Insights per l'archiviazione e analisi.The ASA jobs deliver the telemetry from the connected devices to Time Series Insights for storage and analysis.

Analisi di flusso di AzureAzure Stream Analytics

Analisi di flusso di Azure è un motore di elaborazione di eventi che permette di esaminare volumi elevati di streaming di dati per i dispositivi.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

Azure Time Series Insights archivia i dati di telemetria provenienti dai dispositivi connessi all'acceleratore di soluzioni.Azure Time Series Insights stores the telemetry from the devices connected to the solution accelerator. Consente inoltre di visualizzare e interrogare i dati di telemetria del dispositivo nell'interfaccia utente Web della soluzione.It also enables visualizing and querying device telemetry in the solution web UI.

Microservizio configurazioneConfiguration microservice

Il microservizio configurazione fornisce un endpoint RESTful per svolgere operazioni CRUD su gruppi di dispositivi, impostazioni della soluzione e impostazioni utente nell'acceleratore di soluzioni.The configuration microservice provides a RESTful endpoint for CRUD operations on device groups, solution settings, and user-settings in the solution accelerator. Funziona con il microservizio adattatore di archiviazione per rendere persistenti i dati di configurazione.It works with the storage adapter microservice to persist the configuration data.

Microservizio autenticazione e autorizzazioneAuthentication and authorization microservice

Il microservizio autenticazione e autorizzazione gestisce gli utenti autorizzati ad accedere all'acceleratore di soluzioni.The authentication and authorization microservice manages the users authorized to access the solution accelerator. La gestione degli utenti può essere eseguita usando qualsiasi provider di servizi di identità che supporta OpenId Connect.User management can be done using any identity service provider that supports OpenId Connect.

Azure Active DirectoryAzure Active Directory

Le distribuzioni dell'acceleratore di soluzioni usano Azure Active Directory come provider di OpenID Connect.Solution accelerator deployments use Azure Active Directory as an OpenID Connect provider. Azure Active Directory archivia le informazioni sugli utenti e fornisce i certificati per convalidare la firma dei token JWT.Azure Active Directory stores user information and provides certificates to validate JWT token signatures.

PresentazionePresentation

La soluzione include i componenti seguenti nella parte dell'architettura logica relativa alla presentazione:The solution includes the following components in the presentation part of the logical architecture:

L'interfaccia utente Web è un'applicazione Javascript React.The web user interface is a React Javascript application. L'applicazione:The application:

  • Usa solo Javascript React e viene eseguita interamente nel browser.Uses Javascript React only and runs entirely in the browser.
  • Ha uno stile definito con CSS.Is styled with CSS.
  • Interagisce con i microservizi pubblici tramite chiamate AJAX.Interacts with public facing microservices through AJAX calls.

L'interfaccia utente include tutte le funzionalità dell'acceleratore di soluzioni e interagisce con altri microservizi, ad esempio:The user interface presents all the solution accelerator functionality, and interacts with other microservices such as:

  • Il microservizio autenticazione e autorizzazione per proteggere i dati degli utenti.The authentication and authorization microservice to protect user data.
  • Il microservizio gestione hub IoT per elencare e gestire i dispositivi IoT.The IoT Hub manager microservice to list and manage the IoT devices.

Azure Time Series Insights Explorer è integrato nell'interfaccia utente per consentire l'interrogazione e l'analisi dei dati di telemetria del dispositivo.The user interface integrates the Azure Time Series Insights explorer to enable querying and analysis of device telemetry.

Il microservizio configurazione consente all'interfaccia utente di archiviare e recuperare le impostazioni di configurazione.The configuration microservice enables the user interface to store and retrieve configuration settings.

Passaggi successiviNext steps

Se si vuole esplorare il codice sorgente e la documentazione per sviluppatori, iniziare con uno dei due repository GitHub:If you want to explore the source code and developer documentation, start with one of the two GitHub repositories:

Diagrammi dettagliati delle architetture delle soluzioni:Detailed solution architecture diagrams:

Per ulteriori informazioni concettuali sull'acceleratore di soluzioni di monitoraggio remoto, vedere Personalizzare l'acceleratore di soluzioni.For more conceptual information about the Remote Monitoring solution accelerator, see Customize the solution accelerator.