Monitorare l'hub IoT di Azure
L'articolo illustra:
- I tipi di dati di monitoraggio che è possibile raccogliere per questo servizio.
- Modi per analizzare i dati.
Nota
Se si ha già familiarità con questo servizio e/o il Monitoraggio di Azure e si vuole solo sapere come analizzare i dati di monitoraggio, vedere la sezione Analizza alla fine di questo articolo.
Quando si hanno applicazioni e processi di business critici che si basano sulle risorse di Azure, è necessario monitorare e ricevere avvisi per il sistema. Il servizio Monitoraggio di Azure raccoglie e aggrega metriche e log da ogni componente del sistema. Il Monitoraggio di Azure offre una visione sulla disponibilità, le prestazioni e la resilienza e notifica i problemi. È possibile usare il portale di Azure, PowerShell, l'interfaccia della riga di comando di Azure, l'API REST o le librerie client per configurare e visualizzare i dati di monitoraggio.
- Per altre informazioni sul monitoraggio di Azure, vedere Informazioni generali sul Monitoraggio di Azure.
- Per altre informazioni su come monitorare le risorse di Azure in generale, vedere Monitorare le risorse di Azure con Monitoraggio di Azure.
Monitorare le disconnessioni per dispositivo con Griglia di eventi
Monitoraggio di Azure fornisce una metrica denominata Dispositivi connessi che è possibile usare per monitorare il numero di dispositivi connessi all'hub IoT. Questa metrica attiva un avviso quando il numero di dispositivi connessi scende al di sotto di un valore soglia. Monitoraggio di Azure genera anche eventi nella categoria connessioni che è possibile usare per monitorare gli errori di connessione, disconnessione e connessione del dispositivo. Sebbene questi eventi siano sufficienti per alcuni scenari, Griglia di eventi di Azure offre una soluzione di monitoraggio per dispositivo a bassa latenza che è possibile usare per tenere traccia delle connessioni dei dispositivi per dispositivi critici e infrastruttura.
Con Griglia di eventi è possibile sottoscrivere gli eventi DeviceConnectedeDeviceDisconnected dell'hub IoT per attivare avvisi e monitorare lo stato di connessione del dispositivo. Griglia di eventi offre una latenza di eventi molto inferiore rispetto a Monitoraggio di Azure, quindi è possibile monitorare in base ai singoli dispositivi anziché a tutti i dispositivi connessi. Questi fattori rendono Griglia di eventi il metodo preferito per il monitoraggio delle connessioni per dispositivi e infrastrutture critici. È consigliabile usare Griglia di eventi per monitorare le connessioni dei dispositivi negli ambienti di produzione.
Per altre informazioni sul monitoraggio della connettività dei dispositivi con Griglia di eventi e Monitoraggio di Azure, vedere Monitorare, diagnosticare e risolvere i problemi di connettività dei dispositivi all'hub IoT di Azure.
Tipi di risorsa
Azure usa il concetto di tipi di risorse e ID per identificare tutti gli elementi in una sottoscrizione. I tipi di risorse fanno anche parte degli ID della risorsa per ogni risorsa in esecuzione in Azure. Ad esempio, un tipo di risorsa per una macchina virtuale è Microsoft.Compute/virtualMachines
. Per un elenco dei servizi e dei relativi tipi di risorse associati, vedere Provider di risorse.
Il Monitoraggio di Azure organizza in modo analogo i dati di monitoraggio di base in metriche e log in base ai tipi di risorse, detti anche spazi dei nomi. Sono disponibili metriche e log diversi per diversi tipi di risorse. Il servizio potrebbe essere associato a più tipi di risorse.
Per altre informazioni sui tipi di risorse per l'hub IoT, vedere Informazioni di riferimento sui dati di monitoraggio dell'hub IoT di Azure.
Archiviazione di dati
Per il Monitoraggio di Azure:
- I dati delle metriche vengono archiviati dal database di metriche del Monitoraggio di Azure.
- I dati di log vengono archiviati nell'archivio dei log del Monitoraggio di Azure. Log Analytics è uno strumento nel portale di Azure in grado di eseguire query su questo archivio.
- Il log attività di Azure è un archivio separato con la propria interfaccia nel portale di Azure.
Facoltativamente, è possibile instradare i dati delle metriche e dei log attività all'archivio dei log di Monitoraggio di Azure. È quindi possibile usare Analisi dei log per eseguire query sui dati e correlarli con altri dati di log.
Molti servizi possono usare le impostazioni di diagnostica per inviare i dati delle metriche e dei log ad altre posizioni di archiviazione all'esterno di Monitoraggio di Azure. Gli esempi includono Archiviazione di Azure, sistemi partner ospitati e sistemi partner non Azure usando Hub eventi.
Per informazioni dettagliate su come il Monitoraggio di Azure archivia i dati, vedere la piattaforma dati del Monitoraggio di Azure.
Raccolta e routing
Le metriche della piattaforma, il log attività e i log delle risorse hanno specifiche di raccolta, archiviazione e routing univoche.
Nel portale di Azure è possibile selezionare Impostazioni di diagnostica in Monitoraggio nel riquadro a sinistra dell'hub IoT seguito da Aggiungi impostazione di diagnostica per creare impostazioni di diagnostica con ambito per i log e le metriche della piattaforma generate dall'hub IoT.
Lo screenshot seguente mostra un'impostazione di diagnostica per il routing del tipo di log delle risorse Operazioni di connessione e tutte le metriche della piattaforma a un'area di lavoro Log Analytics.
Quando si instradano le metriche della piattaforma dell'hub IoT ad altre posizioni:
Queste metriche della piattaforma non sono esportabili usando le impostazioni di diagnostica: Dispositivi connessi e Dispositivi totali.
Le metriche multidimensionali, ad esempio alcune metriche di routing, vengono attualmente esportate come metriche unidimensionali bidimensionali aggregate tra i valori delle dimensioni. Per altre informazioni, vedere Esportazione delle metriche della piattaforma in altre posizioni.
Metriche della piattaforma del Monitoraggio di Azure
Il Monitoraggio di Azure fornisce metriche della piattaforma per la maggior parte dei servizi. Le metriche sono:
- Definite singolarmente per ogni spazio dei nomi.
- Archiviate in un database delle metriche di serie temporali del Monitoraggio di Azure.
- Leggere e in grado di creare avvisi in tempo quasi reale.
- Usate per tenere traccia delle prestazioni di una risorsa nel tempo.
Raccolta: il Monitoraggio di Azure raccoglie automaticamente le metriche della piattaforma. Non è richiesta alcuna configurazione.
Routing: in genere è possibile instradare le metriche della piattaforma verso i log del Monitoraggio di Azure/Log Analytics in modo da poterle interrogare con altri dati di log. Per altre informazioni, vedere impostazioni delle metriche di diagnostica. Per informazioni su come configurare le impostazioni di diagnostica per un servizio, vedere Creare impostazioni di diagnostica nel Monitoraggio di Azure.
Per un elenco di tutte le metriche che è possibile raccogliere per tutte le risorse nel Monitoraggio di Azure, vedere Metriche supportate nel Monitoraggio di Azure.
Panoramica del monitoraggio
La pagina Panoramica nel portale di Azure per ogni hub IoT include grafici che forniscono alcune metriche di utilizzo, ad esempio il numero di messaggi usati e il numero di dispositivi connessi all'hub IoT.
Un valore di conteggio dei messaggi corretto potrebbe essere ritardato di 1 minuto. A causa dell'infrastruttura del servizio dell'hub IoT, il valore può talvolta rimbalzare tra valori più elevati e inferiori all'aggiornamento. Questo contatore dovrebbe essere errato solo per i valori accumulati nell'ultimo minuto.
Le informazioni presentate nel riquadro Panoramica sono utili, ma rappresentano solo una piccola quantità dei dati di monitoraggio disponibili per un hub IoT. Alcuni dati di monitoraggio vengono raccolti automaticamente e sono disponibili per l'analisi non appena si crea l'hub IoT. Con alcune configurazioni è possibile abilitare altri tipi di raccolta dati.
Importante
Gli eventi generati dal servizio hub IoT tramite i log delle risorse di Monitoraggio di Azure non sono necessariamente affidabili o ordinati. Alcuni eventi possono andare persi o recapitati non in ordine. I log delle risorse non devono essere in tempo reale, quindi potrebbero essere necessari alcuni minuti prima che gli eventi vengano registrati nella destinazione scelta.
Log delle risorse di Monitoraggio di Azure
I log delle risorse forniscono informazioni dettagliate sulle operazioni eseguite da una risorsa di Azure. I log vengono generati automaticamente, ma è necessario indirizzarli verso i log del Monitoraggio di Azure per salvarli o interrogarli. I log sono organizzati in categorie. Uno specifico spazio dei nomi potrebbe avere più categorie di log delle risorse.
Raccolta: i log delle risorse non vengono raccolti e archiviati fino a quando non si crea un'impostazione di diagnostica e li si instrada verso una o più posizioni. Quando si crea un'impostazione di diagnostica, si specificano quali categorie di log raccogliere. Esistono diversi modi per creare e gestire le impostazioni di diagnostica, tra cui il portale di Azure, il livello programmatico e anche i Criteri di Azure.
Pianificazione percorso: l'impostazione predefinita consigliata consiste nell'instradare i log delle risorse verso i log del Monitoraggio di Azure in modo da poterli interrogare con altri dati di log. Sono disponibili anche altre posizioni, ad esempio Archiviazione di Azure, Hub eventi di Azure e alcuni partner di monitoraggio Microsoft. Per altre informazioni, vedere Log delle risorse di Azure e Destinazioni del log delle risorse.
Per informazioni dettagliate sulla raccolta, l'archiviazione e la pianificazione percorso dei log delle risorse, vedere Impostazioni di diagnostica nel Monitoraggio di Azure.
Per un elenco di tutte le categorie di log delle risorse disponibili nel Monitoraggio di Azure, vedere Log delle risorse supportati nel Monitoraggio di Azure.
Tutti i log delle risorse nel Monitoraggio di Azure hanno gli stessi campi d'intestazione, seguiti da campi specifici del servizio. Lo schema comune è descritto in Schema dei log delle risorse di Monitoraggio di Azure.
Instradare gli eventi di connessione ai log
Hub IoT genera continuamente i log delle risorse per varie categorie di operazioni. Per raccogliere questi dati di log, tuttavia, è necessario creare un'impostazione di diagnostica per instradarla a una destinazione in cui può essere analizzata o archiviata. Una di queste destinazioni è Log di Monitoraggio di Azure tramite un'area di lavoro Log Analytics (vedere i prezzi), in cui è possibile analizzare i dati usando query Kusto.
La categoria connessioni dei log delle risorse dell'hub IoT genera operazioni ed errori che hanno a che fare con le connessioni del dispositivo. Lo screenshot seguente mostra un'impostazione di diagnostica per indirizzare questi log a un'area di lavoro Log Analytics:
È consigliabile creare un'impostazione di diagnostica il prima possibile dopo aver creato l'hub IoT perché, anche se l'hub IoT genera sempre i log delle risorse, Monitoraggio di Azure non li raccoglie finché non li instrada a una destinazione.
Per altre informazioni sul routing dei log a una destinazione, vedere Raccolta e routing. Per istruzioni dettagliate sulla creazione di un'impostazione di diagnostica, vedere l'esercitazione Usare metriche e log.
Finestra Log attività di Azure
Il log attività contiene eventi a livello di sottoscrizione che tengono traccia delle operazioni per ogni risorsa di Azure vista dall'esterno, ad esempio la creazione di una nuova risorsa o l'avvio di una macchina virtuale.
Raccolta: gli eventi del log attività vengono generati e raccolti automaticamente in un archivio separato per la visualizzazione nel portale di Azure.
Pianificazione percorso: è possibile inviare i dati del log attività ai log di Monitoraggio di Azure in modo da poterli analizzare insieme ad altri dati di log. Sono disponibili anche altre posizioni, ad esempio Archiviazione di Azure, Hub eventi di Azure e alcuni partner di monitoraggio Microsoft. Per altre informazioni su come instradare i log attività, vedere Informazioni generali sul log attività di Azure.
Analisi dei log
I dati nei log di Monitoraggio di Azure vengono archiviati in tabelle, ognuna delle quali ha un proprio set di proprietà univoche. I dati in queste tabelle sono associati a un'area di lavoro Log Analytics e possono essere sottoposti a query in Log Analytics. Per altre informazioni sui log di Monitoraggio di Azure, vedere Panoramica dei log di Monitoraggio di Azure nella documentazione di Monitoraggio di Azure.
Per instradare i dati ai log di Monitoraggio di Azure, è necessario creare un'impostazione di diagnostica per inviare i log delle risorse o le metriche della piattaforma a un'area di lavoro Log Analytics. Per altre informazioni, vedere Raccolta e routing.
Per eseguire Log Analytics, passare al portale di Azure e aprire l'hub IoT, quindi selezionare Log in Monitoraggio. Queste query di Log Analytics hanno come ambito, per impostazione predefinita, i log e le metriche raccolti nei log di Monitoraggio di Azure per l'hub IoT.
Quando si instradano le metriche della piattaforma dell'hub IoT ai log di Monitoraggio di Azure:
Le metriche della piattaforma seguenti non sono esportabili usando le impostazioni di diagnostica: Dispositivi connessi e Dispositivi totali.
Le metriche multidimensionali, ad esempio alcune metriche di routing, vengono attualmente esportate come metriche unidimensionali bidimensionali aggregate tra i valori delle dimensioni. Per altri dettagli, vedere Esportazione delle metriche della piattaforma in altre posizioni.
Per le query comuni con l'hub IoT, vedere Query Kusto di esempio. Per altre informazioni sull'uso delle query di log Analitica, vedere Panoramica delle query di log in Monitoraggio di Azure.
Versione dell'SDK nei log dell'hub IoT
Alcune operazioni restituiscono una proprietà sdkVersion
nel relativo oggetto properties
per i log delle risorse dell'hub IoT. Per queste operazioni, quando un dispositivo o un'app back-end usa uno degli SDK di Azure IoT, questa proprietà contiene informazioni sull'SDK in uso, sulla versione dell'SDK e sulla piattaforma in cui è in esecuzione l'SDK.
Negli esempi seguenti viene mostrata la proprietà sdkVersion
generata per un'operazione deviceConnect
utilizzando:
- SDK per dispositivi Node.js
"azure-iot-device/1.17.1 (node v10.16.0; Windows_NT 10.0.18363; x64)"
- .NET (C#) SDK:
".NET/1.21.2 (.NET Framework 4.8.4200.0; Microsoft Windows 10.0.17763 WindowsProduct:0x00000004; X86)"
.
La tabella seguente mostra il nome dell'SDK usato per diversi SDK di Azure IoT:
Nome SDK nella proprietà sdkVersion | Lingua |
---|---|
.NET | .NET (C#) |
microsoft.azure.devices | SDK del servizio .NET (C#) |
microsoft.azure.devices.client | SDK del servizio .NET (C#) |
iothubclient | SDK per dispositivi C o Python v1 (deprecato) |
iothubserviceclient | SDK del servizio C o Python v1 (deprecato) |
azure-iot-device-iothub-py | SDK per dispositivi Python |
azure-iot-device | SDK per dispositivi Node.js |
azure-iothub | SDK del servizio Node.js |
com.microsoft.azure.iothub-java-client | SDK per dispositivo Java |
com.microsoft.azure.iothub.service.sdk | SDK per servizi Java |
com.microsoft.azure.sdk.iot.iot-device-client | SDK per dispositivo Java |
com.microsoft.azure.sdk.iot.iot-service-client | SDK per servizi Java |
A | Embedded C |
C + (OSSimplified = Eclipse ThreadX) | Eclipse ThreadX |
È possibile estrarre la proprietà della versione dell'SDK quando si eseguono query sui log delle risorse dell'hub IoT. Ad esempio, la query seguente estrae la proprietà della versione dell'SDK (e l'ID dispositivo) dalle proprietà restituite dalle operazioni Connections. Queste due proprietà vengono scritte nei risultati insieme all'ora dell'operazione e all'ID risorsa dell'hub IoT a cui si connette il dispositivo.
// SDK version of devices
// List of devices and their SDK versions that connect to IoT Hub
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
| where Category == "Connections"
| extend parsed_json = parse_json(properties_s)
| extend SDKVersion = tostring(parsed_json.sdkVersion) , DeviceId = tostring(parsed_json.deviceId)
| distinct DeviceId, SDKVersion, TimeGenerated, _ResourceId
Leggere i log da Hub eventi di Azure
Dopo aver configurato la registrazione degli eventi tramite le impostazioni di diagnostica, è possibile creare applicazioni che leggono i log in modo che sia possibile eseguire azioni sulla base delle informazioni in essi contenuti. Il seguente codice di esempio recupera i log da un hub eventi.
class Program
{
static string connectionString = "{your AMS eventhub endpoint connection string}";
static string monitoringEndpointName = "{your AMS event hub endpoint name}";
static EventHubClient eventHubClient;
//This is the Diagnostic Settings schema
class AzureMonitorDiagnosticLog
{
string time { get; set; }
string resourceId { get; set; }
string operationName { get; set; }
string category { get; set; }
string level { get; set; }
string resultType { get; set; }
string resultDescription { get; set; }
string durationMs { get; set; }
string callerIpAddress { get; set; }
string correlationId { get; set; }
string identity { get; set; }
string location { get; set; }
Dictionary<string, string> properties { get; set; }
};
static void Main(string[] args)
{
Console.WriteLine("Monitoring. Press Enter key to exit.\n");
eventHubClient = EventHubClient.CreateFromConnectionString(connectionString, monitoringEndpointName);
var d2cPartitions = eventHubClient.GetRuntimeInformationAsync().PartitionIds;
CancellationTokenSource cts = new CancellationTokenSource();
var tasks = new List<Task>();
foreach (string partition in d2cPartitions)
{
tasks.Add(ReceiveMessagesFromDeviceAsync(partition, cts.Token));
}
Console.ReadLine();
Console.WriteLine("Exiting...");
cts.Cancel();
Task.WaitAll(tasks.ToArray());
}
private static async Task ReceiveMessagesFromDeviceAsync(string partition, CancellationToken ct)
{
var eventHubReceiver = eventHubClient.GetDefaultConsumerGroup().CreateReceiver(partition, DateTime.UtcNow);
while (true)
{
if (ct.IsCancellationRequested)
{
await eventHubReceiver.CloseAsync();
break;
}
EventData eventData = await eventHubReceiver.ReceiveAsync(new TimeSpan(0,0,10));
if (eventData != null)
{
string data = Encoding.UTF8.GetString(eventData.GetBytes());
Console.WriteLine("Message received. Partition: {0} Data: '{1}'", partition, data);
var deserializer = new JavaScriptSerializer();
//deserialize json data to azure monitor object
AzureMonitorDiagnosticLog message = new JavaScriptSerializer().Deserialize<AzureMonitorDiagnosticLog>(result);
}
}
}
}
Per le categorie di log delle risorse disponibili, le tabelle di log Analitica associate e gli schemi di log per hub IoT, vedere Riferimento ai dati di monitoraggio di Azure hub IoT.
Analizzare i dati di monitoraggio
Sono disponibili molti strumenti per l'analisi dei dati di monitoraggio.
Strumenti di Monitoraggio di Azure
Il Monitoraggio di Azure supporta gli strumenti di base seguenti:
Esplora metriche, uno strumento nel portale di Azure che consente di visualizzare e analizzare le metriche per le risorse di Azure. Per altre informazioni, vedere Analizzare le metriche con Esplora metriche di Monitoraggio di Azure.
Log Analytics, uno strumento nel portale di Azure che consente di eseguire query e analizzare i dati di log usando il linguaggio di query Kusto (KQL). Per altre informazioni, vedere Introduzione alle query dei log del Monitoraggio di Azure.
Log attività, che dispone di un'interfaccia utente nel portale di Azure per la visualizzazione e le ricerche di base. Per eseguire analisi più approfondite, è necessario instradare i dati verso i log di Monitoraggio di Azure ed eseguire query più complesse in Log Analytics.
Gli strumenti che consentono una visualizzazione più complessa includono:
- I dashboard che consentono di combinare tipi di dati diversi in un singolo riquadro nel portale di Azure.
- Cartelle di lavoro, report personalizzabili che è possibile creare nel portale di Azure. Le cartelle di lavoro possono includere testo, metriche e query di log.
- Grafana è una piattaforma aperta, ideale per i dashboard operativi. È possibile usare Grafana per creare dashboard che includano dati da più origini diverse dal Monitoraggio di Azure.
- Power BI, un servizio di analisi aziendale che fornisce visualizzazioni interattive per un'ampia varietà di origini dati. È possibile configurare per Power BI per importare automaticamente i dati di log da Monitoraggio di Azure per sfruttare i vantaggi di queste visualizzazioni.
Strumenti di esportazione del Monitoraggio di Azure
È possibile ottenere dati dal Monitoraggio di Azure in altri strumenti usando i metodi seguenti:
Metriche: usare l'API REST per le metriche per estrarre i dati delle metriche dal database delle metriche del Monitoraggio di Azure. L'API supporta espressioni di filtro per perfezionare i dati recuperati. Per altre informazioni, vedere Informazioni di riferimento sull'API REST del Monitoraggio di Azure.
Log: usare l'API REST o le librerie client associate.
Un'altra opzione è l'esportazione dati dell'area di lavoro.
Per iniziare a usare l'API REST per il Monitoraggio di Azure, vedere Procedura dettagliata per l'API REST del Monitoraggio di Azure.
Query Kusto
È possibile analizzare i dati di monitoraggio nell'archivio dei Log/Log Analytics del Monitoraggio di Azure usando il linguaggio di query Kusto (KQL).
Importante
Quando si seleziona Log dal menu del servizio nel portale, Analisi dei log si apre con l'ambito della query impostato sul servizio corrente. Questo ambito fa sì che le query di log includano solo i dati di tale tipo di risorsa. Se si vuole eseguire una query che includa dati di altri servizi di Azure, selezionare Log nel menu di Monitoraggio di Azure. Per i dettagli, vedere Ambito e intervallo di tempo delle query su log in Log Analytics di Monitoraggio di Azure.
Per un elenco delle query comuni per qualsiasi servizio, vedere l'interfaccia query di Analisi dei log.
Usare le query Kusto seguenti per monitorare l'hub IoT.
Errori di connettività: identificare gli errori di connessione del dispositivo.
AzureDiagnostics | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS" | where Category == "Connections" and Level == "Error"
Errori di limitazione delle richieste: Identificare i dispositivi che hanno effettuato il maggior numero di richieste causando errori di limitazione.
AzureDiagnostics | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS" | where ResultType == "429001" | extend DeviceId = tostring(parse_json(properties_s).deviceId) | summarize count() by DeviceId, Category, _ResourceId | order by count_ desc
Endpoint non recapitabili: identificare gli endpoint non integri in base al numero di volte in cui il problema è stato segnalato e conoscere il motivo.
AzureDiagnostics | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS" | where Category == "Routes" and OperationName in ("endpointDead", "endpointUnhealthy") | extend parsed_json = parse_json(properties_s) | extend Endpoint = tostring(parsed_json.endpointName), Reason = tostring(parsed_json.details) | summarize count() by Endpoint, OperationName, Reason, _ResourceId | order by count_ desc
Riepilogo degli errori: numero di errori in tutte le operazioni per tipo.
AzureDiagnostics | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS" | where Level == "Error" | summarize count() by ResultType, ResultDescription, Category, _ResourceId
Dispositivi connessi di recente: elenco dei dispositivi che l'hub IoT ha visto connettersi nel periodo di tempo specificato.
AzureDiagnostics | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS" | where Category == "Connections" and OperationName == "deviceConnect" | extend DeviceId = tostring(parse_json(properties_s).deviceId) | summarize max(TimeGenerated) by DeviceId, _ResourceId
Eventi di connessione per un dispositivo specifico: tutti gli eventi di connessione registrati per un dispositivo specifico (test-device).
AzureDiagnostics | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS" | where Category == "Connections" | extend DeviceId = tostring(parse_json(properties_s).deviceId) | where DeviceId == "test-device"
Versione DELL'SDK dei dispositivi: elenco dei dispositivi e delle relative versioni SDK per le connessioni di dispositivi o dispositivi alle operazioni del dispositivo gemello cloud.
AzureDiagnostics | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS" | where Category == "Connections" or Category == "D2CTwinOperations" | extend parsed_json = parse_json(properties_s) | extend SDKVersion = tostring(parsed_json.sdkVersion) , DeviceId = tostring(parsed_json.deviceId) | distinct DeviceId, SDKVersion, TimeGenerated, _ResourceId
Avvisi
Gli avvisi di Monitoraggio di Azure notificano in modo proattivo quando vengono riscontrate condizioni specifiche nei dati di monitoraggio. Consentono di identificare e risolvere i problemi del sistema prima che gli utenti li notino. Per altre informazioni, vedere Avvisi di Monitoraggio di Azure.
Esistono molte origini di avvisi comuni per le risorse di Azure. Per esempi di avvisi comuni per le risorse di Azure, vedere Query di avviso di log di esempio. Il sito Avvisi di base di Monitoraggio di Azure (AMBA) offre un metodo semi-automatizzato per implementare importanti avvisi, dashboard e linee guida per le metriche della piattaforma. Il sito si applica a un sottoinsieme di servizi di Azure in continua espansione, inclusi tutti i servizi che fanno parte della zona di destinazione di Azure.
Lo schema di avviso comune standardizza l'utilizzo delle notifiche di avviso di Monitoraggio di Azure. Per altre informazioni, vedere lo Schema degli avvisi comuni.
Tipi di avviso:
È possibile creare avvisi su qualsiasi metrica o fonte di dati di log nella piattaforma di dati di Monitoraggio di Azure. Esistono molti tipi diversi di avvisi a seconda dei servizi monitorati e dei dati di monitoraggio raccolti. Ogni tipo di avviso presenta vantaggi e svantaggi. Per altre informazioni, vedere Scegliere il tipo di avviso di monitoraggio corretto.
L'elenco seguente descrive i tipi di avvisi del Monitoraggio di Azure che è possibile creare:
- Gli avvisi delle metriche valutano le metriche delle risorse a intervalli regolari. Le metriche possono essere metriche della piattaforma, metriche personalizzate, log di Monitoraggio di Azure convertiti in metriche o metriche di Application Insights. Gli avvisi delle metriche possono anche applicare più condizioni e soglie dinamiche.
- Gli avvisi relativi ai log consentono agli utenti di utilizzare una query di Log Analytics per valutare i log delle risorse con una frequenza predefinita.
- Gli avvisi dei log attività vengono attivati quando si verifica un nuovo evento del log attività che soddisfa le condizioni definite. Gli avvisi sull'integrità delle risorse e gli avvisi sull'integrità dei servizi sono avvisi di log delle attività che segnalano l'integrità dei servizi e delle risorse.
Alcuni servizi di Azure supportano anche avvisi di rilevamento intelligente, avvisi Prometheus o regole di avviso consigliate.
Per alcuni servizi, è possibile effettuare un monitoraggio su larga scala applicando la stessa regola di avviso delle metriche a più risorse dello stesso tipo presenti nella stessa area di Azure. Vengono inviate notifiche singole per ogni risorsa monitorata. Per i servizi e i cloud di Azure supportati, vedere Monitorare più risorse con una regola di avviso.
Regole di avviso dell'hub IoT
È possibile impostare avvisi per qualsiasi metrica, voce di log o voce di log attività elencata in Informazioni di riferimento sui dati di monitoraggio dell’hub IoT.
Configurare gli avvisi delle metriche per le disconnessioni dei dispositivi
È possibile configurare gli avvisi in base alle metriche della piattaforma generate da hub IoT. Con gli avvisi delle metriche, è possibile notificare agli utenti che si è verificata una condizione di interesse e attivare anche azioni che possono rispondere automaticamente a tale condizione.
La metrica Dispositivi connessi (anteprima) indica quanti dispositivi sono connessi all'hub IoT. Se questa metrica scende al di sotto di un valore soglia, un avviso può attivare:
È possibile usare le regole di avviso delle metriche per monitorare le anomalie di disconnessione del dispositivo su larga scala. Ovvero, ciò permette di utilizzare gli avvisi per determinare quando un numero significativo di dispositivi si disconnette in modo imprevisto. Quando viene rilevata questa situazione, è possibile esaminare i log per risolvere il problema. Per monitorare le disconnessioni e le disconnessioni per i dispositivi critici in tempo quasi reale, è tuttavia necessario usare Griglia di eventi.
Per altre informazioni sugli avvisi con l'hub IoT, vedere Avvisi in Monitoraggio dell'hub IoT. Per una procedura dettagliata sulla creazione di avvisi nell'hub IoT, vedere l'esercitazione Usare metriche e log. Per una panoramica più dettagliata degli avvisi, vedere Panoramica degli avvisi in Microsoft Azure nella documentazione di Monitoraggio di Azure.
Elementi consigliati di Advisor
Per alcuni servizi, se si verificano condizioni critiche o modifiche imminenti durante le operazioni sulle risorse, viene visualizzato un avviso nella pagina Panoramica del servizio nel portale. È possibile trovare altre informazioni e correzioni consigliate per l'avviso in Consigli di Advisor in Monitoraggio nel menu a sinistra. Durante il normale funzionamento non viene visualizzato nessun consiglio di Advisor.
Per altre informazioni su Azure Advisor, vedere Informazioni generali su Azure Advisor.
Contenuto correlato
- Vedere Riferimento ai dati di monitoraggio di Azure hub IoT per informazioni di riferimento su metriche, log e altri valori importanti creati per hub IoT.
- Per informazioni generali sul monitoraggio delle risorse di Azure, vedere Monitoraggio delle risorse di Azure con Monitoraggio di Azure.
- Vedere Monitorare, diagnosticare e risolvere i problemi di connettività dei dispositivi all'hub IoT di Azure per il monitoraggio della connettività dei dispositivi.