Il calcolo delle metriche consiste nel generare nuove metriche basate su log o metriche preesistenti per l'osservabilità dei dati. Calcoli le metriche in GDC configurando le regole di registrazione in una risorsa personalizzata MonitoringRule
. Le regole di registrazione precalcolano le espressioni necessarie di frequente o costose dal punto di vista computazionale. Queste regole salvano il risultato come un nuovo insieme di serie temporali. L'interrogazione del risultato precalcolato è più veloce dell'esecuzione dell'espressione originale ogni volta che è necessario. Questo precalcolo è particolarmente utile per i dashboard e gli avvisi complessi, che devono eseguire query sulla stessa espressione ripetutamente ogni volta che vengono aggiornati o valutati.
Configura le regole di registrazione nella risorsa personalizzata MonitoringRule
per calcolare le metriche in base ad altre metriche di monitoraggio del sistema. La risorsa personalizzata MonitoringRule
contiene regole di registrazione che descrivono le condizioni per calcolare nuove metriche in base a quelle preesistenti.
Prima di iniziare
Per ottenere le autorizzazioni necessarie per calcolare le metriche dalle metriche, chiedi all'amministratore IAM del progetto di concederti uno dei seguenti ruoli:
- Editor delle regole di monitoraggio: modifica le risorse personalizzate
MonitoringRule
. Richiedi il ruolo Editor regole di monitoraggio (monitoringrule-editor
). - Visualizzatore regole di monitoraggio: visualizza le risorse personalizzate
MonitoringRule
. Richiedi il ruolo Visualizzatore regole di monitoraggio (monitoringrule-viewer
).
Creare regole di registrazione
Definisci un nome di record e un'espressione valida che valuti la regola. L'espressione deve essere risolta in un valore numerico per essere registrata come nuova metrica. Esegui il deployment della risorsa personalizzata nello spazio dei nomi del progetto sul cluster di amministrazione per creare le regole di registrazione.
Per ulteriori informazioni sulle regole di registrazione, visita la pagina https://grafana.com/docs/loki/latest/rules/
Segui i passaggi riportati di seguito per creare regole di record e calcolare le metriche nello spazio dei nomi del progetto:
- Apri o crea il file YAML per la CR utilizzando il modello CR
MonitoringRule
per le regole dei record di monitoraggio. - Nel campo
namespace
della CR, inserisci lo spazio dei nomi del progetto. - Nel campo
name
, inserisci il nome della configurazione della regola. - (Facoltativo) Puoi scegliere l'origine log nel campo
source
. Le opzioni valide sonooperational
eaudit
. - Nel campo
interval
, inserisci il numero di secondi per la durata dell'intervallo di valutazione della regola. - (Facoltativo) Nel campo
limit
, inserisci il numero massimo di avvisi. Inserisci0
per avvisi illimitati. Nel campo
recordRules
, inserisci le seguenti informazioni per calcolare le metriche:- Nel campo
record
, inserisci il nome del record. Questo valore definisce la serie temporale in cui scrivere la regola del record e deve essere un nome di metrica valido. Nel campo
expr
, inserisci un'espressione PromQL per la regola della metrica.Questa espressione deve essere risolta in un valore numerico per essere registrata come nuova metrica.
(Facoltativo) Nel campo
labels
, definisci le etichette che vuoi aggiungere o sovrascrivere come coppie chiave-valore.
- Nel campo
Salva il file YAML del CR.
Esegui il deployment del CR nello spazio dei nomi del progetto del cluster di amministrazione per creare le regole dei record.
Regole per i record MonitoringRule
Una risorsa personalizzata MonitoringRule
contiene regole di registrazione che descrivono le condizioni per calcolare nuove metriche in base a metriche di monitoraggio del sistema preesistenti.
Il seguente file YAML mostra un modello per il campo recordRules
del CR MonitoringRule
.
# Configures either an alert or a target record for precomputation
apiVersion: monitoring.gdc.goog/v1alpha1
kind: MonitoringRule
metadata:
# Choose namespace that matches the project's namespace
# Note: The alert or record will be produced in the same namespace
namespace: PROJECT_NAMESPACE
name: alerting-config
spec:
# Rule evaluation interval
interval: <duration>
# Configure limit for number of alerts (0: no limit)
# Optional, Default: 0 (no limit)
limit: <int>
# Configure record rules to generate new metrics based on pre-existing metrics.
# Record rules precompute expressions that are frequently needed or computationally expensive.
# These rules save their result as a new set of time series.
recordRules:
# Define which timeseries to write to (must be a valid metric name)
- record: <string>
# Define PromQL expression to evaluate for this rule
expr: <string>
# Define labels to add or overwrite
# Optional, Map of {key, value} pairs
labels:
<labelname>: <labelvalue>
...
Sostituisci PROJECT_NAMESPACE con lo spazio dei nomi del tuo progetto.
Regole per i record LoggingRule
Un LoggingRule
CR contiene regole di registrazione che descrivono le condizioni per calcolare nuove metriche in base ai log preesistenti.
Il seguente file YAML mostra un modello per il campo recordRules
del CR LoggingRule
.
# Configures either an alert or a target record for precomputation
apiVersion: logging.gdc.goog/v1alpha1
kind: LoggingRule
metadata:
# Choose namespace that matches the project's namespace
# Note: The alert or record will be produced in the same namespace
namespace: g-fleetns-a
name: alerting-config
spec:
# Choose which log source to base alerts on (Operational/Audit/Security Logs)
# Optional, Default: Operational
source: <string>
# Rule evaluation interval
interval: <duration>
# Configure limit for number of alerts (0: no limit)
# Optional, Default: 0 (no limit)
limit: <int>
# Configure record rules to generate new metrics based on pre-existing logs.
# Record rules generate metrics based on logs.
# Use record rules for complex alerts, which query the same expression repeatedly every time they are evaluated.
recordRules:
# Define which timeseries to write to (must be a valid metric name)
- record: <string>
# Define LogQL expression to evaluate for this rule
# https://grafana.com/docs/loki/latest/rules/
expr: <string>
# Define labels to add or overwrite
# Optional, Map of {key, value} pairs
labels:
<labelname>: <labelvalue>
...