Métricas de etiquetas

Las etiquetas te permiten diferenciar las características de una métrica. Además de recoger métricas, el recurso personalizado MonitoringTarget te permite etiquetar métricas para funciones de observabilidad opcionales:

Para obtener más información sobre el cambio de nombre de las métricas, consulta https://grafana.com/blog/2022/03/21/how-relabeling-in-prometheus-works/.

Antes de empezar

Para gestionar los recursos personalizados de MonitoringTarget, debe tener los permisos necesarios.

Solicitar roles de organización de gestión de identidades y accesos

Ponte en contacto con el administrador de gestión de identidades y accesos de tu organización para solicitar los siguientes roles:

  • MonitoringTarget PA Creator (monitoringtarget-pa-creator): crea MonitoringTarget recursos personalizados.
  • Editor de PA de MonitoringTarget (monitoringtarget-pa-editor): edita o modifica recursos personalizados de MonitoringTarget.
  • Lector de PA de MonitoringTarget (monitoringtarget-pa-viewer~): viewrecursos personalizados de MonitoringTarget`

Solicitar roles de proyecto de gestión de identidades y accesos

Ponte en contacto con el administrador de gestión de identidades y accesos de tu proyecto para solicitar los siguientes roles:

  • Editor de MonitoringTarget (monitoringtarget-editor): edita o modifica recursos personalizados de MonitoringTarget en el espacio de nombres del proyecto.
  • Lector de MonitoringTarget (monitoringtarget-viewer): consulta los recursos personalizados de MonitoringTarget en el espacio de nombres del proyecto.

Enviar métricas a otro proyecto

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

También puede usar el recurso personalizado MonitoringTarget para enviar todos los datos de métricas recogidos a otro proyecto. Define la etiqueta _gdch_project como etiqueta de destino en el campo metricsRelabelings y el nuevo nombre del proyecto como valor de sustitución.

En el siguiente código de ejemplo se muestra cómo definir 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
      [...]

Haz los cambios siguientes:

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

Añadir etiquetas a las métricas

Las etiquetas ayudan a la observabilidad y la monitorización al identificar las características de las métricas. Puede añadir etiquetas que los contenedores rastreados no expongan inicialmente. En el recurso personalizado MonitoringTarget, define la nueva etiqueta como objetivo y proporciona un valor de sustitución. Este par clave-valor se añade a todas las métricas que recoge el recurso.

En el siguiente código de ejemplo se muestra cómo definir 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
      [...]

Haz los cambios siguientes:

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

Cambiar el nombre de una métrica

Puede cambiar el nombre de una métrica de un contenedor mediante el recurso MonitoringTarget. Define el nombre de la métrica original y su sustitución en el campo metricsRelabelings. El nombre original se trata como una expresión regular y se sustituye por el nuevo nombre.

En el siguiente código de ejemplo se muestra cómo sustituir el nombre de la métrica cpu_usage (expresión regular) 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__
      [...]

Haz los cambios siguientes:

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