• /
  • EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Monitor o Apache Airflow com OpenTelemetry

monitor os dados do Apache Airflow configurando o OpenTelemetry para enviar dados para o New Relic, onde você pode visualizar tarefas, operadores e execuções de DAG como métricas.

Screenshot showing sample Airflow DAG runs in New Relic

Pré-requisitos

Antes de ativar o OpenTelemetry no Apache Airflow, você precisará instalar o pacote Airflow com o otel extra. O método de instalação depende da abordagem de implantação do Airflow:

Opção 1: instalação do PyPi

  1. Siga as instruções de instalação da documentação do Airflow.

  2. Ao instalar com pip, adicione o otel extra ao comando. Por exemplo:

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

Opção 2: instalar a partir docker

  1. Configure a imagem do Airflow Docker usando as instruções da documentação do Airflow.

  2. Estenda a imagem docker pré-criada usando um Dockerfile para instalar o otel extra. Você pode substituir a tag mais recente pela versão desejada da imagem.

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

Dica

$AIRFLOW_VERSION já está definido pelo contêiner Apache/airflow, mas pode ser substituído por um número de versão para outras imagens base.

Configuração

Para enviar o Airflow métrica para New Relic, configure o OpenTelemetry métrica para exportar dados para um OpenTelemetry coletor, que então encaminhará os dados para um New Relic OTLP endpoint usando um .

Importante

Devido à atual falta de suporte do Airflow para enviar dados OpenTelemetry com cabeçalhos de autenticação, o coletor OpenTelemetry é essencial para autenticação com New Relic.

Configurar o coletor OpenTelemetry

  1. Siga o exemplo básico de coletor para configurar seu coletor OpenTelemetry .
  2. Configure o coletor com seu endpoint OTLP apropriado, como https://otlp.nr-data.net:4317.
  3. Para autenticação, adicione à variável de ambiente NEW_RELIC_LICENSE_KEY para que ele preencha o cabeçalho api-key .
  4. Certifique-se de que a porta 4318 no coletor possa ser acessada a partir da instância do Airflow em execução. (Para o docker, talvez seja necessário usar uma rede docker.)
  5. lançar o coletor.

Configurar métrica do Airflow

O Airflow envia métricas usando OTLP sobre HTTP, que usa a porta 4318. O Airflow possui vários métodos para definir opções de configuração.

Importante

Se o seu ambiente tiver o Airflow em execução em um contêiner docker junto com o coletor OpenTelemetry , você precisará alterar a configuração otel_host de localhost para o endereço do contêiner do coletor.

Escolha um dos métodos a seguir para definir as opções necessárias para o Airflow.

  1. Defina as opções necessárias no arquivo airflow.cfg .

    [metrics]
    otel_on = True
    otel_host = localhost
    otel_port = 4318
    otel_ssl_active = False
  2. Ou defina as opções necessárias como variáveis de ambiente.

    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

Dica

O Airflow possui configurações adicionais para métricas que podem ser úteis. Isto inclui a capacidade de renomear métricas antes do envio, o que é útil se os nomes de métricas excederem o limite de 63 bytes para OpenTelemetry.

Validar dados enviados para New Relic

Para confirmar que a New Relic está coletando seus dados do Airflow, execute um DAG ou pipeline:

  1. Faça login no fluxo de ar.
  2. Clique no botão executar em um dos DAGs de tutorial existentes ou no seu próprio.
  3. Aguarde até que o pipeline termine de ser executado.
  4. Vá para one.newrelic.com > All capabilities > APM & services > Services - OpenTelemetry > Airflow.
  5. Clique em Metrics Explorer para visualizar métricas para execuções de pipeline.

Painel de construção

Com a métrica do Airflow, você pode criar um painel em torno de pipelines individuais, desempenho geral ou visualizar uma comparação entre diferentes pipelines. Clique aqui para saber mais sobre como consultar sua métrica.

Esta consulta recupera uma lista de todas as métricas relatadas para o Airflow:

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

Certifique-se de alterar o limite (100) se os nomes das suas métricas o excederem.

Esta consulta mostra uma comparação de diferentes tempos de conclusão para execuções bem-sucedidas de diferentes DAGs:

SELECT latest(airflow.dagrun.duration.success) FROM Metric
FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES
Screenshot showing sample Airflow DAG runs in New Relic

Esta consulta mostra contagens de execuções de DAG com falha, que podem ser usadas para criar para pipelines críticos:

SELECT count(airflow.dagrun.duration.failed) FROM Metric
FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES
Screenshot showing sample Airflow failures in New Relic

Importante

As métricas OpenTelemetry do Airflow não são mantidas pela New Relic, portanto, se você tiver algum problema com a instrumentação, crie um novo problema no repositório GitHub do Airflow.

Este documento ajudou você na instalação?

Copyright © 2024 New Relic Inc.

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