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

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

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

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:

    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 la métrica OpenTelemetry para exportar datos a un recolector OpenTelemetry, que luego reenviará los datos a un extremo OTLP de New Relic usando un .

Importante

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

Configurar el recolector OpenTelemetry

  1. Siga el ejemplo del recolector básico 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. Asegúrese de que se pueda acceder al puerto 4318 en el recolector desde la instancia de Airflow en ejecución. (Para docker, es posible que necesite utilizar una reddocker ).

  5. Lanzamiento 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 ejecutándose 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.

    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.