Metriche personalizzate in Monitoraggio di Azure (anteprima)

Azure rende alcune metriche predefinite disponibili all'utente. Queste metriche sono denominate standard o platform. Le metriche personalizzate sono indicatori di prestazioni o metriche specifiche dell'azienda che possono essere raccolte tramite i dati di telemetria dell'applicazione, l'agente di Monitoraggio di Azure, un'estensione di diagnostica eseguita sulle risorse di Azure o un sistema di monitoraggio esterno. Dopo che le metriche personalizzate vengono pubblicate in Monitoraggio di Azure, è possibile esplorare, eseguire query e avvisarle insieme alle metriche standard di Azure.

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

Metodi per inviare metriche personalizzate

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

  • Usare app Azure lication Insights SDK per instrumentare l'applicazione inviando dati di telemetria personalizzati a Monitoraggio di Azure.
  • Installare l'agente di Monitoraggio di Azure nella macchina virtuale Windows o Linux di Azure o nel set di scalabilità di macchine virtuali e usare una regola di raccolta dati per inviare contatori delle prestazioni alle metriche di Monitoraggio di Azure.
  • Installare l'estensione Diagnostica di Azure nella macchina virtuale di Azure, nel set di scalabilità di macchine virtuali, nella macchina virtuale classica o nel servizio cloud classico. Inviare quindi i contatori delle prestazioni a Monitoraggio di Azure.
  • Installare l'agente InfluxData Telegraf nella macchina virtuale Linux di Azure. Inviare metriche usando il plug-in di output di Monitoraggio di Azure.
  • Inviare metriche personalizzate direttamente all'API REST di Monitoraggio di Azure.

Modello di determinazione dei prezzi e conservazione

In generale, non è previsto alcun costo per inserire metriche standard (metriche della piattaforma) in un archivio metriche di Monitoraggio di Azure, ma le metriche personalizzate comportano costi quando immettono disponibilità generale. Le query sull'API delle metriche comportano costi. Per informazioni dettagliate su quando la fatturazione è abilitata per le metriche personalizzate e le query sulle metriche, vedere la pagina dei prezzi di Monitoraggio di Azure.

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

Nota

Le metriche inviate a Monitoraggio di Azure tramite Application Insights SDK vengono fatturate come dati di log inseriti. Vengono addebitati addebiti aggiuntivi per le metriche solo se è stata selezionata l'opzione Abilita avviso per le dimensioni delle metriche personalizzate. Questa casella di controllo invia i dati al database delle metriche di Monitoraggio di Azure usando l'API delle metriche personalizzate per consentire l'invio di avvisi più complessi. Altre informazioni sul modello di determinazione prezzi e sui prezzi di Application Insights nell'area.

Definizioni di metriche personalizzate

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

Nota

Application Insights, l'estensione diagnostica e l'agente InfluxData Telegraf sono già configurati per generare valori delle metriche rispetto all'endpoint regionale corretto e portare tutte le proprietà precedenti in ogni emissione.

Uso delle metriche personalizzate

Dopo l'invio di metriche personalizzate a Monitoraggio di Azure, è possibile esaminarle tramite il portale di Azure ed eseguire 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.

Nota

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 rispetto a cui sono state generate metriche personalizzate.
  5. Selezionare lo spazio dei nomi di metriche per la metrica personalizzata.
  6. Selezionare la metrica personalizzata.

Per altre informazioni sulla visualizzazione delle metriche nella 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 il 99% del tempo.

Se si elimina una metrica o si rimuove una dimensione, la modifica può richiedere 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:

Category Limite
Totale serie temporali attive 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 characters
Lunghezza combinata di tutti i nomi delle metriche personalizzate, usando la codifica utf-8 64 kB

Una serie temporale attiva è definita come una combinazione univoca di metrica, chiave di dimensione o valore di dimensione con valori della metrica pubblicati nelle 12 ore precedenti.

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 che offrono 10 x 20 x 100 = 20.000 serie temporali.

Se si hanno 100 aree, 200 reparti e 2.000 clienti, che offrono 100 x 200 x 2.000 = 40 milioni di serie temporali, che superano il limite solo per questa metrica.

Anche in questo caso, questo limite non è per una singola metrica. Si tratta della somma di tutte queste metriche in una sottoscrizione e in un'area.

Seguire questa procedura per visualizzare le metriche delle serie temporali attive correnti correnti e altre informazioni per facilitare la risoluzione dei problemi.

  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 Ridefinire l'ambito scegliere Utilizzo metrica personalizzato e la posizione desiderata.
  5. Selezionare il pulsante Applica.
  6. Scegliere Serie temporali attive, Limite serie temporali attive o Serie temporali limitate.

Esiste un limite di 64 KB per la lunghezza combinata di tutti i nomi di metriche personalizzati, presupponendo utf-8 o 1 byte per carattere. Se viene superato il limite di 64 KB, i metadati per le metriche aggiuntive non saranno disponibili. I nomi delle metriche per metriche personalizzate aggiuntive non verranno visualizzati nella portale di Azure nei campi di selezione e non verranno restituiti dall'API nelle richieste di definizioni delle metriche. I dati delle metriche sono ancora disponibili e possono essere sottoposti a query.

Quando il limite è stato superato, ridurre il numero di metriche inviate o accorciate la lunghezza dei nomi. La visualizzazione dei nomi delle nuove metriche richiede quindi 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'utilizzoCPU_server_12345678-319d-4a50-b27e-1234567890ab della CPU del server e CPU_server_abcdef01-319d-4a50-b27e-abcdef012345 devono essere definite come metrica CPU e con una Server dimensione.

Limitazioni e considerazioni sulla progettazione

Uso di Application Insights ai fini del 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, limita o campioni (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 usarlo 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. Usare invece una costante. Ogni volta che la variabile modifica il valore, Monitoraggio di Azure genera una nuova metrica. Monitoraggio di Azure raggiunge quindi rapidamente il limite per il numero di metriche. In genere, quando gli sviluppatori vogliono includere una variabile nel nome della metrica, vogliono realmente tenere traccia di più serie temporali all'interno di una metrica e devono 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 una dimensione. È possibile usare server, cliente o ID prodotto, ma solo se si dispone di un numero minore di ognuno di questi tipi.

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

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

  • Le metriche diventano inaffidabili a causa della limitazione.
  • Esplora metriche non funzionerà.
  • Gli avvisi e le notifiche diventano imprevedibili.
  • I costi possono aumentare in modo imprevisto. Microsoft non carica metriche personalizzate con dimensioni mentre questa funzionalità è in anteprima pubblica. Dopo l'avvio degli addebiti in futuro, verranno addebitati addebiti imprevisti. Il piano prevede l'addebito 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 la scelta giusta. 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 verrà archiviata. Di conseguenza, se si dispone di un volume elevato di log in un piccolo periodo di tempo (1 milione al secondo, ad esempio), può causare limitazioni e ritardi di inserimento.

Passaggi successivi

Usare metriche personalizzate da vari servizi: