Connect a un'origine dati di Azure Monitor - Grafana gestito da Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Connect a un'origine dati di Azure Monitor

L'origine dati di Azure Monitor supporta più servizi nel cloud di Azure:

Aggiungere la fonte di dati

L'origine dati può accedere alle metriche di quattro diversi servizi. Puoi configurare l'accesso ai servizi che utilizzi. È anche possibile usare le stesse credenziali per più servizi se è così che le hai configurate in Azure AD.

  1. Accessibile dal menu principale di Grafana, le sorgenti dati appena installate possono essere aggiunte immediatamente nella sezione Fonti dati. Quindi, scegli il pulsante Aggiungi origine dati in alto a destra. L'origine dati di Azure Monitor sarà disponibile per la selezione nella sezione Cloud dell'elenco delle fonti di dati.

  2. Nel campo del nome, Grafana inserirà automaticamente un nome per la fonte di dati: Azure Monitor o qualcosa del genere. Azure Monitor - 3 Se stai configurando più fonti di dati, cambia il nome con qualcosa di più informativo.

  3. Se usi Azure Monitor, hai bisogno di quattro informazioni dal portale di Azure (per istruzioni dettagliate, consulta il link fornito in precedenza):

    • ID tenant (Azure Active Directory, Proprietà, ID directory)

    • ID client (Azure Active Directory, registrazioni app, scelta dell'app, ID applicazione)

    • Client Secret (Azure Active Directory, registrazioni app, scelta dell'app, chiavi)

    • ID di abbonamento predefinito (abbonamenti, Scegli abbonamento, Panoramica, ID abbonamento)

  4. Incolla questi quattro elementi nei campi della sezione Dettagli dell'API di Azure Monitor.

    • L'ID di sottoscrizione può essere modificato per ogni query. Salva la fonte di dati e aggiorna la pagina per visualizzare l'elenco degli abbonamenti disponibili per l'ID client specificato.

  5. Se si utilizza anche il servizio Azure Log Analytics, è necessario specificare questi due valori di configurazione o riutilizzare l'ID client e il segreto del passaggio precedente.

    • ID client (Azure Active Directory, Registrazioni app, Scegli l'app, ID applicazione)

    • Client Secret (Azure Active Directory, Registrazioni app, Scegli l'app, Chiavi, Crea una chiave, Usa client secret)

  6. Se usi Application Insights, hai bisogno di due informazioni dal portale di Azure (per istruzioni dettagliate, consulta il link fornito in precedenza):

    • ID dell'applicazione

    • Chiave API

  7. Incolla questi due elementi nei campi appropriati della sezione Dettagli dell'API di Application Insights.

  8. Verifica che i dettagli di configurazione siano corretti scegliendo il pulsante Salva e prova.

In alternativa, nel passaggio 4, se stai creando una nuova app Azure Active Directory, usa l'interfaccia della riga di comando di Azure:

az ad sp create-for-rbac -n "http://localhost:3000"

Scelta di un servizio

Nell'editor di query per un pannello, dopo aver scelto l'origine dati di Azure Monitor, il primo passaggio consiste nella selezione di un servizio. Sono disponibili quattro opzioni:

  • Azure Monitor

  • Application Insights

  • Azure Log Analytics

  • Insights Analytics

L'editor di query cambia a seconda dell'opzione selezionata. L'impostazione predefinita è Azure Monitor.

Interrogazione del servizio Azure Monitor

Il servizio Azure Monitor fornisce metriche per tutti i servizi di Azure in esecuzione. Ti aiuta a capire le prestazioni delle tue applicazioni in Azure e rileva in modo proattivo i problemi che riguardano le tue applicazioni.

Se le tue credenziali di Azure Monitor ti consentono di accedere a più sottoscrizioni, scegli prima la sottoscrizione appropriata.

Esempi di metriche che puoi ottenere dal servizio sono:

  • Microsoft.Compute/virtualMachines - Percentage CPU

  • Microsoft.Network/networkInterfaces - Bytes sent

  • Microsoft.Storage/storageAccounts - Used Capacity

L'editor di query consente di interrogare più dimensioni per le metriche che le supportano. Le metriche che supportano più dimensioni sono quelle elencate nell'elenco delle metriche supportate da Azure Monitor che hanno uno o più valori elencati nella colonna Dimension relativa alla metrica.

Formattazione delle chiavi della legenda con alias per Azure Monitor

La formattazione predefinita della legenda per l'API di Azure Monitor è:

metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}

Questi possono essere lunghi, ma puoi modificare questa formattazione usando gli alias. Nel campo Legend Format, puoi combinare i seguenti alias nel modo che preferisci.

Esempi di Azure Monitor:

  • Blob Type: {{ blobtype }}

  • {{ resourcegroup }} - {{ resourcename }}

Modelli di alias per Azure Monitor

  • {{ resourcegroup }}= sostituito con il valore del Resource Group

  • {{ namespace }}= sostituito con il valore del Namespace (ad esempio, Microsoft.Compute/VirtualMachines)

  • {{ resourcename }}= sostituito con il valore del nome della risorsa

  • {{ metric }}= sostituito con un nome metrico (ad esempio, Percentage CPU)

  • {{ dimensionname }}= Versione precedente a partire dalla versione 7.1+ (per compatibilità con le versioni precedenti) sostituita con la chiave/etichetta della prima dimensione (ordinata in base alla chiave/etichetta) (ad esempio, blobtype)

  • {{ dimensionvalue }}= Versione precedente a partire dalla versione 7.1+ (per compatibilità con le versioni precedenti) sostituito dal valore della prima dimensione (ordinato in base alla chiave/etichetta) (ad esempio,) BlockBlob

  • {{ arbitraryDim }}= Disponibile nella versione 7.1+ sostituita con il valore della dimensione corrispondente. (ad esempio, {{ blobtype }} diventa) BlockBlob

Creazione di variabili modello per Azure Monitor

Invece di inserire elementi come il nome del server, dell'applicazione e del sensore nelle query metriche, puoi usare variabili al loro posto. Le variabili vengono visualizzate come caselle di selezione a discesa nella parte superiore della dashboard. Puoi utilizzare queste caselle a discesa per modificare i dati visualizzati nella dashboard.

Tieni presente che il servizio Azure Monitor non supporta ancora valori multipli. Per visualizzare più serie temporali (ad esempio, metriche per server1 e server2), aggiungi più query in modo da poterle visualizzare sullo stesso grafico o nella stessa tabella.

Il plug-in di origine dati di Azure Monitor fornisce le seguenti query che è possibile specificare nel campo Query nella visualizzazione di modifica delle variabili. È possibile utilizzarli per compilare l'elenco delle opzioni di una variabile.

Nome Descrizione
Subscriptions() Restituisce un elenco di abbonamenti.
ResourceGroups() Restituisce un elenco di gruppi di risorse.
ResourceGroups(12345678-aaaa-bbbb-cccc-123456789aaa) Restituisce un elenco di gruppi di risorse per un abbonamento specificato.
Namespaces(aResourceGroup) Restituisce un elenco di namespace per il gruppo di risorse specificato.
Namespaces(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup) Restituisce un elenco di namespace per il gruppo di risorse e l'abbonamento specificati.
ResourceNames(aResourceGroup, aNamespace) Restituisce un elenco di nomi di risorse.
ResourceNames(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup, aNamespace) Restituisce un elenco di nomi di risorse per un abbonamento specificato.
MetricNamespace(aResourceGroup, aNamespace, aResourceName) Restituisce un elenco di namespace metrici.
MetricNamespace(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup, aNamespace, aResourceName) Restituisce un elenco di namespace metrici per un abbonamento specificato.
MetricNames(aResourceGroup, aNamespace, aResourceName) Restituisce un elenco di nomi di metriche.
MetricNames(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup, aNamespace, aResourceName) Restituisce un elenco di nomi di metriche per un abbonamento specificato.

Esempi:

  • Interrogazione Resource Groups: ResourceGroups()

  • Passaggio della variabile con il nome della metrica: Namespaces(cosmo)

  • Concatenamento delle variabili del modello: ResourceNames($rg, $ns)

  • Non citare i parametri: MetricNames(hg, Microsoft.Network/publicIPAddresses, grafanaIP)

Per ulteriori informazioni sulla creazione di modelli e variabili di modello, vedere. Modelli

Elenco delle metriche di Azure Monitor supportate

Non tutte le metriche restituite dall'API di Azure Monitor hanno valori. Per semplificare la creazione di una query, l'origine dati Grafana dispone di un elenco di metriche di Azure Monitor supportate e ignora le metriche che non avranno mai valori. Questo elenco viene aggiornato regolarmente man mano che nuovi servizi e metriche vengono aggiunti al cloud Azure.

Avvisi di Azure Monitor

Gli avvisi Grafana sono supportati per il servizio Azure Monitor. Questo non è il supporto di Azure Alerts. Per ulteriori informazioni sugli avvisi Grafana, vedere. Avvisi Grafana

Interrogazione del servizio Application Insights

Formattazione delle chiavi della legenda con alias per Application Insights

La formattazione predefinita della legenda è:

metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}

Nel campo Legend Format, i seguenti alias possono essere combinati come preferisci.

Esempi di Application Insights:

  • city: {{ client/city }}

  • {{ metric }} [Location: {{ client/countryOrRegion }}, {{ client/city }}]

Modelli di alias per Application Insights

  • {{ groupbyvalue }}= Legacy a partire da Grafana 7.1+ (per compatibilità con le versioni precedenti) sostituita con la chiave/etichetta della prima dimensione (ordinata in base alla chiave/etichetta)

  • {{ groupbyname }}= Legacy a partire da Grafana 7.1+ (per compatibilità con le versioni precedenti) sostituito con il valore della prima dimensione (come ordinato per chiave/etichetta) (ad esempio,) BlockBlob

  • {{ metric }}= sostituito con un nome metrico (ad esempio, requests/count)

  • {{ arbitraryDim }}= Disponibile nella versione 7.1+ sostituita con il valore della dimensione corrispondente. (ad esempio, {{ client/city }} diventa Chicago)

Filtra le espressioni per Application Insights

Il campo di filtro accetta un'espressione di filtro OData.

Esempi:

  • client/city eq 'Boydton'

  • client/city ne 'Boydton'

  • client/city ne 'Boydton' and client/city ne 'Dublin'

  • client/city eq 'Boydton' or client/city eq 'Dublin'

Creazione di modelli con variabili per Application Insights

Utilizzate una delle seguenti query nel campo Query della vista di modifica delle variabili.

Per ulteriori informazioni sulla creazione di modelli e variabili di modello, vedere. Modelli

Nome Descrizione
AppInsightsMetricNames() Restituisce un elenco di nomi di metriche.
AppInsightsGroupBys(aMetricName) Restituisce un elenco di group by clausole per il nome della metrica specificato.

Esempi:

  • Interrogazione sui nomi delle metriche: AppInsightsMetricNames()

  • Passaggio della variabile con il nome della metrica: AppInsightsGroupBys(requests/count)

  • Concatenamento delle variabili del modello: AppInsightsGroupBys($metricnames)

Avvisi di Application Insights

Gli avvisi Grafana sono supportati per Application Insights. Questo non è il supporto di Azure Alerts. Per ulteriori informazioni sugli avvisi Grafana, vedere. Avvisi Grafana

Interrogazione del servizio Azure Log Analytics

Le query sono scritte nel nuovo linguaggio di interrogazione di Azure Log Analytics (o KusToDB). Una query di Log Analytics può essere formattata come dati di serie temporali o come dati di tabella.

Se le tue credenziali ti consentono di accedere a più abbonamenti, scegli l'abbonamento appropriato prima di inserire le domande.

Interrogazioni relative alle serie temporali

Le interrogazioni sulle serie temporali riguardano il pannello grafico e altri pannelli come il SingleStat pannello. Ogni query deve contenere almeno una colonna datetime e una colonna con valori numerici. Il risultato deve essere ordinato in ordine crescente in base alla colonna datetime.

Il seguente esempio di codice mostra una query che restituisce il conteggio aggregato raggruppato per ora.

Perf | where $__timeFilter(TimeGenerated) | summarize count() by bin(TimeGenerated, 1h) | order by TimeGenerated asc

Una query può anche avere una o più colonne non numeriche/non datetime e tali colonne vengono considerate dimensioni e diventano etichette nella risposta. Ad esempio, una query che restituisce il conteggio aggregato raggruppato per ora, Computer e. CounterName

Perf | where $__timeFilter(TimeGenerated) | summarize count() by bin(TimeGenerated, 1h), Computer, CounterName | order by TimeGenerated asc

È inoltre possibile selezionare colonne con valori numerici aggiuntivi (con o senza dimensioni multiple). Ad esempio, ottenendo un conteggio e un valore medio per ora CounterName, Computer e InstanceName:

Perf | where $__timeFilter(TimeGenerated) | summarize Samples=count(), ["Avg Value"]=avg(CounterValue) by bin(TimeGenerated, $__interval), Computer, CounterName, InstanceName | order by TimeGenerated asc
Nota

Suggerimento: nella query precedente, la sintassi di Kusto e Samples=count() ["Avg Value"]=... viene utilizzata per rinominare quelle colonne, la seconda sintassi che consente lo spazio. Questo cambia il nome della metrica utilizzata da Grafana. Di conseguenza, elementi come le legende delle serie e le colonne delle tabelle corrisponderanno a quanto specificato. In questo esempio, Samples viene visualizzato al posto di_count.

Interrogazioni relative alla tabella

Le interrogazioni tabellari vengono utilizzate principalmente nel pannello delle tabelle e mostrano un elenco di colonne e righe. Questa query di esempio restituisce righe con le sei colonne specificate.

AzureActivity | where $__timeFilter() | project TimeGenerated, ResourceGroup, Category, OperationName, ActivityStatus, Caller | order by TimeGenerated desc

Formattazione del nome visualizzato per Log Analytics

Il formato predefinito del nome visualizzato è:

metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}

Questo può essere personalizzato utilizzando l'opzione del campo del nome visualizzato.

Macro di Azure Log Analytics

Per semplificare la scrittura di query, Grafana fornisce diverse macro che è possibile utilizzare nella clausola where di una query:

  • $__timeFilter()— Si espande fino al TimeGenerated ≥ datetime(2018-06-05T18:09:58.907Z) and TimeGenerated ≤ datetime(2018-06-05T20:09:58.907Z) punto in cui provengono le date di partenza e di arrivo del selettore orario Grafana.

  • $__timeFilter(datetimeColumn)— Si espande fino al datetimeColumn ≥ datetime(2018-06-05T18:09:58.907Z) and datetimeColumn ≤ datetime(2018-06-05T20:09:58.907Z) punto in cui provengono le date di partenza e di arrivo del selettore orario Grafana.

  • $__timeFrom()— Restituisce il valore From datetime dal selettore Grafana. Esempio: datetime(2018-06-05T18:09:58.907Z).

  • $__timeTo()— Restituisce il valore From datetime dal selettore Grafana. Esempio: datetime(2018-06-05T20:09:58.907Z).

  • $__escapeMulti($myVar)— deve essere utilizzato con variabili modello multivalore che contengono caratteri non validi. Se $myVar ha i seguenti due valori come stringa'\\grafana-vm\Network(eth0)\Total','\\hello!', allora si espande in:. @'\\grafana-vm\Network(eth0)\Total', @'\\hello!' Se si utilizzano variabili a valore singolo non è necessaria questa macro, esci invece dalla variabile inline:. @'\$myVar'

  • $__contains(colName, $myVar)— deve essere utilizzato con variabili modello multivalore. Se $myVar ha il valore'value1','value2', si espande a:. colName in ('value1','value2')

    Se utilizzi l'opzione Tutto, seleziona la casella di controllo Includi tutte le opzioni e nel campo Personalizza tutto il valore, inserisci il seguente valore:all. Se $myVar ha il valoreall, la macro si espanderà invece in1 == 1. Per le variabili modello con numerose opzioni, ciò aumenta le prestazioni delle query evitando di creare una clausola «where.. in» di grandi dimensioni.

Variabili integrate di Azure Log Analytics

Esistono anche alcune variabili Grafana che possono essere utilizzate nelle query di Azure Log Analytics:

  • $__interval- Grafana calcola il tempo minimo che può essere utilizzato per raggruppare per tempo nelle query. Restituisce un valore temporale come 5m o 1h che può essere utilizzato nella funzione bin; ad esempio,. summarize count() by bin(TimeGenerated, $__interval) Per ulteriori informazioni sulle variabili di intervallo, vedereAggiungere una variabile di intervallo.

Creazione di modelli con variabili per Azure Log Analytics

Qualsiasi query di Log Analytics che restituisce un elenco di valori può essere utilizzata nel campo Query nella visualizzazione di modifica delle variabili. Esiste anche una funzione Grafana per Log Analytics che restituisce un elenco di aree di lavoro.

Per informazioni sui modelli e sulle variabili dei modelli, consulta. Modelli e variabili

Nome Descrizione
workspaces() Restituisce un elenco di aree di lavoro per l'abbonamento predefinito.
workspaces(12345678-aaaa-bbbb-cccc-123456789aaa) Restituisce un elenco di aree di lavoro per l'abbonamento specificato (il parametro può essere citato o non citato).

La tabella seguente mostra esempi di interrogazioni variabili.

Query Descrizione
subscriptions() Restituisce un elenco di sottoscrizioni di Azure.
workspaces() Restituisce un elenco di aree di lavoro per l'abbonamento predefinito.
workspaces("12345678-aaaa-bbbb-cccc-123456789aaa") Restituisce un elenco di aree di lavoro per un abbonamento specificato.
workspaces("$subscription") Con variabile modello per il parametro di abbonamento.
workspace("myWorkspace").Heartbeat \| distinct Computer Restituisce un elenco di macchine virtuali.
workspace("$workspace").Heartbeat \| distinct Computer Restituisce un elenco di macchine virtuali con variabile modello.
workspace("$workspace").Perf \| distinct ObjectName Restituisce un elenco di oggetti dalla tabella Perf.
workspace("$workspace").Perf \| where ObjectName == "$object" \| distinct CounterName Restituisce un elenco di nomi di metriche dalla tabella Perf.

Il seguente esempio di codice mostra una query di serie temporali utilizzando variabili.

Perf | where ObjectName == "$object" and CounterName == "$metric" | where TimeGenerated >= $__timeFrom() and TimeGenerated <= $__timeTo() | where $__contains(Computer, $computer) | summarize avg(CounterValue) by bin(TimeGenerated, $__interval), Computer | order by TimeGenerated asc

Collegamento diretto dai pannelli Grafana all'editor di query di Log Analytics in Azure Portal

Scegli una serie temporale nel pannello per visualizzare un menu contestuale con un collegamento a Visualizza nel portale di Azure. Scegliendo quel link si apre l'editor di query di Azure Log Analytics nel portale di Azure ed esegue la query dal pannello Grafana.

Se al momento non hai effettuato l'accesso al portale di Azure, il link apre la pagina di accesso. Il link fornito è valido per qualsiasi account, ma visualizza la query solo se l'account ha accesso all'area di lavoro di Azure Log Analytics specificata nella query.

Avvisi di Azure Log Analytics

Gli avvisi Grafana sono supportati per Application Insights. Questo non è il supporto di Azure Alerts. Per ulteriori informazioni sugli avvisi nelle aree di lavoro Grafana, vedere. Avvisi Grafana

Interrogazione del servizio Application Insights Analytics

Se si modifica il tipo di servizio in Insights Analytics, è disponibile un editor simile al servizio Log Analytics. Questo servizio utilizza anche il linguaggio Kusto, quindi le istruzioni per l'interrogazione dei dati sono identicheInterrogazione del servizio Azure Log Analytics, tranne per il fatto che si interrogano invece i dati di Application Insights Analytics.