En esta página, se describe cómo generar métricas nuevas a partir de métricas existentes mediante la implementación de un recurso personalizado MonitoringRule en Google Distributed Cloud (GDC) air-gapped.
Las reglas de registro te permiten calcular previamente las expresiones que se usan con frecuencia o que son costosas desde el punto de vista computacional, lo que mejora el rendimiento de los paneles y las alertas. Definidas dentro de los recursos personalizados MonitoringRule, estas reglas generan nuevas métricas de series temporales a partir de métricas existentes, lo que mejora la observabilidad de los datos.
Al almacenar resultados calculados previamente, 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, en especial para los paneles y las alertas complejos que requieren evaluaciones repetidas de la misma expresión. Básicamente, los recursos MonitoringRule te permiten derivar métricas nuevas a partir de las existentes especificando los cálculos necesarios dentro de sus reglas de registro.
Antes de comenzar
Para administrar recursos personalizados MonitoringRule, debes tener los permisos necesarios.
Solicita roles de IAM de la organización
Comunícate con tu administrador de IAM de la organización para solicitar los siguientes roles:
- Creador de MonitoringRule PA (
monitoringrule-pa-creator): Crea recursos personalizadosMonitoringRule. - Editor de MonitoringRule PA (
monitoringrule-pa-editor): Edita o borra recursos personalizadosMonitoringRule. - Visualizador de MonitoringRule PA (
monitoringrule-pa-viewer): Visualiza recursos personalizadosMonitoringRule.
Solicita roles de IAM del proyecto
Comunícate con tu administrador de IAM del proyecto para solicitar los siguientes roles:
- Editor de MonitoringRule (
monitoringrule-editor): Edita o borra recursos personalizadosMonitoringRuleen el espacio de nombres del proyecto. - Visualizador de MonitoringRule (
monitoringrule-viewer): Visualiza recursos personalizadosMonitoringRuleen el espacio de nombres del proyecto.
Crea reglas de registro
Para crear una regla de registro, define un nombre para la métrica registrada y una expresión válida que produzca un valor numérico. Cuando se evalúa, esta expresión genera la métrica nueva. Implementa el recurso personalizado MonitoringRule en el espacio de nombres de tu proyecto en el servidor de la API de Management para activar la regla de registro.
Para obtener más información sobre las reglas de registro, consulta https://grafana.com/docs/loki/latest/rules/.
Sigue estos pasos para crear reglas de registro en el espacio de nombres de tu proyecto:
- Determina el proyecto de GDC desde el que deseas crear reglas de registro.
Crea un archivo YAML que defina el recurso personalizado
MonitoringRule.La especificación completa de
MonitoringRulemuestra un ejemplo de reglas de registro basadas en métricas. Para obtener más información, consulta la documentación de referencia de la API.Reemplaza los siguientes valores en el archivo YAML según tus necesidades:
Nombre del campo Descripción namespaceEs el espacio de nombres del proyecto. nameEs el nombre de la configuración de la regla. intervalEs la duración del intervalo de evaluación de la regla en segundos. limitOpcional. Es la cantidad máxima de alertas. Ingresa 0para que las alertas sean ilimitadas.recordRulesSon las definiciones para calcular métricas nuevas. recordRules.recordEs el nombre del registro de la métrica nueva. El valor debe ser un nombre de métrica válido que defina la serie temporal en la que se almacenan los resultados. recordRules.exprEs una expresión de PromQL para la regla de métricas, que debe evaluarse como un valor numérico. recordRules.labelsOpcional. Son los pares clave-valor de las etiquetas que se agregarán a la métrica nueva o la reemplazarán. Guarda el archivo YAML.
Aplica la configuración de
MonitoringRuleal servidor de la API de Management dentro del mismo espacio de nombres que tus reglas de registro:kubectl --kubeconfig KUBECONFIG_PATH apply -f MONITORING_RULE_NAME.yamlReemplaza lo siguiente:
KUBECONFIG_PATH: Es la ruta al archivo kubeconfig para el servidor de la API de Management.MONITORING_RULE_NAME: Es el nombre del archivo de definiciónMonitoringRule.
Especificación completa de MonitoringRule
Un recurso personalizado MonitoringRule contiene reglas de registro que describen las condiciones para crear métricas nuevas basadas en métricas existentes para la observabilidad.
En el siguiente archivo YAML, se muestra una plantilla para el recurso personalizado MonitoringRule. 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: monitoring.gdc.goog/v1
kind: MonitoringRule
metadata:
# Choose a namespace that matches the project namespace.
# The alert or record is produced in the same namespace.
namespace: PROJECT_NAMESPACE
name: MONITORING_RULE_NAME
spec:
# 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 metrics.
# 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 PromQL 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
Reemplaza lo siguiente:
PROJECT_NAMESPACE: Es el espacio de nombres de tu proyecto.MONITORING_RULE_NAME: Es el nombre del archivo de definiciónMonitoringRule.