Creazione e gestione di variabili
In IBM® Cloud Logs, una variabile è un segnaposto per un valore che viene utilizzato nelle query. Quando vengono utilizzate nei dashboard personalizzati, le query del dashboard vengono aggiornate per visualizzare i dati relativi a quel valore.
Le variabili rendono i dashboard più interattivi e dinamici. Invece di inserire nelle query nomi specifici per server, applicazioni o sensori, si possono usare le variabili. È possibile passare facilmente da una visualizzazione all'altra dei dati. Ciò significa che se si dispone di metriche complesse e ad alta cardinalità, è possibile aggiungere variabili per ingrandire i valori specifici a cui si tiene. Le variabili possono essere utilizzate in tutti i widget per tutti i tipi di dati, indipendentemente dal tipo di origine della variabile.
Tipi di variabile
È possibile scegliere tra diversi tipi di variabili.
- Variabili a valore statico
- È possibile definire manualmente un elenco fisso di valori di variabili, come un numero o una stringa di numeri separati da una virgola. Ad esempio, se si hanno nomi di paesi che non cambiano mai, è preferibile crearli come variabile a valore statico piuttosto che come variabile di query dell'origine dati.
- Variabile di interrogazione
- I valori delle variabili vengono recuperati da una query di log o da una fonte di dati metrici. Ad esempio, una variabile di query può generare un elenco di nomi di server, ID di sensori o centri dati, aggiornando dinamicamente i valori recuperando le opzioni tramite una query di origine dati. Le variabili di query sono utili quando si gestiscono più istanze di origine dati, soprattutto in ambienti diversi.
Definizione di variabili per cruscotti personalizzati
-
Fare clic sull'icona Dashboard
Dashboard > Dashboard personalizzati.
-
In un cruscotto nuovo o esistente, fare clic sull'icona Variabile gestita { }.
-
Fare clic su + Variabile.
-
Per tutti i tipi di variabili, configurare i seguenti campi:
-
Nome della variabile. Il testo inserito in questo campo determina il modo in cui il nome della variabile appare nella query, ad esempio
{{ podvalues }}. Nel nome della variabile non sono ammesse lettere maiuscole o spazi. -
Nome visualizzato (opzionale). Il testo inserito in questo campo appare nella selezione come parte dell'elenco a discesa, ad esempio "I miei Pod".
-
Opzione di selezione.
- Multi-valore
- Multivalore specifica che l'utente può selezionare più valori all'interno di una specifica variabile. Alcune query non supportano valori multipli, come
{{ variablename }}. Scegliere questa opzione solo se la query supporta più valori. - Includi tutto
- L'opzione Includi tutto può essere selezionata quando è attiva l'opzione multivalore. La query selezionerà tutti i valori disponibili e futuri per un determinato periodo di tempo, indipendentemente dalla selezione specifica. Quando sono selezionate entrambe le opzioni, tutte le variabili sono selezionate per impostazione predefinita, mentre una o più possono essere deselezionate. Se non viene specificata nessuna delle due opzioni, è possibile selezionare un valore di variabile alla volta.
-
Per le variabili di tipo
query:-
Specificare l'origine della query (
logsometrics). -
Per
variable typespecificarevaluesperlogs. Permetricsspecificaremetric names,metric labels, olabel values. Se si selezionametric labels, selezionare l'etichetta da utilizzare per i valori visualizzati. -
Per
logs, definire il campo selezionando una chiave di registro che si desidera interrogare. L'elenco dei valori correnti delle variabili viene visualizzato nell'Anteprima valori in ordine alfanumerico. -
Per
metrics, in Metrics regex, inserire un'espressione regex per ottenere l'elenco di metriche che si desidera visualizzare. Ad esempio,^kube(.*)restituisce tutti i nomi delle metriche che iniziano con kube.-
Per
label values, per Etichetta metrica, scegliere l'etichetta per i valori visualizzati. Per rendere dinamica l'etichetta, inserire una variabile, ad esempioPod Name = {{ pod }}. -
Per
label values, per i filtri Label, creare una o più variabili annidate e un livello di filtro aggiuntivo per la query. Ad esempio, si può scegliere di filtrare le etichette per cluster, selezionando un valore che è{{ podvalue }}o il nome codificato del cluster. -
Per
metrics, per Nome di visualizzazione del valore della variabile, definire la modalità di visualizzazione dei valori nell'elenco di selezione a discesa.Nell'Anteprima valori viene visualizzato un elenco dei valori correnti della variabile per il campo.
-
-
Per Ordinare i valori, selezionare come ordinare i dati nell'Anteprima dei valori.
-
-
Fare clic su Salva.
Le variabili possono anche essere modificate o eliminate dall'elenco delle variabili definite.
Utilizzo di variabili nelle query
Oltre a utilizzare le variabili nei dashboard personalizzati, è possibile utilizzare le variabili definite nelle query di Lucene, DataPrime, e PromQL.
Query Lucene
È possibile utilizzare variabili definite nelle query di Lucene. Ad esempio, product_id:{{ pid }} dove pid è il nome della variabile (non il nome visualizzato),
DataPrime interrogazioni
Dopo la creazione di una variabile, i valori della variabile scelti dall'utente possono essere usati come parametri di query in una query di DataPrime usando $p.<variable_name>.
PromQL interrogazioni
Utilizzare {{ variable_name }} nel linguaggio di interrogazione PromQL.
Ad esempio, la query PromQL sum(kube_pod_owner{pod=~"{{ pod }}"}) è usata per aggregare le metriche relative ai pod Kubernetes. {pod=~"{{ pod }}"} è un selettore di etichette che filtra la metrica
kube_pod_owner per il pod specifico il cui nome corrisponde al valore della variabile. Il segnaposto {{ pod }} è una variabile modello, che sostituisce il nome effettivo del pod quando la query viene eseguita.
È inoltre possibile utilizzare variabili predefinite nella query di PromQL.
| Variabile | Descrizione | Esempi |
|---|---|---|
${__range} |
Questa variabile rappresenta la durata dell'intervallo di tempo del cruscotto. Viene reso come una stringa di intervallo supportata da PromQL. Ad esempio, se si seleziona un intervallo di tempo da 13.00 a 14.30,
la variabile ${__range} viene calcolata come 90m. |
1d, 5m |
${__range_s} |
Calcolato come numero di secondi nell'intervallo di tempo selezionato. | 60s, 180s |
${__range_ms} |
Calcolato come numero di millisecondi nell'intervallo di tempo selezionato. | 60ms, 180ms |
Ad esempio, si può utilizzare il sito __range variable in sum_over_time.
sum_over_time(kube_pod_owner[${__range}])