Monitorare Azure Cosmos DB

L'articolo illustra:

  • I tipi di dati di monitoraggio che è possibile raccogliere per questo servizio.
  • Modi per analizzare i dati.

Annotazioni

Se si ha già familiarità con questo servizio e/o Monitoraggio di Azure e si vuole solo sapere come analizzare i dati di monitoraggio, vedere la sezione Analyze alla fine di questo articolo.

Quando si hanno applicazioni e processi aziendali critici che si basano su risorse 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. Monitoraggio di Azure offre una visualizzazione della disponibilità, delle prestazioni e della resilienza e notifica i problemi. È possibile usare il portale di Azure, PowerShell, interfaccia della riga di comando di Azure, l'API REST o le librerie client per configurare e visualizzare i dati di monitoraggio.

Insights

Alcuni servizi in Azure dispongono di un dashboard di monitoraggio predefinito nel portale di Azure che fornisce un punto di partenza per il monitoraggio del servizio. Questi dashboard sono denominati insights ed è possibile trovarli nel Insights Hub di Monitoraggio di Azure nel portale di Azure.

Informazioni dettagliate su Azure Cosmos DB

Informazioni dettagliate su Azure Cosmos DB è una funzionalità basata sulla funzionalità cartelle di lavoro di Monitoraggio di Azure. Usare Cosmos DB Insights offre una visualizzazione complessiva delle prestazioni, degli errori, della capacità e dell'integrità operativa di tutte le risorse Azure Cosmos DB nell’ambito di un'esperienza interattiva unificata.

Per altre informazioni sulle informazioni dettagliate di Azure Cosmos DB, vedere gli articoli seguenti:

Tipi di risorse

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 Resource providers.

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 namespaces. 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 Azure Cosmos DB, vedere Riferimento ai dati di Monitoraggio di Azure Cosmos DB.

Archiviazione dati

Per monitoraggio Azure:

  • I dati delle metriche vengono archiviati nel database delle metriche di monitoraggio Azure.
  • I dati di log vengono archiviati nell'archivio dei log di Monitoraggio di Azure. Log Analytics è uno strumento nel portale di Azure che può interrogare questo archivio.
  • Il registro delle attività di Azure è un archivio separato con la propria interfaccia nel portale di Azure.

Facoltativamente, è possibile instradare i dati delle metriche e dei log delle attività all'archivio log di Monitoraggio di Azure. È quindi possibile usare Log Analytics per eseguire query sui dati e correlarli con altri dati di log.

Molti servizi possono utilizzare le impostazioni di diagnostica per inviare dati metrici e di log ad altre posizioni di archiviazione al di fuori di Monitoraggio di Azure. Gli esempi includono Archiviazione di Azure, sistemi partner ospitati, e sistemi partner non Azure, utilizzando Event Hubs.

Per informazioni dettagliate su come Monitoraggio di Azure archivia i dati, vedere Piattaforma dati di Monitoraggio di Azure.

metriche della piattaforma Monitoraggio di Azure

Monitoraggio di Azure fornisce metriche della piattaforma per la maggior parte dei servizi. Le metriche sono:

  • Definite singolarmente per ogni namespace.
  • Le metriche di serie temporali sono archiviate nel database 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.

Collection: Monitoraggio di Azure raccoglie automaticamente le metriche della piattaforma. Non è necessaria alcuna configurazione.

Routing: È anche possibile instradare alcune metriche della piattaforma su Monitoraggio di Azure Logs / Log Analytics in modo da interrogarli con altri dati di log. Controllare l'impostazione DS export per ogni metrica per verificare se è possibile usare un'impostazione di diagnostica per instradare la metrica a Monitoraggio di Azure Logs/Log Analytics.

Per un elenco delle metriche che è possibile raccogliere per tutte le risorse in Monitoraggio di Azure, consulta Metriche supportate in Monitoraggio di Azure.

Monitoraggio di Azure raccoglie le metriche di Azure Cosmos DB per impostazione predefinita. Non è necessario configurare in modo esplicito alcun elemento. La maggior parte delle metriche è disponibile nella pagina del portale di Azure Cosmos DB o nella pagina Monitoraggio di Azure. Per impostazione predefinita, le metriche vengono raccolte con la granularità di un minuto. La granularità può variare in base alla metrica scelta. Per altre informazioni sul periodo di conservazione predefinito, vedere Conservazione delle metriche di Monitoraggio di Azure

Le metriche lato server di Azure Cosmos DB includono velocità effettiva, archiviazione, disponibilità, latenza, coerenza e metriche a livello di sistema. Sul lato client è possibile raccogliere i dettagli per l'addebito delle richieste, l'ID attività, le informazioni di analisi dell'eccezione e dello stack, lo stato HTTP, il codice dello stato secondario e la stringa di diagnostica. Per impostazione predefinita, queste metriche hanno un periodo di conservazione di sette giorni. È possibile utilizzare questi dati per eseguire il debug dei problemi o se è necessario contattare il team di supporto di Azure Cosmos DB.

I valori delle dimensioni per le metriche, ad esempio il nome del contenitore, non fanno distinzione tra maiuscole e minuscole. Questa situazione può causare confusione o collisione di dati di telemetria e azioni sui contenitori con tali nomi. Confronto senza distinzione tra maiuscole e minuscole quando si eseguono confronti di stringhe su questi valori di dimensione.

Per un elenco delle metriche disponibili per Azure Cosmos DB, vedere Riferimento ai dati di Monitoraggio di Azure Cosmos DB.

Metriche non basate su Monitoraggio di Azure

Questo servizio fornisce altre metriche non incluse nel database delle metriche di Monitoraggio di Azure.

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. Un namespace 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 Azure portal, a livello di codice e anche Criteri di Azure.

Routing: L'impostazione predefinita consigliata consiste nel indirizzare i log delle risorse ai log di monitoraggio Azure in modo da poterli eseguire query con altri dati di log. Sono disponibili anche altre location, 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 l'instradamento dei log delle risorse, vedere Impostazioni di diagnostica di Monitoraggio di Azure.

Per un elenco di tutte le categorie di log delle risorse disponibili in Monitoraggio di Azure, vedere Log delle risorse supportate in Monitoraggio di Azure.

Tutti i log delle risorse in Monitoraggio di Azure hanno gli stessi campi di intestazione, seguiti da campi specifici del servizio. Lo schema comune è descritto in Monitoraggio di Azure resource log schema.

Da Monitoraggio di Azure, è possibile monitorare i log di diagnostica dall'account Azure Cosmos DB e creare dashboard. I dati, ad esempio eventi e tracce con una granularità nell'ordine del secondo, vengono archiviati come log. Ad esempio, se la velocità effettiva di un contenitore cambia, le proprietà di un account Azure Cosmos DB cambiano. I log acquisiscono questi eventi. È possibile analizzare questi log eseguendo query sui dati raccolti.

Per le categorie di log delle risorse disponibili, le tabelle di Log Analytics associate e gli schemi di log per Azure Cosmos DB, vedere Informazioni di riferimento sui dati di monitoraggio di Azure Cosmos DB.

log delle attività di Azure

Il registro delle attività contiene eventi a livello di sottoscrizione che tengono traccia delle operazioni per ogni risorsa Azure, come visto dall'esterno della risorsa stessa, 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.

Routing: È possibile inviare i dati del log delle attività ai log di Monitoraggio di Azure in modo da analizzarli insieme ad altri dati di log. Sono disponibili anche altre location, 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.

Controllare le azioni di ripristino per la modalità di backup continuo

Usando i log attività, è possibile elencare tutti i ripristini temporizzati per la modalità continua eseguiti in un account Azure Cosmos DB. Per informazioni su come visualizzare queste operazioni nel portale di Azure, vedere Controllare l'azione di ripristino temporizzato per la modalità di backup continuo.

Analizzare i dati di monitoraggio

Sono disponibili molti strumenti per l'analisi dei dati di monitoraggio.

Strumenti di monitoraggio Azure

Monitoraggio di Azure supporta gli strumenti di base seguenti:

Gli strumenti che consentono una visualizzazione più complessa includono:

  • Dashboard che consentono di combinare diversi tipi di dati in un unico 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 includono dati da più origini diverse da Monitoraggio di Azure.
  • Power BI, un servizio di analisi aziendale che fornisce visualizzazioni interattive tra varie origini dati. È possibile configurare Power BI per importare automaticamente i dati di log da Monitoraggio di Azure per sfruttare queste visualizzazioni.

Strumenti di esportazione di Monitoraggio di Azure

È possibile ottenere dati da Monitoraggio di Azure in altri strumenti usando i metodi seguenti:

Per iniziare con l'API REST per Monitoraggio di Azure, consultare procedura dettagliata dell'API REST di Monitoraggio di Azure.

Analizzare le metriche di Azure Cosmos DB

È possibile usare Esplora metriche di Monitoraggio di Azure per analizzare le metriche di Azure Cosmos DB con le metriche di altri servizi di Azure: nel portale degli account di Azure Cosmos DB, in Monitoraggio, selezionare Metriche. Per altre informazioni su come utilizzare Esplora metriche, vedere Analizzare le metriche con Esplora metriche di Monitoraggio di Azure.

È possibile monitorare la latenza lato server, l'utilizzo dell'unità richiesta e l'utilizzo normalizzato dell'unità richiesta per le risorse di Azure Cosmos DB. È possibile selezionare metriche specifiche per unità richiesta, archiviazione, latenza, disponibilità, Cassandra e altre.

Sul lato client è possibile eseguire il debug dei problemi raccogliendo metriche per l'addebito delle richieste, l'ID attività, le informazioni di analisi dell'eccezione e dello stack, lo stato HTTP, il codice dello stato secondario e la stringa di diagnostica.

Per ulteriori informazioni e istruzioni dettagliate, vedere i seguenti articoli:

Per un elenco di tutte le metriche delle risorse supportate in Monitoraggio di Azure, vedere Metriche supportate di Monitoraggio di Azure. Per un elenco delle metriche della piattaforma raccolte per Azure Cosmos DB, vedere l'articolo Informazioni di riferimento sui dati di Monitoraggio di Azure Cosmos DB - Metriche.

Monitorare Azure Cosmos DB a livello di codice

Le metriche a livello account disponibili nel portale, ad esempio l'utilizzo delle risorse di archiviazione dell'account e le richieste totali, non sono disponibili usando l'API per NoSQL. È tuttavia possibile recuperare dati di utilizzo a livello di raccolta tramite le API per NoSQL. Per recuperare i dati a livello di raccolta, usare uno degli approcci seguenti:

Per accedere a metriche aggiuntive, usare l'SDK di Monitoraggio di Azure. Le definizioni delle metriche disponibili possono essere recuperate usando questo formato:

https://management.azure.com/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDb/databaseAccounts/{DocumentDBAccountName}/providers/microsoft.insights/metricDefinitions?api-version=2018-01-01

Per recuperare le singole metriche, usare il formato seguente:

https://management.azure.com/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDb/databaseAccounts/{DocumentDBAccountName}/providers/microsoft.insights/metrics?timespan={StartTime}/{EndTime}&interval={AggregationInterval}&metricnames={MetricName}&aggregation={AggregationType}&`$filter={Filter}&api-version=2018-01-01

Per altre informazioni, vedere API REST di monitoraggio di Azure.

Analizzare i log di Azure Cosmos DB

I dati dei log di Monitoraggio di Azure vengono archiviati in tabelle. Ogni tabella ha un proprio set di proprietà univoco. Tutti i log delle risorse in Monitoraggio di Azure hanno gli stessi campi seguiti da campi specifici del servizio. Lo schema comune è descritto in Monitoraggio di Azure resource log schema.

Per conoscere i tipi di log delle risorse raccolti per Azure Cosmos DB, vedere Riferimento ai dati di Monitoraggio di Azure Cosmos DB.

Per altre informazioni sull'uso dei log di Monitoraggio di Azure per Azure Cosmos DB, vedere gli articoli seguenti:

Query Kusto

È possibile analizzare i dati di monitoraggio nel repository Monitoraggio di Azure Logs / Log Analytics utilizzando il linguaggio di query Kusto (KQL).

Importante

Quando si seleziona Logs dal menu del servizio nel portale, Log Analytics 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. Per eseguire una query che include dati di altri servizi di Azure, selezionare Logs dal menu Monitoraggio di Azure. Per informazioni dettagliate, vedere Ambito delle query di log e intervallo di tempo in Monitoraggio di Azure Log Analytics.

Per un elenco delle query comuni per qualsiasi servizio, vedere l'interfaccia query di Log Analytics.

Prima di usare Log Analytics per eseguire query Kusto, è necessario abilitare i log di diagnostica per le operazioni del piano di controllo. Quando si abilitano i log di diagnostica, è possibile scegliere tra l'archiviazione dei dati in tabelle specifiche delle risorse o la singola tabella AzureDiagnostics (legacy). Il testo esatto delle query Kusto dipende dalla modalità di raccolta selezionata.

Di seguito sono riportate alcune query che è possibile immettere nella barra di ricerca Ricerca log per consentire il monitoraggio delle risorse Azure Cosmos DB.

Per eseguire una query su tutti i log del piano di controllo da Azure Cosmos DB:

CDBControlPlaneRequests

Per eseguire una query su tutti i log del piano dati da Azure Cosmos DB:

CDBDataPlaneRequests

Per eseguire una query su un elenco filtrato di log del piano dati, specifico di una singola risorsa:

CDBDataPlaneRequests
| where AccountName=="<account-name>"

Per ottenere un conteggio dei log del piano dati, raggruppati per risorsa:

CDBDataPlaneRequests
| summarize count() by AccountName

Per generare un grafico per i log del piano dati, raggruppati in base al tipo di operazione:

CDBDataPlaneRequests
| summarize count() by OperationName
| render piechart

Per le query Kusto che è possibile utilizzare per risolvere i problemi relativi ad Azure Cosmos DB, vedere gli articoli seguenti:

Questi esempi sono solo una piccola parte delle query avanzate che è possibile eseguire in Monitoraggio di Azure utilizzando il Linguaggio di query Kusto (KQL). Per altri esempi, vedere esempi per le query Kusto.

Alerts

Gli avvisi di Monitoraggio di Azure ti notificheranno in modo proattivo quando vengono rilevate 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 notifiche comuni per le risorse di Azure. Per esempi di avvisi più comuni per le risorse di Azure, vedere Query di esempio per avvisi di log. Il sito Monitoraggio di Azure Baseline Alerts (AMBA) fornisce un metodo semi-automatizzato per implementare importanti avvisi, dashboard e linee guida per le metriche della piattaforma. Il sito si applica a un sottoinsieme in continua espansione di servizi Azure, compresi tutti i servizi che fanno parte dell'Azure Landing Zone (ALZ).

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 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 da Monitoraggio di Azure convertite in metriche o metriche di Application Insights. Gli avvisi delle metriche possono anche applicare più condizioni e soglie dinamiche.
  • Gli avvisi di 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 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 di Azure Cosmos DB

La tabella seguente elenca alcune regole di avviso comuni e consigliate per Azure Cosmos DB.

Tipo di avviso Condition Description
Limitazione della frequenza per le unità richiesta (avviso della metrica) Nome dimensione: StatusCode, Operatore: Uguale a, Valori dimensione: 429 Allerta se il contenitore o un database supera il limite di throughput previsto.
Failover area eseguito Operatore: Maggiore di, tipo di aggregazione: Conteggio, Valore soglia: 1 Quando viene eseguito il failover di una singola area. Questo avviso è utile se non è stato abilitato il failover gestito dal servizio.
Ruota chiavi (avviso del log attività) Livello evento: informativo, Stato: avviato Invia un avviso quando le chiavi dell'account vengono ruotate. È possibile aggiornare l'applicazione con le nuove chiavi.

Per altre informazioni e istruzioni relative alla creazione di avvisi per Azure Cosmos DB, vedere Creare un avviso per le metriche. Per creare un avviso per monitorare se l'archiviazione per una chiave di partizione logica si avvicina a 20 GB, vedere Creare avvisi sulla dimensione della chiave di partizione logica.

Raccomandazioni dell'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.