• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Monitor el flujo de aire de Apache con OpenTelemetry

monitor los datos de Apache Airflow configurando OpenTelemetry para enviar datos a New Relic, donde puede visualizar tareas, operadores y ejecuciones de DAG como métrica.

Requisitos previos

Antes de habilitar OpenTelemetry en Apache Airflow, deberá instalar el paquete Airflow con el extra otel . El método de instalación depende de su enfoque de implementación de Airflow:

Opción 1: instalación desde PyPi

  1. Siga las instrucciones de instalación de la documentación de Airflow.

  2. Al instalar con pip, agregue el otel adicional al comando. Por ejemplo:

    bash
    $
    pip install "apache-airflow[otel]"

Opción 2: instalación desde docker

  1. Configure la imagen de Airflow Docker siguiendo las instrucciones de la documentación de Airflow.

  2. Amplíe la imagen docker prediseñada utilizando un Dockerfile para instalar el extra otel. Puede reemplazar la última etiqueta con la versión que desee de la imagen.

    FROM apache/airflow:latest
    RUN pip install --no-cache-dir "apache-airflow[otel]==$AIRFLOW_VERSION"

Sugerencia

$AIRFLOW_VERSION ya está configurado por el contenedor apache/airflow, pero se puede reemplazar con un número de versión para otras imágenes base.

Configuración

Para enviar Airflow métrica a New Relic, configure OpenTelemetry métrica para exportar datos a un OpenTelemetry recolector, que luego enviará los datos a un extremo New Relic OTLP usando un .

Importante

Debido a la falta actual de soporte de Airflow para enviar datos OpenTelemetry con encabezados de autenticación, el recolector OpenTelemetry es esencial para la autenticación con New Relic.

Configurar el recolector OpenTelemetry

  1. Siga el ejemplo básico del recolector para configurar su recolector OpenTelemetry .
  2. Configure el recolector con su extremo OTLP apropiado, como https://otlp.nr-data.net:4317.
  3. Para la autenticación, agregue su a la variable de entorno NEW_RELIC_LICENSE_KEY para que complete el encabezado api-key .
  4. Cerciorar de que el puerto 4318 en el recolector sea accesible desde la instancia de Airflow en ejecución. (Para docker, es posible que necesites usar una reddocker ).
  5. lanzar el recolector.

Configurar flujo de aire métrico

Airflow envía métrica usando OTLP sobre HTTP, que usa el puerto 4318. Airflow tiene múltiples métodos para configurar las opciones de configuración.

Importante

Si su entorno tiene Airflow ejecutar en un contenedor docker junto con el recolector OpenTelemetry , deberá cambiar la configuración otel_host de localhost a la dirección del contenedor del recolector.

Elija uno de los siguientes métodos para configurar las opciones requeridas para Airflow.

  1. Configure las opciones requeridas en el archivo airflow.cfg .

    [metrics]
    otel_on = True
    otel_host = localhost
    otel_port = 4318
    otel_ssl_active = False
  2. O establezca las opciones requeridas como variables de entorno.

    bash
    $
    export AIRFLOW__METRICS__OTEL_ON=True
    $
    export AIRFLOW__METRICS__OTEL_HOST=localhost
    $
    export AIRFLOW__METRICS__OTEL_PORT=4318
    $
    export AIRFLOW__METRICS__OTEL_SSL_ACTIVE=False

Sugerencia

Airflow tiene configuraciones métricas adicionales que pueden resultar útiles. Esto incluye la capacidad de cambiar el nombre de las métricas antes de enviarlas, lo cual resulta útil si los nombres de las métricas exceden el límite de 63 bytes para OpenTelemetry.

Los datos de validación se envían a New Relic

Para confirmar que New Relic está recopilando sus datos de Airflow, ejecute un DAG o una tubería:

  1. Inicie sesión en flujo de aire.
  2. Haga clic en el botón Ejecutar en uno de los DAG del tutorial existente, o en el suyo propio.
  3. Espere a que la canalización termine de ejecutarse.
  4. Vaya a one.newrelic.com > All capabilities > APM & services > Services - OpenTelemetry > Airflow.
  5. Haga clic en Metrics Explorer para visualizar métricas para ejecuciones de canalizaciones.

Panel de control del edificio

Con Airflow métrica, puede crear un panel sobre tuberías individuales, el rendimiento general o ver una comparación entre diferentes tuberías. Haga clic aquí para obtener más información sobre cómo consultar su métrica.

Esta consulta recupera una lista de todas las métricas reportadas para Airflow:

SELECT uniques(metricName) FROM Metric WHERE entity.name = 'Airflow'
AND metricName LIKE 'airflow.%' SINCE 30 MINUTES AGO LIMIT 100

Asegúrate de cambiar el límite (100) si tus nombres métricos lo exceden.

Esta consulta muestra una comparación de diferentes tiempos de finalización para ejecuciones exitosas de diferentes DAG:

SELECT latest(airflow.dagrun.duration.success) FROM Metric
FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES

Esta consulta muestra recuentos de ejecuciones DAG fallidas, que se pueden utilizar para crear para canalizaciones críticas:

SELECT count(airflow.dagrun.duration.failed) FROM Metric
FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES

Importante

New Relic no mantiene las métricas OpenTelemetry de Airflow, por lo que si tiene algún problema con la instrumentación, cree un nuevo problema en el repositorio de GitHub de Airflow.

¿Te ha ayudado este documento con la instalación?

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.