Condividi tramite


Metriche personalizzate in Monitoraggio di Azure (anteprima)

Azure rende automaticamente alcune metriche disponibili all'utente finale. Queste metriche vengono denominate metriche standard o piattaforma. Le metriche personalizzate sono indicatori di prestazioni o metriche specifiche dell'azienda. È possibile raccoglierli tramite i dati di telemetria dell'applicazione. È anche possibile usare l'agente di Monitoraggio di Azure, un'estensione di diagnostica nelle risorse di Azure o un sistema di monitoraggio esterno. Dopo che le metriche personalizzate vengono pubblicate in Monitoraggio di Azure, è possibile esplorarle ed eseguirvi query e avvisi insieme alle metriche standard di Azure.

Le metriche personalizzate di Monitoraggio di Azure sono attualmente in anteprima pubblica.

Suggerimento

Per un confronto dettagliato tra metriche standard, metriche basate su log e metriche personalizzate, vedere Metriche in Application Insights .

Metodi per inviare metriche personalizzate

È possibile inviare le metriche personalizzate a Monitoraggio di Azure mediante diversi metodi:

Modello e conservazione dei prezzi

In generale, non è previsto alcun costo per l’inserimento di metriche standard (metriche della piattaforma) in un archivio metriche di Monitoraggio di Azure, ma le metriche personalizzate comportano costi quando diventano di disponibilità generale. Le query su API delle metriche comportano costi. Per informazioni dettagliate su quando la fatturazione è attiva per le metriche personalizzate e le query metriche, consultare la pagina dei prezzi di Azure Monitor.

Le metriche personalizzate vengono mantenute per la stessa quantità di tempo delle metriche della piattaforma.

Annotazioni

Per offrire un'esperienza migliore, le metriche personalizzate inviate a Monitoraggio di Azure da Application Insights Classic API Software Development Kit (SDK) vengono sempre archiviate sia in Log Analytics che in Metrics Store. Il costo per archiviare queste metriche si basa solo sul volume inserito da Log Analytics. Non sono previsti costi aggiuntivi per i dati archiviati nell'archivio metriche.

Definizioni di metriche personalizzate

Ogni punto dati di metrica pubblicato contiene uno spazio dei nomi, un nome e informazioni sulle dimensioni. La prima volta che una metrica personalizzata viene generata in Monitoraggio di Azure, viene creata automaticamente una definizione di metrica. Questa nuova definizione di metrica è quindi individuabile in qualsiasi risorsa per cui viene generata la metrica tramite le definizioni di metrica. Non è necessario definire una metrica personalizzata in Monitoraggio di Azure prima di trasmetterla.

Annotazioni

Application Insights, l'estensione diagnostica, e l'agente InfluxData Telegraf sono già configurati per generare i valori delle metriche in base all'endpoint a livello di area corretto e per includere in ogni emissione tutte le proprietà indicate in precedenza.

Uso delle metriche personalizzate

Dopo l'invio delle metriche personalizzate a Monitoraggio di Azure, è possibile esplorarle tramite il portale di Azure e sottoporle a query tramite le API REST di Monitoraggio di Azure. È inoltre possibile creare avvisi su di esse per ricevere una notifica quando vengono soddisfatte determinate condizioni.

Annotazioni

Per visualizzare le metriche personalizzate, è necessario avere un ruolo lettore o collaboratore. Vedere Lettore di monitoraggio.

Esplorare le metriche personalizzate tramite il portale di Azure

  1. Vai al portale di Azure .
  2. Selezionare il riquadro Monitoraggio.
  3. Selezionare Metriche.
  4. Selezionare una risorsa per cui si generano metriche personalizzate.
  5. Seleziona lo spazio dei nomi delle metriche per la metrica personalizzata.
  6. Selezionare la metrica personalizzata.

Per altre informazioni sulla visualizzazione delle metriche nel portale di Azure, vedere Analizzare le metriche con Esplora metriche di Monitoraggio di Azure.

Latenza e conservazione dell'archiviazione

Per visualizzare una metrica o una dimensione appena aggiunta a una metrica potrebbero essere necessari fino a 3 minuti. Dopo che i dati sono presenti nel sistema, dovrebbero essere visualizzati in meno di 30 secondi nel 99% dei casi.

Se si elimina una metrica o si rimuove una dimensione, la modifica può richiedere da una settimana a un mese per essere eliminata dal sistema.

Quote e limiti

Monitoraggio di Azure impone le seguenti limitazioni d'uso in relazione alle metriche personalizzate:

Categoria Limite
Serie temporali attive totali in una sottoscrizione per area 50,000
Chiavi di dimensione per metrica 10
Lunghezza della stringa per gli spazi dei nomi delle metriche, i nomi delle metriche e le chiavi e i valori di dimensione 256 caratteri
Lunghezza combinata di tutti i nomi delle metriche personalizzate, usando la codifica UTF-8 64 kB

Una serie temporale attiva è una combinazione univoca di metrica, chiave della dimensione o valore della dimensione con valori delle metriche pubblicati nelle ultime 12 ore.

Per comprendere il limite di 50.000 per le serie temporali, prendere in considerazione la metrica seguente:

Tempo di risposta del server con dimensioni: Area, Reparto, CustomerID

Con questa metrica, se si hanno 10 aree, 20 reparti e 100 clienti, ottieni 10 x 20 x 100 = 20.000 serie temporali.

Se sono presenti 100 aree, 200 reparti e 2.000 clienti, il risultato è 100 x 200 x 2.000 = 40 milioni di serie temporali. Questo numero supera il limite per una singola metrica.

E questo limite non è per una singola metrica. Si tratta della somma di tutte le metriche all'interno di una sottoscrizione e un'area.

Per visualizzare le metriche delle serie temporali attive correnti e ottenere altre informazioni per la risoluzione dei problemi, seguire questa procedura.

  1. Passare alla sezione Monitoraggio del portale di Azure.
  2. Selezionare Metriche sul lato sinistro.
  3. In Selezionare un ambito, controllare la sottoscrizione e i gruppi di risorse applicabili.
  4. In Affina ambito, scegliere Utilizzo metrica personalizzata e la posizione desiderata.
  5. Selezionare il pulsante Applica.
  6. Scegliere Serie temporale attiva, Limite serie temporale attivao Serie temporale limitata.

Azure Monitor limita la lunghezza combinata di tutti i nomi di metrica personalizzati a 64 KB, presupponendo la codifica UTF-8 o 1 byte per carattere. Se i nomi delle metriche superano questo limite, Azure Monitor blocca l'accesso ai metadati delle altre metriche. Il portale di Azure omette i nomi delle metriche dai campi di selezione e l'API li ignora quando restituisce le definizioni delle metriche. È comunque possibile eseguire query sui dati delle metriche direttamente, anche senza i metadati.

Quando viene superato il limite, riduci il numero di metriche inviate o accorcia la lunghezza dei loro nomi. Ci vorranno fino a due giorni prima che i nuovi nomi delle metriche vengano visualizzati.

Per evitare di raggiungere il limite, non includere aspetti variabili o dimensionali nei nomi delle metriche. Ad esempio, le metriche per l'utilizzo della CPU del server CPU_server_12345678-319d-4a50-b27e-1234567890ab e CPU_server_abcdef01-319d-4a50-b27e-abcdef012345 devono essere definite come metriche CPU e con una dimensione Server.

Limitazioni e considerazioni sulla progettazione

Uso di Application Insights a fini di controllo. La pipeline di telemetria di Application Insights è ottimizzata per ridurre al minimo l'impatto sulle prestazioni e limitare il traffico di rete dal monitoraggio dell'applicazione. Di conseguenza, essa limita o campiona (accetta solo una percentuale dei dati di telemetria e ignora il resto) se il set di dati iniziale diventa troppo grande. A causa di questo comportamento, non è possibile usarla a scopo di controllo perché è probabile che alcuni record vengano eliminati.

Metriche con una variabile nel nome. Non usare una variabile come parte del nome della metrica. Usa invece una costante. Ogni volta che la variabile modifica il valore, Monitoraggio di Azure genera una nuova metrica. Azure Monitor quindi raggiunge rapidamente il limite del numero di metriche. In genere, quando gli sviluppatori vogliono includere una variabile nel nome della metrica, ciò che vogliono realmente è tenere traccia di più serie temporali all'interno di una metrica; a tale scopo, usare dimensioni anziché nomi di metriche variabili.

Dimensioni di metriche con cardinalità elevata. Le metriche con troppi valori validi in una dimensione (cardinalità elevata) hanno maggiori probabilità di raggiungere il limite di 50.000. In generale, non è mai consigliabile usare un valore che cambia costantemente in una dimensione. Il timestamp, ad esempio, non deve mai essere inserito in una dimensione. È possibile usare un ID server, cliente o prodotto, ma solo se si dispone di un numero minore di ognuno di questi tipi.

Come test, domandarsi se si creerebbe mai un grafico di tali dati. Se si dispone di 10 o persino 100 server, potrebbe essere utile visualizzarli tutti in un grafico per effettuare un confronto. Tuttavia, se si dispone di 1.000 server, il grafico risultante sarà probabilmente difficile o impossibile da leggere. Una procedura consigliata consiste nel mantenere un numero inferiore a 100 valori validi. Fino a 300 è una zona grigia. Se è necessario superare questo numero, usare invece i log personalizzati di Monitoraggio di Azure.

Se si dispone di una variabile nel nome o di una dimensione con cardinalità elevata, possono verificarsi i problemi seguenti:

  • Le metriche diventano inaffidabili a causa della limitazione.
  • Esplora metriche non funziona.
  • Gli avvisi e le notifiche diventano imprevedibili.
  • I costi possono aumentare in modo imprevisto. Microsoft non addebita costi aggiuntivi per metriche personalizzate con dimensioni mentre questa funzionalità è attualmente in anteprima pubblica. In futuro, quando inizieranno gli addebiti, potresti incorrere in costi imprevisti. Il piano prevede l'addebito di costi per il consumo delle metriche in base al numero di serie temporali monitorate e al numero di chiamate API effettuate.

Se il nome o il valore della dimensione della metrica viene popolato con un identificatore o una dimensione a cardinalità elevata per errore, è possibile correggerlo facilmente rimuovendo la parte della variabile.

Tuttavia, se la cardinalità elevata è essenziale per lo scenario, le metriche aggregate non sono probabilmente una scelta consigliabile. Passare all'uso di log personalizzati, ovvero le chiamate API trackMetric con trackEvent. Si consideri tuttavia che i log non aggregano valori, quindi ogni singola voce viene archiviata. Di conseguenza, se si dispone di un volume elevato di log in un breve periodo di tempo (1 milione al secondo, ad esempio), è possibile che si verifichino limitazioni delle richieste e ritardi di inserimento.

Suggerimento

Le metriche di Monitoraggio di Azure e l'area di lavoro di Monitoraggio di Azure inseriscono metriche personalizzate a intervalli di 60 secondi fissi. Le metriche inviate più frequentemente vengono memorizzate nel buffer ed elaborate una volta ogni 60 secondi. Log Analytics registra le metriche nell'intervallo in cui vengono inviati, il che può aumentare i costi a intervalli più brevi e ritardare la visibilità nel caso di intervalli più lunghi.

Passaggi successivi

Usare metriche personalizzate da vari servizi: