Messwerte aus Logs berechnen

Beim Berechnen von Messwerten werden neue Messwerte auf Grundlage vorhandener Logs oder Messwerte für die Datenbeobachtbarkeit generiert. Sie berechnen Messwerte in GDC, indem Sie Aufzeichnungsregeln in einer benutzerdefinierten LoggingRule-Ressource konfigurieren. Mit Aufzeichnungsregeln werden Ausdrücke vorab berechnet, die häufig benötigt werden oder rechenaufwendig sind. Bei diesen Regeln wird das Ergebnis als neuer Satz von Zeitreihen gespeichert. Das Abfragen des vorab berechneten Ergebnisses ist schneller als die Ausführung des ursprünglichen Ausdrucks bei Bedarf. Diese Vorberechnung ist besonders nützlich für Dashboards und komplexe Benachrichtigungen, bei denen bei jeder Aktualisierung oder Auswertung derselbe Ausdruck wiederholt abgefragt werden muss.

Sie konfigurieren Aufzeichnungsregeln in der benutzerdefinierten Ressource LoggingRule, um Messwerte auf Grundlage von Systemprotokollierungsdaten zu berechnen. Die benutzerdefinierte LoggingRule-Ressource enthält Aufzeichnungsregeln, die die Bedingungen für die Berechnung neuer Messwerte auf Grundlage vorhandener Logs beschreiben.

Hinweise

Bitten Sie Ihren Projekt-IAM-Administrator, Ihnen eine der folgenden Rollen in Ihrem Projekt-Namespace zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Berechnen von Messwerten aus Logs benötigen:

  • Logging Rule Creator: Erstellt benutzerdefinierte LoggingRule-Ressourcen. Fordern Sie die Rolle „Logging Rule Creator“ (loggingrule-creator) an.
  • Logging Rule Editor: Bearbeitet oder ändert benutzerdefinierte LoggingRule-Ressourcen. Fordern Sie die Rolle „Logging Rule Editor“ (loggingrule-editor) an.
  • Logging Rule Viewer: Zeigt benutzerdefinierte LoggingRule-Ressourcen an. Fordern Sie die Rolle „Logging Rule Viewer“ (loggingrule-viewer) an.

Regeln für die Aufzeichnung erstellen

Definieren Sie einen Datensatznamen und einen gültigen Ausdruck, mit dem die Regel ausgewertet wird. Der Ausdruck muss in einen numerischen Wert aufgelöst werden, damit er als neuer Messwert erfasst werden kann. Stellen Sie die benutzerdefinierte Ressource im Namespace Ihres Projekts im Administratorcluster der Organisation bereit, um die Aufzeichnungsregeln für die Observability-Plattform zu erstellen.

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

Führen Sie die folgenden Schritte aus, um Datensatzregeln zu erstellen und Messwerte im Namespace Ihres Projekts zu berechnen:

  1. Öffnen oder erstellen Sie die YAML-Datei für die benutzerdefinierte Ressource mit der LoggingRule-Vorlage für benutzerdefinierte Ressourcen für Regeln für das Aufzeichnen von Logs.
  2. Geben Sie im Feld namespace des CR den Namespace Ihres Projekts ein.
  3. Geben Sie im Feld name den Namen für die Regelkonfiguration ein.
  4. Optional: Sie können die Logquelle im Feld source auswählen. Geben Sie beispielsweise einen Wert wie operational oder audit ein.
  5. Geben Sie im Feld interval die Anzahl der Sekunden für die Dauer des Intervalls für die Regelauswertung ein.
  6. Optional: Geben Sie im Feld limit die maximale Anzahl von Benachrichtigungen ein. Geben Sie 0 ein, wenn Sie eine unbegrenzte Anzahl von Benachrichtigungen erhalten möchten.
  7. Geben Sie im Feld recordRules die folgenden Informationen ein, um Messwerte zu berechnen:

    • Geben Sie im Feld record den Namen des Datensatzes ein. Dieser Wert definiert die Zeitachse, in die die Aufzeichnungsregel geschrieben werden soll, und muss ein gültiger Messwertname sein.
    • Geben Sie im Feld expr einen LogQL-Ausdruck für die Logregel ein.

      Dieser Ausdruck muss in einen numerischen Wert aufgelöst werden, damit er als neuer Messwert erfasst werden kann.

    • Optional: Definieren Sie im Feld labels die Labels, die Sie als Schlüssel/Wert-Paare hinzufügen oder überschreiben möchten.

  8. Speichern Sie die YAML-Datei der CR.

  9. Stellen Sie die CR im Namespace Ihres Projekts im Administratorcluster bereit, um die Datensatzregeln zu erstellen.

Die LoggingRule-Datensatzregeln

Eine benutzerdefinierte LoggingRule-Ressource enthält Aufzeichnungsregeln, die die Bedingungen für die Berechnung neuer Messwerte auf Grundlage vorhandener Systemprotokollierungsdaten für die Beobachtbarkeit beschreiben.

Die folgende YAML-Datei zeigt eine Vorlage für das Feld recordRules der benutzerdefinierten Ressource 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: PROJECT_NAMESPACE
  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>
...

Ersetzen Sie PROJECT_NAMESPACE durch den Namespace Ihres Projekts.