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 deMonitoringTarget. - Editor de PA de MonitoringTarget (
monitoringtarget-pa-editor): Edita o modifica recursos personalizados deMonitoringTarget. - 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 deMonitoringTargeten el espacio de nombres del proyecto. - Visualizador de MonitoringTarget (
monitoringtarget-viewer): Visualiza los recursos personalizados deMonitoringTargeten 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 deMonitoringTarget.
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 deMonitoringTarget.
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 deMonitoringTarget.