Cómo calcular métricas a partir de registros

El cálculo de métricas implica generar métricas nuevas basadas en registros o métricas preexistentes para la observabilidad de los datos. Para calcular las métricas en GDC, debes configurar reglas de grabación en un recurso personalizado LoggingRule. Las reglas de registro precalculan expresiones que se necesitan con frecuencia o que son costosas desde el punto de vista computacional. Estas reglas guardan su resultado como un nuevo conjunto de series temporales. Consultar el resultado precalculado es más rápido que ejecutar la expresión original cuando sea necesario. Esta precomputación es especialmente útil para los paneles y las alertas complejas, que deben consultar la misma expresión repetidamente cada vez que se actualizan o evalúan.

Configuras reglas de grabación en el recurso personalizado LoggingRule para calcular métricas basadas en datos de registro del sistema. El recurso personalizado LoggingRule contiene reglas de grabación que describen las condiciones para calcular métricas nuevas basadas en registros preexistentes.

Antes de comenzar

Para obtener los permisos que necesitas para calcular métricas a partir de los registros, pídele al administrador de IAM del proyecto que te otorgue uno de los siguientes roles en el espacio de nombres del proyecto:

  • Logging Rule Creator: Crea recursos personalizados LoggingRule. Solicita el rol de creador de reglas de Logging (loggingrule-creator).
  • Editor de reglas de registro: Edita o modifica recursos personalizados LoggingRule. Solicita el rol de editor de reglas de Logging (loggingrule-editor).
  • Logging Rule Viewer: Visualiza recursos personalizados de LoggingRule. Solicita el rol de visualizador de reglas de Logging (loggingrule-viewer).

Cómo crear reglas de grabación

Define un nombre de registro y una expresión válida que evalúe la regla. La expresión debe resolverse en un valor numérico para registrarse como una métrica nueva. Implementa el recurso personalizado en el espacio de nombres de tu proyecto en el clúster de administrador de la organización para crear las reglas de grabación de la plataforma de Observabilidad.

Para obtener más información sobre las reglas de registro de Observability, consulta https://grafana.com/docs/loki/latest/rules/.

Sigue estos pasos para crear reglas de registro y calcular métricas en el espacio de nombres de tu proyecto:

  1. Abre o crea el archivo YAML para el CR con la plantilla del CR de LoggingRule para las reglas de registros.
  2. En el campo namespace del CR, ingresa el espacio de nombres de tu proyecto.
  3. En el campo name, ingresa el nombre de la configuración de la regla.
  4. Opcional: Puedes elegir la fuente de registro en el campo source. Por ejemplo, ingresa un valor como operational o audit.
  5. En el campo interval, ingresa la cantidad de segundos para la duración del intervalo de evaluación de la regla.
  6. Opcional: En el campo limit, ingresa la cantidad máxima de alertas. Ingresa 0 para recibir alertas ilimitadas.
  7. En el campo recordRules, ingresa la siguiente información para calcular las métricas:

    • En el campo record, ingresa el nombre del registro. Este valor define la serie temporal en la que se escribirá la regla de registro y debe ser un nombre de métrica válido.
    • En el campo expr, ingresa una expresión de LogQL para la regla de registro.

      Esta expresión debe resolverse en un valor numérico para registrarse como una métrica nueva.

    • Opcional: En el campo labels, define las etiquetas que deseas agregar o reemplazar como pares clave-valor.

  8. Guarda el archivo YAML del CR.

  9. Implementa el CR en el espacio de nombres del proyecto del clúster de administrador para crear las reglas de registro.

Las reglas de registro de LoggingRule

Un recurso personalizado LoggingRule contiene reglas de grabación que describen las condiciones para calcular métricas nuevas basadas en datos de registro del sistema preexistentes para la observabilidad.

En el siguiente archivo YAML, se muestra una plantilla para el 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: 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>
...

Reemplaza PROJECT_NAMESPACE por el espacio de nombres de tu proyecto.