-
Notifications
You must be signed in to change notification settings - Fork 1
Generalização de configuração de coleta e criação de coletores
O objetivo dessa ferramenta é permitir generalizar uma configuração de coleta de um template específico para todos os municípios pertencentes aquele template e automatizar o processo de criação de coletores.
A ferramenta de geração de configurações de coleta está rodando na infra do MPMG. Para acessá-la é necessário que você tenha:
- Login e Senha do DCC;
- Login e Senha no MPMG.
Para realizar o acesso você deve fazer um túnel SSH, utilizando o seguinte comando no terminal.
ssh -Y -N -L localhost:8040:localhost:8040 vm_f01
Nesse caso, vm_f01 é o nome dado para a máquina do MPMG no arquivo de configuração SSH. Caso você não tenha esses dados acesse nosso canal de informações no Discord.
Após fazer acesso com seu login e senha, você deve acessar no seu navegador o caminho:
http://localhost:8040/
Após realizar o acesso, essa será a interface que você irá visualizar.
Como podemos ver, você possui duas opções, a primeira é para generalizar um arquivo de configuração de coleta para N municípios e a segunda deve ser utilizada para automatizar o processo de criação de coletores.
- Nome do template para o qual você está criando as configurações (esse dado será utilizado para nomear a pasta com os arquivos de configurações);
- Endereço base utilizado para a coleta;
- Nome da tag a ser coletada (esse dado será utilizado no nome do coletor a ser criado e para o caminho de salvamento dos dados);
- Nome da subtag a ser coletada (Deve ser preenchido se houver subtag);
- Template de configuração de coleta;
- Arquivo com informações a serem substituídas no template de configuração.
O seu template deve possuir algumas tags que serão substituídas pela informação dada no arquivo de configuração. As tags que podem ser utilizadas atualmente são:
<TAG>
<SUBTAG>
<NOME_MUNICIPIO>
<URL_BASE>
<PARAM_URL>
<MUNICIPIO_PATH>
Esse é um exemplo resumido de um template com as suas tags.
"source_name": "[Realiza\u00e7\u00e3o-F01] Coleta de <TAG> - <SUBTAG> de <NOME_MUNICIPIO>",
"base_url": "<URL_BASE><PARAM_URL>",
"obey_robots": false,
"data_path": "realizacaof01/<MUNICIPIO_PATH>/<TAG>/<SUBTAG>",
"request_type": "GET",
"form_request_type": "POST",
"antiblock_download_delay": 2,
"antiblock_autothrottle_enabled": false,
"antiblock_autothrottle_start_delay": 2,
"antiblock_autothrottle_max_delay": 10,
"antiblock_ip_rotation_enabled": false,
Caso você queira que o seu coletor não tenha alguma dessas informações, basta você não adicionar a tag no arquivo de template. Por exemplo, suponhamos que o coletor não tenha Subtag, sendo assim, o seu arquivo template pode ser assim:
"source_name": "[Realiza\u00e7\u00e3o-F01] Coleta de <TAG> de <NOME_MUNICIPIO>",
"base_url": "<URL_BASE><PARAM_URL>",
"obey_robots": false,
"data_path": "realizacaof01/<MUNICIPIO_PATH>/<TAG>",
"request_type": "GET",
"form_request_type": "POST",
"antiblock_download_delay": 2,
"antiblock_autothrottle_enabled": false,
"antiblock_autothrottle_start_delay": 2,
"antiblock_autothrottle_max_delay": 10,
"antiblock_ip_rotation_enabled": false,
Basicamente, o arquivo de configuração é um dicionário de dicionários, onde para cada município você deve colocar os parâmetros que serão alterados. Você pode ver que o nome dos parâmetros aqui informados são iguais ao nome das suas respectivas tags. Sendo assim, para que a ferramenta funcione corretamente é necessário que você siga esse padrão
{"Engenheiro Navarro": { "param_url": "EngNavrro", "data_path":"engenheiro_navarro"},
"Chapada Gaúcha": {"param_url":"ChapadaGaucha", "data_path":"chapada_gaucha"},
"Francisco Badaró": {"param_url":"FrancBandr", "data_path":"francisco_badaro"}
}
Abaixo temos um exemplo real de generalização de coleta de pagamentos, uma subtag de despesas, para o dicionário de configuração mostrado anteriormente. A URL base de pagamentos pode ser acessada ao colocarmos o conteudo de "param_url" ao final.
Após preencher as informações solicitadas, você deve marcar o checkbox "Gerar configurações", irá aparecer dois botões
- Botão
Download
: permite que você baixe todas as configurações de coleta (sugiro que você sempre baixe e verifique, principalmente, se o data_path está correto) - Botão
Criar e rodar coletores
: Cria e executa todos os coletores na infra do MPMG.
Essa funcionalidade é bastante simples. Basicamente, você deve subir um arquivo .zip que contém arquivos .json de configurações de coleta. Para cada arquivo .json será criado um coletor na infra do MPMG.