Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
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.
Sigue estos pasos para crear reglas de registro y calcular métricas en el espacio de nombres de tu proyecto:
Abre o crea el archivo YAML para el CR con la plantilla del CR de LoggingRule para las reglas de registros.
En el campo namespace del CR, ingresa el espacio de nombres de tu proyecto.
En el campo name, ingresa el nombre de la configuración de la regla.
Opcional: Puedes elegir la fuente de registro en el campo source. Por ejemplo, ingresa un valor como operational o audit.
En el campo interval, ingresa la cantidad de segundos para la duración del intervalo de evaluación de la regla.
Opcional: En el campo limit, ingresa la cantidad máxima de alertas. Ingresa 0 para recibir alertas ilimitadas.
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.
Guarda el archivo YAML del CR.
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 precomputationapiVersion:logging.gdc.goog/v1alpha1kind:LoggingRulemetadata:# Choose namespace that matches the project's namespace# Note: The alert or record will be produced in the same namespacenamespace:PROJECT_NAMESPACEname:alerting-configspec:# Choose which log source to base alerts on (Operational/Audit/Security Logs)# Optional, Default: Operationalsource:<string>
# Rule evaluation intervalinterval:<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} pairslabels:<labelname>:<labelvalue>
...
Reemplaza PROJECT_NAMESPACE por el espacio de nombres de tu proyecto.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003eMetrics can be calculated in GDC by configuring recording rules within a \u003ccode\u003eLoggingRule\u003c/code\u003e custom resource, precomputing frequently needed or complex expressions for faster querying.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eLoggingRule\u003c/code\u003e custom resource defines the conditions for creating new metrics derived from existing system logs, making it useful for dashboards and complex alerts.\u003c/p\u003e\n"],["\u003cp\u003eUsers require specific IAM roles such as Logging Rule Creator, Editor, or Viewer to interact with \u003ccode\u003eLoggingRule\u003c/code\u003e custom resources for calculating metrics.\u003c/p\u003e\n"],["\u003cp\u003eCreating a recording rule involves defining a record name and a LogQL expression that evaluates to a numeric value, and then deploying the custom resource within the project's namespace on the org admin cluster.\u003c/p\u003e\n"],["\u003cp\u003eWhen configuring a recording rule in the \u003ccode\u003eLoggingRule\u003c/code\u003e custom resource, you can specify the log source, evaluation interval, and limit for the number of alerts, along with the record name, expression, and optional labels.\u003c/p\u003e\n"]]],[],null,["# Calculate metrics from logs\n\nCalculating metrics means generating new metrics based on pre-existing logs or metrics for data observability. You calculate metrics in GDC by configuring recording rules in a `LoggingRule` custom resource. Recording rules precompute expressions that are frequently needed or computationally expensive. These rules save their result as a new set of time series. Querying the precomputed result is faster than executing the original expression whenever needed. This precomputation is especially useful for dashboards and complex alerts, which must query the same expression repeatedly every time they refresh or are evaluated.\n\nYou configure recording rules in the `LoggingRule` custom resource to calculate metrics based on system logging data. The `LoggingRule` custom resource contains recording rules that describe the conditions to calculate new metrics based on pre-existing logs.\n\nBefore you begin\n----------------\n\nTo get the permissions you need to calculate metrics from logs, ask your Project IAM Admin to grant you one of the following roles in your project namespace:\n\n- **Logging Rule Creator** : creates `LoggingRule` custom resources. Request the Logging Rule Creator (`loggingrule-creator`) role.\n- **Logging Rule Editor** : edits or modifies `LoggingRule` custom resources. Request the Logging Rule Editor (`loggingrule-editor`) role.\n- **Logging Rule Viewer** : views `LoggingRule` custom resources. Request the Logging Rule Viewer (`loggingrule-viewer`) role.\n\nCreate recording rules\n----------------------\n\nDefine a record name and a valid expression that evaluates the rule. The expression must resolve to a numeric value to record it as a new metric. Deploy the custom resource in your project namespace on the org admin cluster to create the recording rules for the Observability platform.\n| **Important:** To create rules, verify that a project is deployed with workloads. To have data your rules can act on, verify that you configured log collection.\n\nFor more information about recording rules for Observability, see \u003chttps://grafana.com/docs/loki/latest/rules/\u003e\n\nWork through the following steps to create record rules and calculate metrics in your project's namespace:\n\n1. Open or create the YAML file for the CR using [the `LoggingRule` CR](#loggingrule-recordrules) template for logging record rules.\n2. In the `namespace` field of the CR, enter your project's namespace.\n3. In the `name` field, enter the name for the rule configuration.\n4. Optional: You can choose the log source in the `source` field. For example, enter a value such as `operational` or `audit`.\n5. In the `interval` field, enter the number of seconds for the duration of the rule evaluation interval.\n6. Optional: In the `limit` field, enter the maximum number of alerts. Enter `0` for unlimited alerts.\n7. In the `recordRules` field, enter the following information to calculate metrics:\n\n - In the `record` field, enter the record name. This value defines the time series in which to write the record rule and it must be a valid metric name.\n - In the `expr` field, enter a LogQL expression for the log rule.\n\n This expression must resolve to a numeric value to be recorded as a new metric.\n - Optional: In the `labels` field, define the labels that you want to add or overwrite as key-value pairs.\n\n8. Save the YAML file of the CR.\n\n9. Deploy the CR in your project's namespace of the admin cluster to create the record rules.\n\nThe `LoggingRule` record rules\n------------------------------\n\nA `LoggingRule` custom resource contains recording rules that describe the conditions to calculate new metrics based on pre-existing system logging data for observability.\n\nThe following YAML file shows a template for the `recordRules` field of the `LoggingRule` CR. \n\n # Configures either an alert or a target record for precomputation\n apiVersion: logging.gdc.goog/v1alpha1\n kind: LoggingRule\n metadata:\n # Choose namespace that matches the project's namespace\n # Note: The alert or record will be produced in the same namespace\n namespace: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003ePROJECT_NAMESPACE\u003c/span\u003e\u003c/var\u003e\n name: alerting-config\n spec:\n # Choose which log source to base alerts on (Operational/Audit/Security Logs)\n # Optional, Default: Operational\n source: \u003cstring\u003e\n\n # Rule evaluation interval\n interval: \u003cduration\u003e\n\n # Configure limit for number of alerts (0: no limit)\n # Optional, Default: 0 (no limit)\n limit: \u003cint\u003e\n\n # Configure record rules to generate new metrics based on pre-existing logs.\n # Record rules generate metrics based on logs.\n # Use record rules for complex alerts, which query the same expression repeatedly every time they are evaluated.\n recordRules:\n # Define which timeseries to write to (must be a valid metric name)\n - record: \u003cstring\u003e\n\n # Define LogQL expression to evaluate for this rule\n # https://grafana.com/docs/loki/latest/rules/\n expr: \u003cstring\u003e\n\n # Define labels to add or overwrite\n # Optional, Map of {key, value} pairs\n labels:\n \u003clabelname\u003e: \u003clabelvalue\u003e\n ...\n\nReplace \u003cvar translate=\"no\"\u003ePROJECT_NAMESPACE\u003c/var\u003e with the namespace of your project."]]