Metriche personalizzate in Monitoraggio di Azure (anteprima)
Azure rende alcune metriche predefinite disponibili all'utente. Queste metriche vengono denominate metriche standard o piattaforma. 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 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:
- Usare l’SDK Azure Application Insights 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. Quindi, inviare 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 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 è abilitata per metriche personalizzate e query sulle metriche, vedere la pagina prezzi di Monitoraggio di Azure.
Le metriche personalizzate vengono mantenute per la stessa quantità di tempo delle metriche della piattaforma.
Nota
Per offrire un'esperienza migliore, le metriche personalizzate inviate a Monitoraggio di Azure dall'API classica di Application Insights (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 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 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.
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
- Vai al portale di Azure.
- Selezionare il riquadro Monitoraggio.
- Selezionare Metriche.
- Selezionare una risorsa per cui sono state generate metriche personalizzate.
- Selezionare lo spazio dei nomi di metriche per la metrica personalizzata.
- 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 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, ciò significa 100 x 200 x 2.000 = 40 milioni di serie temporali, che superano il limite anche solo per questa metrica.
E questo limite non è per una singola metrica. Si tratta della somma di tutte le metriche in una sottoscrizione e in un'area.
Seguire questa procedura per visualizzare le metriche delle serie temporali attive correnti e altre informazioni per facilitare la risoluzione di problemi.
- Passare alla sezione Monitoraggio del portale di Azure.
- Selezionare Metriche sul lato sinistro.
- In Selezionare un ambito, controllare la sottoscrizione e i gruppi di risorse applicabili.
- In Affina ambito, scegliere Utilizzo metrica personalizzata e la posizione desiderata.
- Selezionare il pulsante Applica.
- Scegliere serie temporali attive, limite serie temporali attiveo 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 nel 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 viene superato, ridurre il numero di metriche inviate o accorciare la lunghezza dei 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. 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, 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 funzionerà.
- Gli avvisi e le notifiche diventano imprevedibili.
- I costi possono aumentare in modo imprevisto. Microsoft non addebita costi per metriche personalizzate con dimensioni mentre questa funzionalità è in anteprima pubblica. In futuro, dopo che i costi cominceranno a essere addebitati, verranno addebitati 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. Tuttavia, tenere presente 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 breve periodo di tempo (1 milione al secondo, ad esempio), ciò può causare limitazioni delle richieste e ritardi di inserimento.
Passaggi successivi
Usare metriche personalizzate da vari servizi: