Messwerte aus Protokollen erstellen

Auf dieser Seite wird beschrieben, wie Sie neue Messwerte aus vorhandenen Logs generieren, indem Sie eine benutzerdefinierte LoggingRule-Ressource in einer Air-Gap-Umgebung von Google Distributed Cloud (GDC) bereitstellen.

Mit Aufzeichnungsregeln können Sie häufig verwendete oder rechenintensive Ausdrücke vorab berechnen, um die Leistung von Dashboards und Benachrichtigungen zu verbessern. Diese Regeln werden in benutzerdefinierten LoggingRule-Ressourcen definiert und generieren neue Zeitachsenmesswerte aus vorhandenen Logs, wodurch die Daten besser beobachtbar werden.

Durch das Speichern von vorab berechneten Ergebnissen werden mit Aufzeichnungsregeln redundante Berechnungen vermieden, wenn ein Ausdruck benötigt wird. Diese Methode verkürzt die Abfragezeiten erheblich, insbesondere bei komplexen Dashboards und Benachrichtigungen, für die dasselbe Attribut wiederholt ausgewertet werden muss. Mit LoggingRule-Ressourcen können Sie neue Messwerte aus vorhandenen Protokolldaten ableiten, indem Sie die erforderlichen Berechnungen in den Aufzeichnungsregeln angeben.

Hinweise

Bitten Sie Ihren Organisations-IAM-Administrator oder Projekt-IAM-Administrator, Ihnen eine der zugehörigen LoggingRule-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten von benutzerdefinierten LoggingRule-Ressourcen benötigen.

Je nach Zugriffsebene und erforderlichen Berechtigungen können Sie für diese Ressource in einer Organisation oder einem Projekt die Rollen „Ersteller“, „Bearbeiter“ oder „Betrachter“ erhalten. Weitere Informationen finden Sie unter IAM-Berechtigungen vorbereiten.

Regeln für die Aufzeichnung erstellen

Um eine Aufzeichnungsregel zu erstellen, definieren Sie einen Namen für das aufgezeichnete Log und einen gültigen Ausdruck, der einen numerischen Wert ergibt. Wenn dieser Ausdruck ausgewertet wird, wird der neue Messwert generiert. Stellen Sie die benutzerdefinierte Ressource LoggingRule im Namespace Ihres Projekts auf dem Management API-Server bereit, um die Aufzeichnungsregel zu aktivieren.

Weitere Informationen zu Aufzeichnungsregeln finden Sie unter https://grafana.com/docs/loki/latest/rules/.

So erstellen Sie Aufzeichnungsregeln in Ihrem Projekt-Namespace:

  1. Legen Sie das GDC-Projekt fest, aus dem Sie Aufzeichnungsregeln erstellen möchten.
  2. Erstellen Sie eine YAML-Datei, in der die benutzerdefinierte Ressource LoggingRule definiert wird.

    Ein Beispiel für logbasierte Aufzeichnungsregeln finden Sie in der vollständigen LoggingRule-Spezifikation. Weitere Informationen finden Sie in der API-Referenzdokumentation.

  3. Ersetzen Sie die folgenden Werte in der YAML-Datei nach Bedarf:

    Feldname Beschreibung
    namespace Der Projekt-Namespace.
    name Der Name der Regelkonfiguration.
    source Die Logquelle für die Aufzeichnungsregel. Gültige Optionen sind operational und audit.
    interval Die Dauer des Intervalls für die Regelauswertung in Sekunden.
    limit Optional. Die maximale Anzahl an Benachrichtigungen. Legen Sie diese Option auf 0 fest, um unbegrenzt viele Benachrichtigungen zu erhalten.
    recordRules Die Definitionen für die Berechnung neuer Messwerte.
    recordRules.record Der Datensatzname für den neuen Messwert. Der Wert muss ein gültiger Messwertname sein, der die Zeitreihe definiert, in der die Ergebnisse gespeichert werden.
    recordRules.expr Ein LogQL-Ausdruck für die Logregel, der zu einem numerischen Wert ausgewertet werden muss.
    recordRules.labels Optional. Die Schlüssel/Wert-Paare der Labels, die dem neuen Messwert hinzugefügt oder überschrieben werden sollen.
  4. Speichern Sie die YAML-Datei.

  5. Wenden Sie die LoggingRule-Konfiguration auf den Management API-Server im selben Namespace wie Ihre Aufzeichnungsregeln an:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f LOGGING_RULE_NAME.yaml
    

    Ersetzen Sie Folgendes:

    • KUBECONFIG_PATH: der Pfad zur kubeconfig-Datei für den Management API-Server.
    • LOGGING_RULE_NAME: der Name der LoggingRule-Definitionsdatei.

Vollständige LoggingRule-Spezifikation

Eine benutzerdefinierte LoggingRule-Ressource enthält Aufzeichnungsregeln, die die Bedingungen zum Erstellen neuer Messwerte auf Grundlage vorhandener Logs für die Observability beschreiben.

Die folgende YAML-Datei zeigt eine Vorlage für die benutzerdefinierte Ressource LoggingRule. Weitere Informationen finden Sie in der API-Referenzdokumentation.

# 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

Ersetzen Sie Folgendes:

  • PROJECT_NAMESPACE: Ihr Projekt-Namespace.
  • LOGGING_RULE_NAME: der Name der LoggingRule-Definitionsdatei.