Creare metriche dai log

Questa pagina descrive come generare nuove metriche dai log esistenti eseguendo il deployment di una risorsa personalizzata LoggingRule in Google Distributed Cloud (GDC) air-gapped.

Le regole di registrazione ti consentono di precalcolare espressioni utilizzate di frequente o costose dal punto di vista computazionale, migliorando le prestazioni di dashboard e avvisi. Definite all'interno delle risorse personalizzate LoggingRule, queste regole generano nuove metriche delle serie temporali dai log esistenti, migliorando l'osservabilità dei dati.

Memorizzando i risultati precalcolati, le regole di registrazione eliminano i calcoli ridondanti ogni volta che è necessaria un'espressione. Questo metodo velocizza notevolmente i tempi di esecuzione delle query, in particolare per dashboard e avvisi complessi che richiedono valutazioni ripetute della stessa espressione. In sostanza, le risorse LoggingRule ti consentono di derivare nuove metriche dai dati di logging esistenti specificando i calcoli necessari all'interno delle regole di registrazione.

Prima di iniziare

Per ottenere le autorizzazioni necessarie per gestire le risorse personalizzate LoggingRule, chiedi all'amministratore IAM dell'organizzazione o all'amministratore IAM del progetto di concederti uno dei ruoli LoggingRule associati.

A seconda del livello di accesso e delle autorizzazioni di cui hai bisogno, potresti ottenere i ruoli di creatore, editor o visualizzatore per questa risorsa in un'organizzazione o in un progetto. Per maggiori informazioni, vedi Preparare le autorizzazioni IAM.

Creare regole di registrazione

Per creare una regola di registrazione, definisci un nome per il log registrato e un'espressione valida che produca un valore numerico. Questa espressione, una volta valutata, genera la nuova metrica. Esegui il deployment della risorsa personalizzata LoggingRule nello spazio dei nomi del progetto sul server dell'API Management per attivare la regola di registrazione.

Per ulteriori informazioni sulle regole di registrazione, visita la pagina https://grafana.com/docs/loki/latest/rules/.

Per creare regole di registrazione nello spazio dei nomi del progetto:

  1. Determina il progetto GDC da cui vuoi creare regole di registrazione.
  2. Crea un file YAML che definisca la risorsa personalizzata LoggingRule.

    La specifica completa di LoggingRule mostra un esempio di regole di registrazione basate sui log. Per saperne di più, consulta la documentazione di riferimento dell'API.

  3. Sostituisci i seguenti valori nel file YAML in base alle tue esigenze:

    Nome campo Descrizione
    namespace Lo spazio dei nomi del progetto.
    name Il nome della configurazione della regola.
    source L'origine log per la regola di registrazione. Le opzioni valide sono operational e audit.
    interval La durata dell'intervallo di valutazione delle regole in secondi.
    limit (Facoltativo) Il numero massimo di avvisi. Imposta questo valore su 0 per avvisi illimitati.
    recordRules Le definizioni per il calcolo delle nuove metriche.
    recordRules.record Il nome del record per la nuova metrica. Il valore deve essere un nome di metrica valido che definisce la serie temporale in cui vengono memorizzati i risultati.
    recordRules.expr Un'espressione LogQL per la regola di log, che deve restituire un valore numerico.
    recordRules.labels (Facoltativo) Le coppie chiave-valore delle etichette da aggiungere alla nuova metrica o da sovrascrivere.
  4. Salva il file YAML.

  5. Applica la configurazione LoggingRule al server dell'API Management all'interno dello stesso spazio dei nomi delle regole di registrazione:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f LOGGING_RULE_NAME.yaml
    

    Sostituisci quanto segue:

    • KUBECONFIG_PATH: il percorso del file kubeconfig per il server dell'API di gestione.
    • LOGGING_RULE_NAME: il nome del file di definizione LoggingRule.

Specifiche LoggingRule complete

Una risorsa personalizzata LoggingRule contiene regole di registrazione che descrivono le condizioni per creare nuove metriche basate sui log esistenti per l'osservabilità.

Il seguente file YAML mostra un modello per la risorsa personalizzata LoggingRule. Per saperne di più, consulta la documentazione di riferimento dell'API.

# Configures either an alert or a target record for precomputation.
apiVersion: logging.gdc.goog/v1
kind: LoggingRule
metadata:
  # Choose a namespace that matches the project namespace.
  # The alert or record is produced in the same namespace.
  namespace: PROJECT_NAMESPACE
  name: LOGGING_RULE_NAME
spec:
  # Choose the log source to base alerts on (operational or audit logs).
  # Optional.
  # Valid options: 'operational' and 'audit'
  # Default value: 'operational'
  source: operational

  # Rule evaluation interval.
  interval: 60s

  # Configure the limit for the number of alerts.
  # A value of '0' means no limit.
  # Optional.
  # Default value: '0'
  limit: 0

  # Configure recording rules to generate new metrics based on existing logs.
  # Recording rules precompute expressions that are frequently needed or computationally expensive.
  # Results are saved as a new set of time series.
  recordRules:
    # Define the time series where you want to write the recording rule.
    # The value must be a valid metric name.
  - record: MyMetricsName

    # Define the LogQL expression to evaluate for this rule.
    expr: rate({service_name="bob-service"} [1m])

    # Define labels to add or overwrite.
    # Map of key-value pairs.
    # Optional.
    labels:
      verb: read

Sostituisci quanto segue:

  • PROJECT_NAMESPACE: lo spazio dei nomi del progetto.
  • LOGGING_RULE_NAME: il nome del file di definizione LoggingRule.