Portfólio GD GitHub Vamos conversarConversar
← Todos os projetos

Engenharia de dados

Airflow 3: Control Center

Criei o painel que opera 106 DAGs de coleta, ETL e publicação na empresa em que trabalho: tudo em uma tela, sem SSH nem JSON editado à mão.

Apache Airflow 3PythonPostgreSQLDockerGitHub Actions
Em produção · projeto corporativoCriado e implementado por mim

Telas reais

O painel em produção, tela por tela.

Capturas reais de 10/10/2026. Logotipo, endereço interno e nomes de redes e lojas foram trocados na própria imagem.

control-center · visão geralAmpliar
Visão geral do Control Center: 106 DAGs, 2 executando, 4 projetos e 1 falha em 24 horas, com os cartões de cada projeto

Tela 1 de 7

A operação inteira em uma tela.

A primeira tela responde o que importa: quantas DAGs existem, o que está rodando agora e o que falhou nas últimas 24 horas.

  • 106 DAGs, 100 delas ativas
  • Execuções em andamento, com progresso por tarefa
  • Quatro projetos, cada um com suas DAGs e falhas
control-center · projetosAmpliar
Tela de projetos com quatro workspaces: coleta com 59 DAGs, banco SQL com 43, produto com 2 e central com 2

Tela 2 de 7

Um workspace para cada projeto.

Coleta, banco SQL, produto e central ficam separados. Cada projeto abre só as suas DAGs, com execuções e falhas do dia.

  • 59 DAGs de coleta de preços
  • 43 de ETL, cargas e views em SQL
  • 2 de publicação do produto e 2 da central de dados
control-center · catálogo de dagsAmpliar
Catálogo do projeto de coleta: 59 DAGs, 53 ativas, lista com últimas quatro execuções, situação, agendamento, próxima execução e ações

Tela 3 de 7

Todas as DAGs de um projeto, lado a lado.

Busca, filtro por situação e as quatro últimas execuções de cada DAG em cores. Ao lado ficam o agendamento, a próxima execução e a duração.

  • Liga, desliga e executa a DAG na própria linha
  • Uma DAG por loja monitorada
  • Atualização automática a cada 30 segundos
control-center · tela da dagAmpliar
Tela de uma DAG de coleta: próxima execução, agendamento, pico de memória de 109 MB, progresso com 7.746 EANs e formulário para editar o horário

Tela 4 de 7

Tudo sobre uma coleta.

Próxima execução, agendamento, pico de memória e duração. No meio, o progresso da coleta: EANs coletados, corredores concluídos e páginas varridas.

  • Executar agora, pausar ou excluir
  • Horário editado na tela, no fuso de Brasília
  • Nesta execução: 7.746 EANs em 515 corredores, em 16 min 37 s
control-center · log ao vivoAmpliar
Painel de log com filtro de nível, busca e download, mostrando as linhas finais de uma coleta e o resumo com cobertura de EAN de 98,19%

Tela 5 de 7

O log da execução, sem abrir o servidor.

Filtro por nível, busca, rolagem automática e download. A linha final do coletor resume a execução inteira.

  • 501 linhas, nenhum erro e 16 avisos nesta execução
  • Resumo: 7.890 itens lidos, 7.746 gravados, 98,19% com EAN
  • Métricas de memória gravadas ao fim de cada coleta
control-center · históricoAmpliar
Histórico de uma DAG com dez execuções diárias, todas com sucesso, e a duração de cada uma

Tela 6 de 7

As últimas execuções, uma a uma.

Cada linha abre a tarefa, as tentativas e o log daquela execução específica.

  • Dez dias seguidos de sucesso nesta DAG
  • Duração de cada execução
  • Detalhes e log por execução
control-center · recursosAmpliar
Tela de recursos: 58 DAGs com telemetria, maior pico de 1.138 MB e tabela com pico, média e duração por DAG

Tela 7 de 7

Quanto cada DAG consome.

Telemetria de memória e duração por DAG, para saber o que pode rodar ao mesmo tempo sem derrubar a máquina.

  • 58 DAGs com telemetria
  • Maior pico registrado: 1.138 MB
  • Sucesso e falha na mesma lista

O desafio

Onde tudo começou.

A mesma instalação do Airflow reúne DAGs de quatro projetos. Acompanhar uma execução, achar o log certo ou mudar um horário exigia conhecer a interface técnica do Airflow e, em alguns casos, acessar o servidor.

A solução

Da ideia à implementação.

Criei um Control Center próprio sobre o Apache Airflow 3: catálogo de DAGs separado por projeto, tela operacional com executar, pausar e cancelar, logs ao vivo por tentativa, histórico, consumo de memória e edição visual de horários. O Airflow continua sendo o orquestrador; o painel é a camada de operação.

Como funciona

Por dentro do fluxo.

Plugins do Airflow acrescentam páginas autenticadas que consultam os metadados pelo projeto de origem de cada DAG. A edição de horário valida a expressão, faz backup e grava a configuração de forma atômica; o Airflow relê o arquivo e aplica o novo agendamento na mesma DAG, no fuso de Brasília. Cada publicação do painel passa por um workflow com verificações e rollback automático.

  1. 1Visão geral
  2. 2Projeto
  3. 3Catálogo de DAGs
  4. 4Tela da DAG
  5. 5Log e histórico
  6. 6Recursos

Quem dispara

  • Agendamentocron no fuso de Brasília
  • Executar agoraum clique no painel

Apache Airflow 3

  • Schedulerdecide o que roda e quando
  • DAG processorlê as DAGs de cada projeto
  • Executorroda as tarefas
  • PostgreSQLguarda estado e histórico

106 DAGs em 4 projetos

  • Coleta · 59uma DAG por loja
  • Banco SQL · 43ETL, cargas e views
  • Produto · 2publicação dos dados
  • Central · 2bruto → conferência → produção

Control Center

  • Tempo realo que roda e o que falhou
  • Logsseparados por tentativa
  • Históricoexecução por execução
  • Recursosmemória e duração por DAG
O painel lê o Airflow e também comanda: executar, pausar, cancelar e mudar o horário de uma DAG.

Experimente

Uma simulação do painel para clicar.

control-center · simulaçãodados fictícios
fila 0limite 2 por vez
coleta_loja_demo_01Coleta06:00 · todos os dias ativa
coleta_loja_demo_07Coleta06:30 · seg a sex ativa
coleta_loja_demo_12Coleta07:00 · todos os dias ativa
etl_views_erpETL05:00 · todos os dias ativa
etl_orquestradorETL05:30 · todos os dias ativa
publicacao_produtoPublicação08:00 · todos os dias ativa
$ aguardando execução. Clique em ▶ para rodar uma DAG.

Em resumo

  • 106 DAGs em 4 projetos, numa tela só
  • Executar, pausar e cancelar sem abrir o servidor
  • Logs ao vivo, separados por tentativa
  • Horário editado na tela, com backup e gravação atômica
  • Memória, duração e histórico de cada DAG
  • Deploy por GitHub Actions com verificações e rollback automático

Minha parte

Criei e implementei o projeto: as DAGs, o painel (visão geral, catálogo por projeto, tela da DAG, logs ao vivo, histórico e recursos), a edição de horários, as validações e o fluxo de deploy.

Resultado e situação

Hoje o painel mostra 106 DAGs em quatro projetos: 59 de coleta de preços, 43 de banco SQL, 2 de publicação do produto e 2 da central de dados. As telas acima são do sistema em produção; a simulação abaixo usa dados fictícios.

Contexto do projeto

Projeto real, criado por mim para a empresa em que trabalho hoje. O código é privado. Nas imagens, o logotipo, os nomes das redes e lojas monitoradas e o endereço interno foram removidos no próprio arquivo.