Metriche personalizzate in Monitoraggio di Azure (anteprima)

Azure fornisce metriche predefinite. Queste metriche sono denominate metriche standard o della 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 o un sistema di monitoraggio esterno. Dopo aver pubblicato metriche personalizzate in Monitoraggio di Azure, è possibile esplorare, eseguire query e avvisarle insieme alle metriche standard Azure.

Annotazioni

Monitoraggio di Azure metriche personalizzate sono in anteprima pubblica. Questa funzionalità non verrà resa disponibile a livello generale, perché una funzionalità migliorata disponibile a livello generale consente di ottenere le stesse funzionalità e altro ancora: Application Insights con OpenTelemetry. Oltre alle metriche personalizzate, sono supportati anche i contatori delle prestazioni OpenTelemetry del sistema operativo guest delle macchine virtuali.

Usare la sostituzione disponibile a livello generale

Le metriche personalizzate descritte in questo articolo rimangono in anteprima e non verranno rese disponibili a livello generale. Per le nuove soluzioni, usare il percorso basato su OpenTelemetry disponibile a livello generale, che fornisce le stesse funzionalità e altro ancora. Per iniziare, vedere Application Insights con OpenTelemetry e le metriche di sistema OpenTelemetry per le macchine virtuali.

Metodi per inviare metriche personalizzate

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

Modello tariffario

L'inserimento di metriche standard (metriche della piattaforma) in un archivio metriche di Monitoraggio di Azure è gratuito. Le metriche personalizzate native sono gratuite anche durante l'anteprima. Le query sull'API delle metriche comportano costi. Poiché le metriche personalizzate rimangono in anteprima e non verranno rese disponibili a livello generale, usare la sostituzione basata su OpenTelemetry disponibile a livello generale per un modello di fatturazione supportato. Per le metriche correnti e i prezzi delle query, vedere la pagina dei prezzi Monitoraggio di Azure.

Definizioni di metriche personalizzate

Ogni punto dati della metrica pubblicato contiene un namespace, un nome e informazioni sulla dimensione. La prima volta che si genera una metrica personalizzata in Monitoraggio di Azure, il servizio crea automaticamente una definizione di metrica. È possibile individuare questa nuova definizione di metrica in qualsiasi risorsa da cui viene generata la metrica tramite le definizioni delle metriche. Non è necessario definire una metrica personalizzata in Monitoraggio di Azure prima di trasmetterla.

Annotazioni

Application Insights e l'agente InfluxData Telegraf sono già configurati per emettere i valori delle metriche verso l'endpoint regionale corretto e trasportare tutte le proprietà sopra menzionate in ogni emissione.

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

È necessario il ruolo Lettore di monitoraggio per visualizzare le metriche personalizzate.

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

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

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.

Monitoraggio di Azure 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, Monitoraggio di Azure 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. La visualizzazione dei nomi delle nuove metriche richiede fino a due giorni.

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 per il 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. Monitoraggio di Azure 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 delle 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 perché le query sulle metriche vengono fatturate. Per un modello di fatturazione supportato, disponibile a livello generale, usare la sostituzione basata su OpenTelemetry.

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: