Métricas de etiquetas

Los recursos personalizados MonitoringTarget en Google Distributed Cloud (GDC) aislado te permiten etiquetar las métricas extraídas para diferenciar las características de las métricas y filtrar los datos de las series temporales. Además de recopilar métricas, puedes configurar reglas de reetiquetado para enrutar métricas a otro proyecto, agregar etiquetas clave-valor personalizadas o cambiar el nombre de las métricas antes de la transferencia.

Cada combinación única de pares de etiquetas clave-valor crea una serie temporal nueva, lo que puede aumentar de forma significativa el almacenamiento de datos. Evita usar etiquetas para dimensiones de alta cardinalidad con muchos valores posibles, como IDs de usuario o direcciones de correo electrónico. Para obtener más información sobre el reetiquetado de métricas, consulta Cómo funciona el reetiquetado en Prometheus.

Antes de comenzar

Para administrar los recursos personalizados de MonitoringTarget, debes tener los permisos necesarios.

Solicita roles de IAM de la organización

Comunícate con el administrador de la organización de IAM para solicitar los siguientes roles:

  • Creador de PA de MonitoringTarget (monitoringtarget-pa-creator): Crea recursos personalizados de MonitoringTarget.
  • Editor de PA de MonitoringTarget (monitoringtarget-pa-editor): Edita o modifica recursos personalizados de MonitoringTarget.
  • Visualizador de PA de MonitoringTarget (recursos personalizados monitoringtarget-pa-viewer~): viewMonitoringTarget`).

Solicita roles de IAM del proyecto

Comunícate con el administrador de proyectos de IAM para solicitar los siguientes roles:

  • Editor de MonitoringTarget (monitoringtarget-editor): Edita o modifica recursos personalizados de MonitoringTarget en el espacio de nombres del proyecto.
  • Visualizador de MonitoringTarget (monitoringtarget-viewer): Visualiza los recursos personalizados de MonitoringTarget en el espacio de nombres del proyecto.

Envía métricas a otro proyecto

Los autores de contenedores pueden codificar métricas específicas para que se envíen a un proyecto diferente, incluso a proyectos que no les pertenecen. Para enviar una métrica a un proyecto específico, agrega la etiqueta _gdch_project a la métrica en tu código y establece su valor en el nombre del proyecto de destino.

Como alternativa, usa el recurso personalizado MonitoringTarget para enviar todos los datos de métricas recopilados a otro proyecto. Establece la etiqueta _gdch_project como una etiqueta de destino en el campo metricsRelabelings, con el nombre del proyecto nuevo como el valor de reemplazo.

En la siguiente muestra de código, se indica cómo establecer la etiqueta de destino _gdch_project en el recurso personalizado MonitoringTarget para enviar métricas al proyecto llamado another-project-name:

apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods.
  namespace: PROJECT_NAMESPACE
  name: MONITORING_TARGET_NAME
spec:
  # [...]
  podMetricsEndpoints:
    # [...]
    metricsRelabelings:
      - action: replace
        targetLabel: _gdch_project
        replacement: another-project-name
      # [...]

Reemplaza lo siguiente:

  • PROJECT_NAMESPACE: Es el espacio de nombres de tu proyecto.
  • MONITORING_TARGET_NAME: Es el nombre del archivo de definición de MonitoringTarget.

Agrega etiquetas nuevas a las métricas

Las etiquetas ayudan con la observabilidad y la supervisión, ya que identifican las características de las métricas. Puedes agregar etiquetas que los contenedores extraídos no exponen inicialmente. En el recurso personalizado MonitoringTarget, establece la etiqueta nueva como destino y proporciona un valor de reemplazo. Este par clave-valor se agrega a todas las métricas que recopila el recurso.

En la siguiente muestra de código, se indica cómo establecer la etiqueta de destino my_new_label y configurar su valor como my_label_value en el recurso personalizado MonitoringTarget:

apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods.
  namespace: PROJECT_NAMESPACE
  name: MONITORING_TARGET_NAME
spec:
  # [...]
  podMetricsEndpoints:
    # [...]
    metricsRelabelings:
      - action: replace
        targetLabel: my_new_label
        replacement: my_label_value
      # [...]

Reemplaza lo siguiente:

  • PROJECT_NAMESPACE: Es el espacio de nombres de tu proyecto.
  • MONITORING_TARGET_NAME: Es el nombre del archivo de definición de MonitoringTarget.

Cómo cambiar el nombre de una métrica

Puedes cambiar el nombre de la métrica de un contenedor con el recurso MonitoringTarget. Establece el nombre de la métrica original y su reemplazo en el campo metricsRelabelings. El nombre original se trata como una expresión regular (regex) y se reemplaza por el nombre nuevo.

En la siguiente muestra de código, se indica cómo reemplazar el nombre de la métrica cpu_usage (regex) por cpu_usage_new_name en el recurso personalizado MonitoringTarget:

apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
metadata:
  # Choose the same namespace as the workload pods.
  namespace: PROJECT_NAMESPACE
  name: MONITORING_TARGET_NAME
spec:
  # [...]
  podMetricsEndpoints:
    # [...]
    metricsRelabelings:
      - action: replace
        regex: cpu_usage
        replacement: cpu_usage_new_name
        sourceLabels: [__name__]
        targetLabel: __name__
      # [...]

Reemplaza lo siguiente:

  • PROJECT_NAMESPACE: Es el espacio de nombres de tu proyecto.
  • MONITORING_TARGET_NAME: Es el nombre del archivo de definición de MonitoringTarget.