Monitoramento de Data Pipelines (Grafana + Apache Airflow)
Resolvi publicar esse artigo pois vi pouca documentação ou alternativas bem mais complexas dessas duas ferramentas em conjunto.
Partindo do princípio que você já utiliza o Airflow como ferramenta de fluxo de processos para carga do seu datawarehouse ou datalake. O Grafana é uma boa opção para um monitoramento mais visual e em tempo real dos processos que rodam no Airflow.
As ferramentas que iremos utilizar são:
- Docker — Docker Install
- Grafana — Ferramenta de monitoramento
- Apache Airflow — Data pipeline
- Postgresql — Database onde estão as informações do meu airflow
As coleções de tarefas que você necessita rodar de forma organizada e que geram relações e dependências dentro do Airflow são conhecidas como DAGs (Directed Acyclic Graph). Dependendo das necessidades pode haver um número elevado de dags, isso prejudica a visualização, monitoramento e gerenciamento dos seus fluxos de cargas, conforme imagem abaixo, temos inúmeras dags.
Afim de criar um monitoramento simplificado e de forma visual para todas as dags, criei um dashboard no Grafana, onde posso filtrar por dags e nele tenho todas as informações possíveis de cada job.
Chega de teoria, vamos para prática
1 — Subindo o docker grafana
Após a instalação do docker no seu sistema operacional, é só executar o comando abaixo no seu terminal.
docker run -d -p 3000:3000 grafana/grafana
2 — Após isso acessar o browser com o endereço http://localhost:3000/login
3 — Conectando o Grafana com o postgresql(database do meu airflow)
- >Add data source
4 — Criar Dashboard, adicionar a conexão do postgre e utilizar as queries.
Observação -> criei algumas variáveis $Dags e $Pesquisar:
Seguem configurações das duas
Arquivos Json do grafana se preferir apenas importar
Qualquer dúvida ou crítica, estou à disposição. https://www.linkedin.com/in/lopesdiego12/