Pular para o conteúdo principal

Implantar Extrator de Dados

Implantação do Extrator de Dados


Extrator de Dados

Visão Geral

O Monitor SETEC utiliza um agente de coleta de dados, denominado DataExtractor, o qual consome as informações diretamente da base de dados disponível, independentemente de ser base com dados estruturados ou não. Dessa forma, cabe a cada Instituição implementar o formato de consulta às suas bases de dados e registrar a fonte e o formato no agente de extração, que realiza de forma automática a sincronização na aplicação central. Nesta seção são descritos os passos necessários para a correta implantação e utilização da ferramenta DataExtractor. O primeiro passo consiste em subir o container contendo o DataExtractor e acessa a área de gestão local do DataExtractor. O passo 2 é feita a configuração de variáveis, sejam de redes ou institucionais, cadastrados na aplicação central, enquanto no passo 3, deverão ser configuradas os provedores de dados que serão usados para fornecer os valores das variáveis importadas. Em seguida, no passo 4, para cada variável cadastrada, é feito o processo de configuração de extração de dados, para que seja possível realizar a extração e sua validação, descrito no passo 5. Por fim, para fins de acompanhamento do processo de extração, é possível consultar os logs dos procedimentos.

Instalação do Container do DataExtractor

Para que seja possível realizar a implantação do container, é necessário que a instituição tenha solicitado as credenciais de acesso ao repositório que contém os scripts de implantação. Ao acessar o repositório a instituição tem acesso ao passo-a-passo técnico necessário para realizar a implantação/configuração do DataExtractor. O procedimento para solicitação de acesso está descrito na seção Solicitação de Acesso. A instituição deverá implantar dois ambientes, um de produção e outro de homologação, conforme descrito anteriormente.

Os requisitos mínimos do ambiente de implantação são os seguintes:

  • Máquina virtual com no mínimo 2 vCPU, 4GB de Memória RAM e 60GB de disco;
  • Docker (20.10.8 ou superior);
  • Docker Compose (1.28.2 ou superior);
  • Curl;
  • Git;
  • Python (3.7 ou superior).
note

Importante: As portas 80, 443 e 4567/TCP deverão estar liberadas para internet, apenas para saída.

A área de Tecnologia da Informação deverá preparar a infraestrutura necessária, conforme citado anteriormente. Com base nas informações repassadas através do e-mail de orientações enviado pela equipe do projeto, a área deverá clonar o repositório e seguir as orientações descritas a seguir.

Instação do Docker

Ubuntu Server 20 x64 LTS

sudo apt update
sudo apt install apt-transport-https ca-certificates curl git-core python-dev gnupg software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
sudo systemctl status docker

Debian 10 x64 (Buster)

sudo apt update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
lsb-release \
git-core

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

Instalação do Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Instalação da Ferramenta

Passo 1 - Clonar o repositório na VM onde o DataExtractor será instalado. Substituir <TOKEN_EMAIL> pelo token de acesso ao GitLab enviado para a instituição

git clone https://<TOKEN_EMAIL>@gitlab.ifrn.edu.br/farol-setec/deploys/dataextractor.git

Passo 2 - Copiar o conteúdo do arquivo .env_example para o arquivo .env. Atenção: O arquivo .env_example está oculto por padrão.

cp .env_example .env

Passo 3 - Abrir o arquivo .env e alterar as seguintes variáveis de ambiente, de acordo com as informações do ambiente da instituição.

note

Importante: O conteúdo das variáveis LAMBDA_BASE_URL e LAMBDA_API_KEY serão enviadas no e-mail de orientação. A variável de ambiente HOSTNAME deve ser substituída pela entrada do domínio registrada em sua instituição, como por exemplo dataextractor.ifsp.edu.br, devendo ser criada no DNS da instituição. Caso deseje rodar localmente, edite o arquivo /etc/hosts para que a entrada aponte para 127.0.0.1.

# Arquivo .env de Exemplo
HOSTNAME=dataextractor.ifrn.edu.br
LAMBDA_BASE_URL='<conforme informado no e-mail>'
LAMBDA_API_KEY='<conforme informado no e-mail>'

Passo 4 - Efetuar build e deploy da solução.

./deploy.sh

Passo 5 - Criar um usuário com permissões de Administrador .

docker-compose exec web python manage.py createsuperuser --username <username> --email <email>

Passo 6 - Acessar a aplicação em seu navegador a partir do endereço definido na variável HOSTNAME e se autenticar na ferramenta com as credenciais usadas no Passo 5.

caution

Atenção: Cada instituição só pode ter uma instância em funcionamento (produção) e uma versão de teste (homologação) do extrator de dados conectadas à aplicação central. Caso você deseje ativar uma nova instância para a sua instituição, é necessário solicitar a desativação da instância anterior, através do sistema de suporte. Para obter suporte, clique aqui.