Um fluxo de trabalho (workflow) manual tende a ser mais lento, suscetível a erros e difícil de monitorar do que um fluxo automatizado. O Apache Airflow é uma plataforma de código aberto para desenvolver, agendar e monitorar fluxos de trabalho, como pipelines de dados orientados a lote (tradicionais, baseados em tempo ou disparados por eventos), fluxos de aprendizado de máquina, treinamento de modelos e cargas de trabalho baseadas em agentes ou LLMs. O framework extensível em Python do Airflow permite criar fluxos de trabalho que se conectam a praticamente qualquer tecnologia. Os fluxos de trabalho do Airflow são definidos inteiramente em Python e uma interface web ajuda a visualizar, gerenciar e depurar os fluxos de trabalho.
Um modelo que encapsula tudo o que é necessário para executar um fluxo de trabalho é chamado de DAG. DAG vem de Directed Acyclic Graph, em português Grafo Acíclico Dirigido (ou direcionado). Grafo é uma estrutura formada por nós (vértices) ligados por arestas; dirigido é porque cada aresta tem um sentido (se A aponta para B, isso significa “A vem antes de B”, e não o contrário); acíclico é porque não existem ciclos, ou seja, o fluxo termina (não entra em loop infinito). Alguns atributos de uma DAG incluem:
- Agendamento: Quando o fluxo de trabalho deve ser executado.
- Tarefas (tasks): Unidades discretas de trabalho executadas.
- Dependências de tarefas: A ordem e as condições sob as quais as tarefas são executadas.
- Retornos de chamada (callbacks): Ações a serem realizadas quando uma DAG ou tarefa muda de estado (por exemplo, on_success_callback ou on_failure_callback).
- Parâmetros adicionais: Outros detalhes operacionais.
Instalação
Sua instalação envolve preparar um ambiente Python compatível, instalar o pacote do Airflow e suas dependências e configurar os componentes necessários para sua execução. Em uma instalação típica, isso inclui um banco de dados de metadados, responsável por armazenar informações sobre as DAGs e suas execuções, além de componentes como o scheduler, que determina quando as tarefas devem ser executadas, e o servidor web, que disponibiliza a interface gráfica. A configuração também envolve definir o executor e o diretório em que os arquivos das DAGs serão armazenados.
Tela DAGs: visão geral dos fluxos de trabalho
Após iniciar o Airflow, a interface web permite acompanhar os fluxos de trabalho configurados no ambiente (lista de DAGs). Cada DAG pode estar ativa ou pausada. Uma DAG ativa está habilitada para que o scheduler programe suas execuções conforme o agendamento configurado, enquanto uma DAG pausada não recebe novas execuções automáticas pelo agendamento, embora suas execuções anteriores permaneçam disponíveis para consulta e seja possível dispará-la manualmente.

Na lista de DAGs, encontramos também as seguintes informações e opções:
- Owner – identifica o responsável indicado na configuração da DAG;
- Runs – apresenta informações sobre as execuções da DAG, permitindo acompanhar seu histórico e seus resultados;
- Schedule – informa a programação de execução definida para a DAG, que pode ser expressa por uma expressão cron, um intervalo ou outra configuração de agendamento compatível;
- Last Run – indica a execução mais recente registrada para a DAG;
- Next Run – informa quando está prevista a próxima execução, conforme o agendamento e o estado do fluxo de trabalho;
- Recent Tasks – resume os estados recentes das tarefas, facilitando a identificação de execuções bem-sucedidas, falhas e tarefas em andamento;
- Actions – reúne ações disponíveis para administrar a DAG, como pausá-la ou ativá-la e acessar opções de execução, conforme a interface e as permissões do usuário;
- Links – oferece atalhos para páginas relacionadas à DAG, facilitando o acesso a informações e ferramentas de acompanhamento.
O campo Schedule merece atenção especial. Por exemplo, a expressão “0 0 * * *” significa que a DAG está programada para executar diariamente à meia-noite, de acordo com o fuso horário configurado para ela. Os cinco campos da expressão cron representam, respectivamente, minuto, hora, dia do mês, mês e dia da semana. O asterisco (*) indica que o campo aceita qualquer valor válido. Geralmente o horário é UTC (horário de Brasília é UTC-3, então algo que roda meia-noite apareceria como 2026-10-08, 03:00:00, por exemplo).
Visualizações disponíveis para uma DAG
Ao selecionar uma DAG, é possível acessar diferentes visualizações para compreender sua estrutura, acompanhar suas execuções e investigar problemas. Na interface do Airflow 2.3.0, encontramos as seguintes opções:
- Grid – apresenta as execuções da DAG ao longo do tempo e os estados de suas tarefas em uma grade, facilitando a identificação de falhas, atrasos e padrões de execução;
- Graph – representa graficamente as tarefas e suas dependências, permitindo visualizar a sequência lógica do fluxo e identificar quais tarefas dependem de outras;
- Calendar – exibe o histórico de execuções em formato de calendário, ajudando a observar padrões de sucesso e falha ao longo dos dias;
- Task Duration – mostra a duração das tarefas em execuções anteriores, permitindo identificar variações e possíveis gargalos de desempenho;
- Task Tries – permite analisar as tentativas de execução das tarefas, ajudando a identificar tarefas que falham repetidamente ou precisam de novas tentativas;
- Landing Times – permite examinar os horários em que as tarefas chegam aos seus estados de execução ou conclusão, ajudando a investigar atrasos em relação ao esperado;
- Gantt – o diagrama de Gantt apresenta as tarefas em uma linha do tempo, permitindo comparar suas durações e identificar sobreposições e períodos de espera;
- Details – reúne informações de configuração e metadados da DAG, úteis para consultar suas propriedades;
- Code – exibe o código-fonte que define a DAG, permitindo consultar como o fluxo de trabalho foi implementado;
- Audit Log – apresenta registros de auditoria das ações realizadas no ambiente, quando disponíveis, ajudando a acompanhar alterações e operações administrativas.
Cada visualização atende a uma necessidade diferente. Enquanto a tela Graph é especialmente útil para entender as dependências entre tarefas, a tela Grid facilita o acompanhamento do histórico de execução e a identificação rápida de problemas.

A visualização Grid combina uma representação temporal das execuções com uma grade de estados das tarefas. A primeira linha apresenta barras que representam as execuções da DAG (DAG Runs). O comprimento de cada barra é proporcional à duração daquela execução: quanto maior a barra, mais tempo a execução levou para ser concluída.
As linhas seguintes representam as tarefas (tasks) da DAG. Cada coluna corresponde a uma execução específica, e cada quadrado representa uma instância de uma tarefa naquela execução (Task Instance). A cor de cada quadrado indica o estado da instância, permitindo identificar rapidamente quais tarefas foram concluídas, quais falharam e quais ainda estão em andamento ou aguardando alguma condição.
Na versão 2.3.0, os principais estados e suas cores são:
- queued (cinza) – a tarefa foi colocada na fila do executor e aguarda o início da execução;
- running (verde-limão) – a tarefa está sendo executada;
- success (verde escuro) – a tarefa foi concluída com sucesso;
- failed (vermelho) – a tarefa terminou com falha;
- up_for_retry (amarelo-dourado) – a tarefa falhou, mas ainda tem novas tentativas previstas conforme sua configuração;
- up_for_reschedule (azul-claro) – a tarefa, geralmente um sensor configurado para esse comportamento, aguarda uma nova oportunidade de execução;
- upstream_failed (laranja) – a tarefa não foi executada com sucesso porque uma tarefa da qual ela depende falhou;
- skipped (rosa) – a tarefa foi ignorada, por exemplo, devido à lógica de ramificação do fluxo de trabalho ou a uma condição que determina seu não processamento;
- scheduled (bege) – a tarefa foi identificada pelo scheduler como pronta para ser executada assim que as condições necessárias forem atendidas;
- deferred (roxo) – a tarefa suspendeu sua execução e aguarda um evento ou uma condição externa, geralmente por meio de um mecanismo de trigger;
- no_status (branco) – a instância ainda não possui um estado registrado, o que pode ocorrer, por exemplo, antes de sua execução ser iniciada.
Essas cores facilitam a leitura do histórico e ajudam a identificar problemas sem que seja necessário abrir cada tarefa individualmente. Ao selecionar uma barra de execução ou um quadrado da grade, é possível acessar detalhes adicionais sobre aquela execução ou instância, incluindo informações úteis para investigar falhas.

As mesmas cores utilizadas na tela Grid também aparecem na visualização Graph, mas com uma finalidade complementar. Nessa tela, cada nó representa uma tarefa e as ligações entre os nós indicam as dependências existentes entre elas.
Essa representação é especialmente útil para compreender como uma falha se propaga pelo fluxo de trabalho. Se uma tarefa falha, as tarefas dependentes podem deixar de ser executadas, dependendo das regras de dependência e das condições de disparo configuradas. A visualização em grafo ajuda a localizar o ponto inicial do problema e a entender quais partes do pipeline foram afetadas.
Referência: a descrição da interface neste texto considera o Apache Airflow 2.3.0, conforme a documentação oficial da interface web. A aparência e algumas funcionalidades podem variar entre versões.




