Crear métricas a partir de registros

En esta página se describe cómo generar métricas nuevas a partir de registros ya creados mediante la implementación de un LoggingRulerecurso personalizado en Google Distributed Cloud (GDC) air-gapped.

Las reglas de registro te permiten precalcular expresiones que se usan con frecuencia o que requieren muchos recursos computacionales, lo que mejora el rendimiento de los paneles de control y las alertas. Definidas en LoggingRulerecursos personalizados, estas reglas generan nuevas métricas de serie temporal a partir de los registros, lo que mejora la observabilidad de los datos.

Al almacenar resultados precalculados, las reglas de registro eliminan los cálculos redundantes cada vez que se necesita una expresión. Este método acelera significativamente los tiempos de consulta, sobre todo en el caso de los paneles de control y las alertas complejos que requieren evaluaciones repetidas de la misma expresión. En esencia, los recursos LoggingRule te permiten obtener nuevas métricas a partir de los datos de registro que ya tienes especificando los cálculos necesarios en sus reglas de registro.

Antes de empezar

Para obtener los permisos que necesitas para gestionar recursos personalizados de LoggingRule, pide a tu administrador de gestión de identidades y accesos de la organización o del proyecto que te conceda uno de los roles de LoggingRule asociados.

En función del nivel de acceso y de los permisos que necesites, puedes obtener los roles de creador, editor o lector de este recurso en una organización o en un proyecto. Para obtener más información, consulta Preparar permisos de gestión de identidades y accesos.

Crear reglas de grabación

Para crear una regla de registro, define un nombre para el registro y una expresión válida que genere un valor numérico. Esta expresión, cuando se evalúa, genera la nueva métrica. Despliega el recurso personalizado LoggingRule en el espacio de nombres de tu proyecto en el servidor de la API Management para activar la regla de registro.

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

Sigue estos pasos para crear reglas de registro en el espacio de nombres de tu proyecto:

  1. Determina el proyecto de GDC desde el que quieres crear reglas de registro.
  2. Crea un archivo YAML que defina el recurso personalizado LoggingRule.

    La especificación completa de LoggingRule muestra un ejemplo de reglas de registro basadas en registros. Para obtener más información, consulta la documentación de referencia de la API.

  3. Sustituye los siguientes valores del archivo YAML según tus necesidades:

    Nombre del campo Descripción
    namespace El espacio de nombres del proyecto.
    name Nombre de la configuración de la regla.
    source La fuente de registro de la regla de grabación. Las opciones válidas son operational y audit.
    interval Duración del intervalo de evaluación de reglas en segundos.
    limit Opcional. El número máximo de alertas. Asigna el valor 0 para recibir alertas ilimitadas.
    recordRules Las definiciones para calcular las nuevas métricas.
    recordRules.record Nombre del registro de la nueva métrica. El valor debe ser un nombre de métrica válido que defina la serie temporal en la que se almacenan los resultados.
    recordRules.expr Una expresión LogQL de la regla de registro, que debe dar como resultado un valor numérico.
    recordRules.labels Opcional. Los pares clave-valor de las etiquetas que se van a añadir o sobrescribir en la nueva métrica.
  4. Guarda el archivo YAML.

  5. Aplica la configuración de LoggingRule al servidor de la API Management en el mismo espacio de nombres que tus reglas de registro:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f LOGGING_RULE_NAME.yaml
    

    Haz los cambios siguientes:

    • KUBECONFIG_PATH: la ruta al archivo kubeconfig del servidor de la API Management.
    • LOGGING_RULE_NAME: el nombre del archivo de definición de LoggingRule.

Especificación completa de LoggingRule

Un recurso personalizado LoggingRule contiene reglas de registro que describen las condiciones para crear métricas nuevas basadas en registros existentes para la observabilidad.

En el siguiente archivo YAML se muestra una plantilla para el recurso personalizado LoggingRule. Para obtener más información, consulta la documentación de referencia de la 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

Haz los cambios siguientes:

  • PROJECT_NAMESPACE: el espacio de nombres de tu proyecto.
  • LOGGING_RULE_NAME: el nombre del archivo de definición de LoggingRule.