Si está utilizando nuestra integración de escritura remota Prometheus en una configuración de alta disponibilidad (HA), debe asegurarse de que sus servidores Prometheus no envíen múltiples copias de la misma métrica a New Relic. Este documento describe cómo puedes configurar tu integración de escritura remota para que New Relic no mantenga métricas duplicadas.
Sugerencia
Para obtener información sobre la integración de escritura remota estándar de Prometheus sin utilizar una configuración de alta disponibilidad, consulte Configure su integración de escritura remota de Prometheus.
Etiquetas externas
New Relic requiere dos etiquetas externas para deduplicar datos de réplicas en una configuración de alta disponibilidad:
Nombre de etiqueta | Descripción | Valor de ejemplo |
---|---|---|
| Una etiqueta cuyo valor identifica el nombre de un clúster o grupo de servidores Prometheus de alta disponibilidad. |
|
| Una etiqueta cuyo valor identifica la réplica única que envía estos datos. |
|
Las secciones restantes explican cómo funcionan las etiquetas con Prometheus Operador y Prometheus independiente.
Operador Prometheus
Estas etiquetas externas se agregan de forma predeterminada si usa Prometheus Operador versión 0.19.0 (o superior). Esto se aplica ya sea que utilice Prometheus Operador directamente o mediante el gráfico de timón.
El operador establece el valor de la etiqueta prometheus
(la que identifica un clúster) como <prometheus deployment namespace>/<prometheus deployment name>
. Por ejemplo, si su namespace para el despliegue de Prometheus es monitoring
y el nombre del despliegue es prometheus-cluster1
, el valor es monitoring/prometheus-cluster1
.
El operador establece el valor de la etiqueta prometheus_replica
como el nombre del pod para cada réplica. Esto sigue el formato replica-<replica number>
, donde el número es el ordinal de esa réplica (por ejemplo, la primera réplica se denomina réplica-1).
Sugerencia
Si aún ve copias duplicadas de los datos de réplica, asegúrese de no tener replicaExternalLabelName
o prometheusExternalLabelName
en su especificación de Prometheus o en la configuración del gráfico porque estas anulaciones cambian el nombre de la etiqueta.
Prometheus independiente
Cuando implemente un servidor Prometheus directamente, debe agregar las etiquetas externas al archivo de configuración. Aquí hay dos ejemplos de configuraciones diferentes para réplicas dentro del mismo clúster de alta disponibilidad:
Replica 1 (prometheus.yml
)
global: external_labels: prometheus: monitoring-cluster prometheus_replica: replica-1
Replica 2 (prometheus.yml)
global: external_labels: prometheus: monitoring-cluster prometheus_replica: replica-2