Si está utilizando nuestra integración de Prometheus OpenMetrics, nri-prometheus
en Kubernetes, debe migrar al agente Prometheus de New Relic, newrelic-prometheus-agent
, para lograr la misma experiencia de monitoreo. Vea cómo configurar el agente Prometheus de New Relic.
Dado que newrelic-prometheus-agent
en realidad ejecuta Prometheus server
en modo agente, la estructura del archivo de configuración ha cambiado para ofrecer más flexibilidad y la posibilidad de utilizar cualquier característica relacionada con scrape del servidor Prometheus, como la compatibilidad con muchos métodos de autorización y configuración de reetiqueta. configuraciones, o escalar la instancia de Prometheus.
Traducimos nuestro archivo de configuración simplificado a un archivo de configuración del servidor Prometheus, para brindarle una experiencia de configuración más sencilla. Le sugerimos que lea la documentación para poder seguir mejor esta guía de migración.
Para realizar la migración, ajuste la sección de configuración en su archivo values.yml
con los valores de este documento.
Dashboards y alerta
Las métricas se envían de la misma forma que se enviaron usando la integración de Prometheus OpenMetrics, nri-prometheus
. En algunos casos, es posible que necesite modificar algunos metadatos que han cambiado entre la integración de Prometheus OpenMetrics, nri-prometheus
y el agente de Prometheus, newrelic-prometheus-agent
.
Sugerencia
Lea la lista completa de etiquetas agregadas por el agente de Prometheus.
Metadatos renombrados
La siguiente tabla destaca los metadatos cuyo nombre cambió entre la integración de Prometheus OpenMetrics, nri-prometheus
y el agente de Prometheus, newrelic-prometheus-agent
:
|
|
---|---|
|
|
|
|
|
|
|
|
| N/A |
|
|
|
|
|
|
Si desea que los nombres de atributos de metadatos nri-prometheus
anteriores persistan después de la migración, puede habilitar la siguiente configuración de reetiqueta de escritura remota en el archivo newrelic-prometheus-agent
values.yaml . Esto garantizará que el panel y la alerta dirigidos a estos atributos seguirán funcionando normalmente.
newrelic_remote_write: extra_write_relabel_configs: # Enable the extra_write_relabel_configs below for backwards compatibility with legacy POMI labels. # This helpful when migrating from POMI to ensure that Prometheus metrics will contain both labels (e.g. cluster_name and clusterName). - source_labels: [namespace] action: replace target_label: namespaceName - source_labels: [node] action: replace target_label: nodeName - source_labels: [pod] action: replace target_label: podName - source_labels: [service] action: replace target_label: serviceName - source_labels: [cluster_name] action: replace target_label: clusterName - source_labels: [job] action: replace target_label: scrapedTargetKind - source_labels: [instance] action: replace target_label: scrapedTargetInstance
Importante
Para cumplir con el modelo de datos de Prometheus, los nombres de las etiquetas de Kubernetes (label.kubernetesLabel
) se desinfectan después de eliminarlos para reemplazar cualquier carácter no admitido en _
. Por ejemplo, la etiqueta de Kubernetes k8s.io/app
se agrega como k8s_io_app
. Se ha eliminado el prefijo label.
. El valor de la etiqueta permanece sin cambios.
Metadatos eliminados
Los siguientes metadatos no están disponibles con el agente de Prometheus, newrelic-prometheus-agent
:
deploymentName
integrationName
integrationVersion
nrMetricType
promMetricType
targetName
scrapedTargetName
Descubrimiento de objetivos de Kubernetes
Hemos mejorado la configuración de descubrimiento de objetivos agregando Jobs
. Vea cómo configurar el descubrimiento de objetivos de Kubernetes.
Los comportamientos predeterminados han cambiado entre Prometheus OpenMetrics y el agente de Prometheus. Si bien, de forma predeterminada, Prometheus OpenMetrics elimina el pod y los servicios que contienen prometheus.io/scrape=true
como etiqueta o anotación, el agente de Prometheus elimina todos los objetivos annotated con newrelic.io/scrape: "true"
el pod y los servicios anotados con prometheus.io/scrape=true
solo se eliminarán de forma predeterminada si Corresponde a una de las integraciones prometheus de New Relic compatibles. Consulte la documentación de configuración de scrape para obtener más detalles.
Los nodos métricos ya no se eliminan de forma predeterminada en el agente Prometheus, ya que puede causar duplicación métrica, ya que normalmente se utiliza en la integración de kubernetes de New Relic.
Tipos métricos
Prometheus OpenMetrics, nri-prometheus
, como solución personalizada, convierte Prometheus métrica en New Relic métrica antes de enviarlos, aplicando mapeo según el tipo de metadatos métricos leídos de los datos extraídos: # TYPE <metric_type>
.
En el agente Prometheus, newrelic-prometheus-agent
, que aprovecha un servidor Prometheus estándar, las métricas se envían directamente al extremo de escritura remota de New Relic, que maneja esta conversión en función de los nombres métricos. Es posible que algunas métricas no se conviertan correctamente mediante el extremo de escritura remota:
- Prometheus Counter métrica sin el sufijo de nombre
total
,count
,sum
obucket
se convertirá como Gauge. - Prometheus medidor métrica con el sufijo de nombre
total
,count
,sum
obucket
se convertirá como Counter.
Para solucionar este problema, puede configurar opciones de reetiquetado de mapeo de tipo métrico, verificar las transformaciones métricas y de etiquetas para obtener más detalles.
Transformaciones
Las transformaciones de Prometheus OpenMetrics, nri-prometheus
ahora se reemplazan con la configuración de reetiqueta de Prometheus. Vea una lista de ejemplos de configuraciones de configuración de reetiqueta.
Autoinstrumentación
Similar a Prometheus OpenMetrics (nri-prometheus
), el agente Prometheus (newrelic-prometheus-agent
) raspa automáticamente la métrica interna. Estas métricas tienen el prefijo prometheus_
y puedes usarlas para observar el estado de la instancia de Prometheus. Por defecto sólo se envía un conjunto reducido de estas métricas. Puede encontrar la lista de métricas en el archivo value.yaml predeterminado del gráfico, buscando job_name: self-metrics
.
También le brindamos un dashboard seleccionado para autométrica con información de rendimiento y salud, y también el volumen métrico enviado. Instale el inicio rápido que contiene el dashboard del agente de Prometheus en su cuenta de New Relic.
Mantenga la integración de Prometheus OpenMetrics durante la migración
New Relic quiere garantizar una migración fluida y fluida a nuestros clientes. Puede conservar la integración de Prometheus OpenMetrics, nri-prometheus
, el agente de Prometheus, newrelic-prometheus-agent
o ambos.
Para conservar nri-prometheus y no utilizar el agente de Prometheus a partir de ahora, configure su archivo values.yaml
de la siguiente manera:
nri-metadata-injection: enabled: true
nri-prometheus: enabled: true
newrelic-prometheus-agent: enabled: false
Siga los pasos explicados en este documento para actualizar el clúster de Kubernetes mediante Helm.