Open ogecece opened 5 months ago
No último encontro síncrono do GT conseguimos exportar logs da aplicação com o OpenTelemetry.
Próximos passos: configurar OTel Collector para receber logs e verificar problema com logs de nível INFO
não aparecendo.
PR em draft foi aberto para configuração do OTel Collector: https://github.com/okfn-brasil/querido-diario-api/pull/70
PR em draft foi aberto para configuração inicial do Loki e Grafana: #71
Após esse passo, resta configurar novos logs por endpoint, uso de autenticação, variáveis de ambiente e documentação
Descrição
Construção inicial de um ambiente de observabilidade para a API utilizando OpenTelemetry e Grafana. Começamos pelos logs pois provavelmente é a etapa que menos exigiria alterações no código.
O fluxo de desenvolvimento será feito utilizando a branch
dev
como base. Qualquer Pull Request deverá ser feito a partir e para esta branch.Requisitos
Dockerfile
, arquivos de configuração, variáveis de ambiente, comandos para build e execução noMakefile
Configurando ambiente de desenvolvimento
Mais simples, usando apenas o repo da API e dados fake
make run
. O comando irá levantaropensearch
,postgres
e tentará levantar o servidor da API, com falha. É necessário criar o índice noopensearch
antes de levantar a API.make load-data
make re-run
Mais completo, usando repo de processamento de dados, raspadores e api, com dados reais
make build-devel && podman pull ghcr.io/okfn-brasil/querido-diario-apache-tika-server:latest
no repoquerido-diario-data-processing
querido-diario-data-processing
, mudar variávelFULL_PROJECT
paratrue
make setup
no repoquerido-diario-data-processing
Agora o pod foi criado, assim como vários recursos como Opensearch, Postgres e Minio. Porém, eles ainda estão vazios. Vamos populá-los.
.local.env
do repoquerido-diario
para.env
querido-diario
de acordo com seu READMEquerido-diario
(ex:scrapy crawl rn_natal -a start_date=2024-03-01
)make re-run
no repoquerido-diario-data-processing
Agora temos arquivos, tabelas e índices populados. Podemos habilitar a API.
make build && make re-run
no repoquerido-diario-api
Pronto! Agora o ambiente está todo configurado.
Usando o ambiente
Algumas maneiras úteis de usar o ambiente de desenvolvimento:
Quer acessar o motor de busca para ver os índices textuais de diários e excertos temáticos?
Execute
curl -k -u admin:admin -X GET "localhost:9200/_cat/indices?v&pretty=true"
(outros endpoints funcionarão igualmente de acordo com a documentação do opensearch).Quer baixar mais arquivos de diários e processá-los?
Execute outro
scrapy crawl
no repoquerido-diario
e então executemake re-run
noquerido-diario-data-processing
novamente.O live reload não está habilitado na API. Como checar as mudanças?
Execute
make re-run
novamente.Como acessar a documentação da API?
Acesse
0.0.0.0:8080/docs
.