Skip to content

Generalização de configuração de coleta e criação de coletores

Isabel Elise edited this page Mar 8, 2023 · 5 revisions

Objetivo

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.

Como acesso essa ferramenta humano?

A ferramenta de geração de configurações de coleta está rodando na infra do MPMG. Para acessá-la é necessário que você tenha:

  1. Login e Senha do DCC;
  2. 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.

test

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.

Generalização de configurações de coleta

Explicando os campos

  1. 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);
  2. Endereço base utilizado para a coleta;
  3. 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);
  4. Nome da subtag a ser coletada (Deve ser preenchido se houver subtag);
  5. Template de configuração de coleta;
  6. Arquivo com informações a serem substituídas no template de configuração.

Exemplo de template

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,

Exemplo de arquivo de configuração

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"}
}

Exemplo de generalização preenchido

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.

Screenshot from 2022-04-06 08-56-06

Criando coletores

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.

Automatização da criação de coletores

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.