Puede hacer que los datos de Prometheus fluyan en New Relic con solo unos simples pasos. Una vez que se integre, sus datos serán visibles en el panel de control basado en consultas (y en otros resultados de consultas), a menudo en unos cinco minutos. Esta página cubre la configuración básica para la integración de escritura remota, así como algunos temas comunes de resolución de problemas. Para obtener información sobre la integración de servidores Prometheus en una configuración de alta disponibilidad (HA), consulte nuestra documentación de alta disponibilidad de Prometheus .
(Opcional) Configuración del operador Prometheus
Si está utilizando el Operador Prometheus, deberá crear un secreto con New Relic para la cuenta a la que desea informar datos. Asegúrate de que la clave de API sea del tipo Ingest - License
.
$kubectl -n YOUR_PROM_NAMESPACE create secret generic nr-license-key --from-literal=value=YOUR_LICENSE_KEY
A continuación, agregue lo siguiente a su CRD de Prometheus (kind:Prometheus
) en el campo correspondiente del gráfico Helm:
prometheus: prometheusSpec: remoteWrite: - url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=YOUR_CLUSTER_NAME authorization: credentials: key: value name: nr-license-key
Configurar la integración
Vaya al iniciador de configuración de escritura remota de Prometheus en la UI y complete estos pasos para agregar datos de Prometheus.
Introduzca un nombre para el servidor Prometheus que se conectará y su URL
remote_write
.Importante
El nombre que ingresa para el servidor crea un atributo en sus datos. Este es también el nombre que identifica qué servidor Prometheus está enviando datos a New Relic.
Agregue una nueva URL
remote_write
a su archivo YML de Prometheus. Agregue esta información debajo deglobal_config
en el archivo, en el mismo nivel de sangría que la secciónglobal
.Utilice la siguiente sintaxis:
Prometheus v2.26 y superior
remote_write:- url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=YOUR_DATA_SOURCE_NAMEauthorization:credentials: YOUR_LICENSE_KEYPrometheus inferior a v2.26
remote_write:- url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=YOUR_DATA_SOURCE_NAMEbearer_token:YOUR_LICENSE_KEYO
Cualquier versión de Prometheus
remote_write:- url: https://metric-api.newrelic.com/prometheus/v1/write?X-License-Key=YOUR_LICENSE_KEY&prometheus_server=YOUR_DATA_SOURCE_NAMEEste enfoque pasa credenciales en la URL. No recomendamos usarlo a menos que uno de estos otros enfoques no funcione en su entorno.
Cuentas de la Unión Europea: si te conectas desde la UE, emplea la siguiente URL:
https://metric-api.eu.newrelic.com/prometheus/v1/writeIntegración de escritura remota Kubernetes y Helm: agregue la URL de escritura remota a su archivo Helm
values.yaml
. ReemplaceremoteWrite: []
con dos líneas similares al siguiente ejemplo. Cerciorar de emplear su URL de escritura remota y emplear una sangría que coincida con el resto del archivo:remoteWrite:- url: https://metric-api.newrelic.com/prometheus/v1/write?prometheus_server=YOUR_DATA_SOURCE_NAMEbearer_token:YOUR_LICENSE_KEYReinicie su servidor Prometheus.
Vea sus datos en la New Relic UI. Por ejemplo, utilice el dashboard de escritura remota que creamos automáticamente cuando configura su integración.
¿Te ha ayudado este documento con la instalación?
Mapa de tipos métricos de Prometheus y New Relic
El protocolo de escritura remota de Prometheus no incluye información de tipo métrica u otros metadatos métricos útiles al enviar métrica a New Relic, por lo que inferimos el tipo métrica según las convenciones de nomenclatura de Prometheus. Es posible que métrica que no siga estas convenciones de nomenclatura no se asigne correctamente.
Mapeamos los tipos métricos de Prometheus en tipos métricos New Relic según las convenciones de nomenclatura de Prometheus métrica de la siguiente manera:
metricName_bucket
se almacena como un tipo de conteo métrico New Relic .metricName_count
se almacena como un tipo de conteo métrico New Relic .metricName_total
se almacena como un tipo de conteo métrico New Relic .metricName_sum
se almacena como un tipo de métrica de resumen de New Relic.
Todo lo demás se almacena como un medidor métrico tipo New Relic .
Anular mapeo tipo métrica
Si tiene métricas que no siguen las convenciones de nomenclatura de Prometheus, puede configurar la escritura remota para etiquetar la métrica con una etiqueta newrelic_metric_type
que indique el tipo de métrica. Esta etiqueta se elimina cuando New Relic la recibe.
Example: Tiene una métrica de contador denominada my_counter
, que no tiene nuestro sufijo de convención de nomenclatura de _bucket
, _count
o _total
. En esta situación, su métrica se identificaría como un medidor en lugar de un contador. Para corregir esto, agregue la siguiente configuración de reetiqueta a su prometheus.yml
:
- url: https://metric-api.newrelic.com/prometheus/v1/write?X-License-Key=... write_relabel_configs: - source_labels: [__name__] regex: ^my_counter$ target_label: newrelic_metric_type replacement: "counter" action: replace
Esta regla coincide con cualquier métrica con el nombre my_counter
y agrega una etiqueta newrelic_metric_type
que la identifica como un contador. Puede utilizar lo siguiente (¡distingue entre mayúsculas y minúsculas!) valores como valor de reposición:
- encimera
- medidor
- resumen
Cuando una etiqueta newrelic_metric_type
está presente en una métrica recibida y configurada en uno de los valores válidos, New Relic asignará el tipo indicado a la métrica (y quitará la etiqueta) antes del consumo posterior en el pipeline de datos. Si tiene varias métricas que no siguen las convenciones de nomenclatura anteriores, puede agregar varias reglas y cada regla coincida con diferentes etiquetas de origen.
Establecer listas de permitir o denegar para envío métrico
Si necesitas un mayor control sobre los datos que envías a New Relic, puedes enviar un subconjunto de tu métrica. Para hacer esto, configure remote-write
con el parámetro write_relabel_configs
con un valor de subparámetro action
de keep
o deny
.
En este ejemplo, solo enviarás la métrica que coincida con la expresión regular. No se enviarán métricas no coincidentes. Alternativamente, puede usar action: drop
para eliminar todas las métricas que coincidan con la expresión regular.
- url: https://metric-api.newrelic.com/prometheus/v1/write?X-License-Key=... write_relabel_configs: - source_labels: [__name__] regex: "coredns_(.*)|etcd_(.*)" action: keep
Este ejemplo de Kubernetes utiliza el archivo values.yaml
de este gráfico de Helm. Si está utilizando un gráfico Helm diferente, consulte su documentación remoteWrite
(por ejemplo, algunos archivos Helm usan camelcase writeRelabelConfigs
en su lugar).
remoteWrite: - url: https://metric-api.newrelic.com/prometheus/v1/write?X-License-Key=... write_relabel_configs: - source_labels: [__name__] regex: "coredns_(.*)|etcd_(.*)" action: keep
Personaliza el comportamiento de escritura remota
Puede personalizar el siguiente parámetro si está escribiendo en más de una cuenta en New Relic o está conectando más de una fuente de datos de Prometheus a la misma cuenta en New Relic. Para obtener más información, consulte los documentos sobre ajuste de escritura remota.
Solucionar mensajes de error
Si recibe un mensaje de error de integración de New Relic o un mensaje de error en el registro de su servidor Prometheus después de reiniciar su servidor Prometheus, revise nuestra documentación sobre resolución de problemas de escritura remota. Esto incluye corregir errores comunes, como caracteres faltantes o incorrectos, solicitudes incorrectas, entidad de solicitud demasiado grande y errores de límite de velocidad.
Quitar la integración
Cuando elimina la integración de escritura remota de Prometheus, esto detiene el flujo de nuevos datos, pero no purga ni elimina ningún dato histórico. Para eliminar la integración, elimine el fragmento de código de configuración de su archivo YML de Prometheus y luego reinicie el servidor.