Files
projeto-importado/docs/transferencia_ambiente_compartilhado.md
T
2025-11-28 00:29:42 -03:00

23 KiB
Raw Blame History

Transferência Ambiente Compartilhado (Atende.Net)

Documentação do passo a passo para realizar a transferência de um cliente para o ambiente compartilhado, Consorcios-01, Consorcios-02, etc..

IMPORTANTE: Antes de prosseguir com os passos abaixo, garanta que todos os procedimento de configuração do ambiente definitivo foram executados conforme o manual: Configuração do Ambiente dos Consórcios

Todos os passos abaixo são baseados no Checklist disponível em: Manutenção Servidores - 15082024 v1.xlsx > TRANSFERIR Compartilhados NOVO que devem ser marcados como OK na planilha conforme a execução!

ATENÇÃO: Seguir os passos da forma que estão descritos, para que o processo finalize com êxito.

✅ Colocando sistema em Modo Manutenção

Será necessário colocar o sistema em Modo Manutenção pra evitar que usuários utilizem o sistema durante a transferencia. Para isso, conecte no servidor Apache (APP) do mesmo utilizando a porta padrão (9024)

vim /var/www/html/cliente.atende.net/_config.padrao.inc  

Altere o parâmetro de 0 para 1

$_CONFIG['manutencao'] = 1;

Para validar se o sistema ficou em modo manutenção, basta acessar o endereço do mesmo https://cliente.atende.net/ e verificar se a mensagem de manutenção é exibida!

✅ Abrir PG_HBA

Será necessário abrir o pg_hba para restaurar a base no ambiente definitivo.

vim /etc/postgresql/16/main/pg_hba.conf

Altere os valores MD5 para TRUST. Segue exemplo abaixo:

host    all             all             127.0.0.1/32            ident map=local
host    all             all             127.0.0.1/32            trust
host    all             all             192.168.31.32/28        trust
host    all             all             192.168.131.0/24        trust
host    all             all             192.168.25.0/24         trust
host    all             all             192.168.24.0/24         trust
host    all             all             192.168.20.0/24         trust
host    all             all             192.168.19.0/24         trust
host    all             all             172.16.0.0/12           trust

Para aplicar a liberação feita no hba, execute:

systemctl reload postgresql.service

✅ Liberar porta 5432

No Firewall do ambiente definitivo, vá em: Firewall > Rules > LAN
Crie uma regra com os seguintes parâmetros:

Regra Interface LAN:

Action: Pass
Interface: LAN
Address Family: IPv4
Protocol: TCP
Source: LAN Net
Destination: Any
Destination Port Range: other 5432 other 5432
Description: SGDB TEMP  

✅ Execução do Script BKP (DUMP/RESTORE)

Para realizarmos a transferência (backup/restore) entre os ambientes, precisamos conectar no servidor de Banco de Dados do cliente (Definitivo)

Na pasta HOME do usuário root teremos o script transferir_16.sh
Altere os parâmetros do mesmo:

vim transferir_16.sh

Obs: Altere apenas os parâmetros passados no manual:

Host_Origem="192.168.25.XX" (Altere conforme o IP informado no chamado)
Porta_Origem="5432"
BD_Origem="00000_cliente" (Alterar conforme repassado no chamado)

Host_Destino="127.0.0.1"
Porta_Destino="5432"
BD_Destino="00000_cliente" (Alterar conforme repassado no chamado)

Após alterado, execute o script (Sempre utilize o & no final do comando, garantindo que a execução será feita em segundo plano)

./transferir_16.sh &

Obs: Explicando o Script: Esse script irá conectar no ambiente de Migração (informado no e-mail) onde o cliente esta, irá realizar o Backup na Storage do Data Center, e logo após irá fazer a restauração no ambiente Definitivo do cliente.

✅ Conferencia dos Logs da execução do Script

Assim que o Script for finalizado, deve ser efetuado a conferencia dos logs para garantir que a transferência ocorreu com sucesso:

cat *.log | grep ERROR
cat *.log | grep Error
cat *.log | grep WARN
cat *.log | grep Warn

✅ Execução InicializaDB

Após os ajustes, agora iremos executar o processo do InicializaDB na base do cliente.

Ambiente: Produção IP: 172.16.1.XXX
Porta: 65432 (Padrão) Usuário: postgres
Senha: (neste momento o banco ainda estará como trust sendo assim não é necessário informar a senha)
Database: 00000_cliente

Após informar os dados, o mesmo irá conectar no banco de dados do cliente. Onde já vai trazer algumas opções marcadas no checkbox, e precisamos garantir que as opções abaixo estejam marcadas conforme também o Checklist na planilha (Demais opções que já vieram marcados devem continuar marcadas!):

  • Atividades pós-restore > Seta/Revoga permissões
  • Atividades pós-restore > Cria estrutura de monitoração
  • Consistências > Consistir tablespaces de índices e PKs
  • Criação de Tabelas > Cria ou recria a webbased.tbsession
  • Criação de Tabelas > Cria tabelas caso não existam
  • Criação de Tabelas > Ajustar sequences
  • Particionamento > Particionar as Tabelas
  • Armazenamento de Arquivos > Alterar configuração de uso da Storage
  • Armazenamento de Arquivos > Alterar Estrutura de Armazenamento Deverá ser alterado conforme memória da VM Definitiva (BDP-1600)
    Menor que 6GB - Selecionar a opção 32/16MB
    De 6GB até 12GB - Selecionar a opção 64/32MB
    Se for maior que 12GB - Selecionar a opção 128/64MB
  • Armazenamento de Arquivos > Iniciar Particionamento do shema Arquivo
  • Armazenamento de Arquivos > Habilitar/Desabilitar Agendamentos (desativar apenas o agendamento 459)

Após tudo conferido e marcado, pode clicar em Iniciar

✅ Tirando sistema do Modo Manutenção

Após executar as etapas anteriores, tire o sistema de modo manutenção:

vim /var/www/html/cliente.atende.net/_config.padrao.inc  

Altere o parâmetro de 1 para 0

$_CONFIG['manutencao'] = 0;

✅ Teste Acesso - Atende.Net

Realize o teste de acesso ao Sistema garantindo que o Atende.Net esta acessível e funcionando de forma adequada:

Via navegador: https://cliente.atende.net

✅ Executar Atualização - SVN

Neste ponto iremos executar a atualização SVN (Software Atende.Net) do cliente em questão.

Acesse via navegador: https://cliente.atende.net/atualiza/atualiza_versao.php
Realize o login com as credênciais (Código IPM e Senha) e selecione a ultima revisão e execute a atualização:

execucao_svn

✅ Alterar IP´s Servlets

Para alterar os microserviços no Atende.Net, executaremos o SQL abaixo, onde de forma automatizada já setará todos os Ip's corretamente.

Execute o SQL abaixo no Banco de Dados do cliente alterando os seguintes dados:

Alterar o IP: 192.168.40.32 para o IP da LAN passado no chamado
Alterar o IP 192.168.40.46 para o IP Virtual passado no chamado

CREATE TABLE public.tbmicrosservicoinstancia_202310 AS (
    SELECT *
    FROM webbased.tbmicrosservicoinstancia
);

CREATE TABLE public.tbmicrosservicoinstanciasis_202310 AS (
    SELECT *
    FROM webbased.tbmicrosservicoinstanciasis
);

CREATE TABLE public.tbservletjava_202310 AS (
    SELECT *
    FROM webbased.tbservletjava
);

DELETE
FROM webbased.tbmicrosservicoinstancia
WHERE svjaplicacao IN (2, 3, 4, 5, 15);

DROP TABLE IF EXISTS tbdados;

CREATE TEMP TABLE tbdados AS (
    SELECT '192.168.40.32' AS rede,
           '192.168.40.46' AS cluster
);

INSERT INTO webbased.tbmicrosservicoinstancia (
    svjaplicacao, svjnome, msinome, msisequencia, msiendereco, msiativo, msiversao
) (
    SELECT svjaplicacao,
           svjnome,
           svjnome,
           1,
           CASE
               WHEN svjnome = 'WebOcrReader' THEN 'http://' || tbdados.cluster || ':8083' -- OCR
               WHEN svjaplicacao = 2 THEN 'http://' || tbdados.cluster || ':8081' -- WebReport
               WHEN svjaplicacao = 3 THEN 'http://' || tbdados.cluster || ':8082' -- JobRunner
               WHEN svjaplicacao = 4 THEN 'http://' || tbdados.cluster || ':8083' -- FileOptimizer
               WHEN svjaplicacao = 5 THEN 'http://' || tbdados.cluster || ':8084' -- FileSigner
               WHEN svjaplicacao = 15 THEN 'http://' || tbdados.cluster || ':8086' -- JSM
               ELSE ''
           END,
           1,
           NULL
    FROM webbased.tbservletjava
    LEFT JOIN tbdados ON TRUE
    WHERE svjaplicacao IN (2, 3, 4, 5, 15)
    ORDER BY 1, 2
);

INSERT INTO webbased.tbmicrosservicoinstanciasis (
    svjaplicacao, svjnome, msisequencia, siscodigo
) (
    SELECT 2,
           'WebReport',
           1,
           siscodigo
    FROM webbased.tbsistemacliente
    WHERE sicativo = 1
    GROUP BY siscodigo
);

✅ Nova Estrutura de arquivos

No Atende.Net, acesse o sistema e confira/configure conforme abaixo:
https://cliente.atende.net

⚙️ Conferir/Alterar flag "Utiliza Nova Estrutura de Armazenamento"

Gerenciamento do Sistema » Sistema » Configurações » Geral » Administrador

⚙️ Conferir/Alterar "Tamanho dos Arquivos Grandes"

Gerenciamento do Sistema » Sistema » Configurações » Geral » Administrador

*Tamanho para Particionamento dos Arquivos Grandes*  
*Tamanho das Partições dos Arquivos Grandes*  

ATENÇÃO: Deverá ser alterado conforme memória da VM Definitiva (BDP-1600):  
Menor que 6GB - Selecionar a opção  32/16MB  
De 6GB até 12GB - Selecionar a opção 64/32MB  
Se for maior que 12GB - Selecionar a opção 128/64MB

⚙️ Configurar / Ativar Agendamentos de Banco de Dados: 459, 460, 461

Gerenciamento do Sistema » Sistema » Agendamento de Tarefas

Obs: Agendamento 459 deverá ser DESATIVADO.

⚠️ ATENÇÃO: Cada agendamento deverá ter o seu horário especifico para execução!

Para definir a CRON, consulte esta planilha, a qual será responsavel por organizar os agendamentos dos ambientes COMPARTILHADOS.

✅ Emissão de Relatório (Teste funcionamento)

Teste a emissão de um relatório qualquer para verificarmos o funcionamento.

Exemplo, na rotina Gerenciamento do Sistema » Microsserviços » Microsserviços

Clique no ícone de Impressora localizado no rodapé da página e confirme a impressão:

impressao_relatorio_teste

Após a finalização, confira se imprimiu corretamente!

impressao_relatorio_teste2

✅ Removendo Regra Temporária (Porta 5432)

Nos passos anteriores, criamos uma regra liberando a porta 5432 na Interface LAN do Firewall para a transferência do cliente. Como o processo já foi finalizado, removeremos essa regra:

Navegue em: Firewall > Rules > LAN
Remova a regra criada anteriormente para a porta 5432

✅ Script Backup

⚙️ Configurando arquivo ".cfg"

O arquivo abaixo deverá ser configurado para que todas as manutenções sejam realizadas após a transferência de ambiente.

Altere o DATABASE para o nome padrão do cliente (00000_cliente)

mkdir -p /root/bkp_remoto/<DATABASE>/cfg/

Após, crie o arquivo manutencao.cfg. Neste arquivo iremos inserir a data no padrão ANO/MES/DIA (Ex: 20250515). Isso fará com que o Script verifique essa data e após esse primeiro Backup o mesmo passe a realizar todas as manutenções necessárias na Base.

vim /root/bkp_remoto/<DATABASE>/cfg/manutencao.cfg

✅ Fechar o PG_HBA

Necessário fechar o PG_HBA para que após isso solicite a senha para realizar qualquer conexão no banco de dados.

vim /etc/postgresql/16/main/pg_hba.conf

Altera os valores TRUST para MD5 mantendo apenas a rede 127.0.0.1/32 como trust. Segue exemplo abaixo:

host    all             all             127.0.0.1/32            ident map=local
host    all             all             127.0.0.1/32            trust
host    all             all             192.168.31.32/28        md5
host    all             all             192.168.131.0/24        md5
host    all             all             192.168.25.0/24         md5
host    all             all             192.168.24.0/24         md5
host    all             all             192.168.20.0/24         md5
host    all             all             192.168.19.0/24         md5
host    all             all             172.16.0.0/12           md5

✅ Versão bkp_remoto.sh

Ainda no banco de dados definitivo, confira a versão do script de backup, garantindo que esteja atualizado na versão (3.11). Para isso, execute:

cat bkp_remoto/*.sh | grep "bkp_version="

Retorno: bkp_version="3.11" bkp_version="3.11" bkp_version="3.11"

✅ GTT Agent (Conferência)

Verificar a execução do GTT_AGENT nesse ambiente. Para isso, execute:

systemctl status gtt_agente.service

Retorno: gtt_agente_status

✅ HASH _config.padrao (Apache)

Agora no servidor Apache, iremos alterar as HASH do _config.padrao.inc do cliente. Para isso, execute:

vim /var/www/html/cliente.atende.net/_config.padrao.inc

Altere os parâmetros:  

$_CONFIG['senha_atendenetweb'] = 'HASH'; (Altere para HASH cadastrada em datacenter.ipm.com.br)
$_CONFIG['senha_sincronizador'] = 'HASH'; (Altere para HASH cadastrada em datacenter.ipm.com.br)

✅ Chave Cripto - Cliente

Precisamos definir uma senha para a chave_crypto_cliente no GTT. Essa chave esta presente em TODOS os clientes com o intuíto de ocultar informações sigilósas pertencendo a LGPD.

Para isso, acesse https://datacenter.ipm.com.br/ e navegue:

Gerenciamento Data Center > Manutenção > Equipamentos > Equipamento:   
Encontre o equipamento do Apache do cliente: 00000-cliente-app-01-5618.atende.net).

Clique em Consultar > Serviços > Selecione o Apache e clique em Configurar Serviço:

Incluir:
Usuário: chave_crypto_cliente
Senha: Clique no iclone ao lado para gerar uma senha automaticamente
Ativo: Sim

chave_crypto_gtt

Após realizado o cadastro do usuário e senha no GTT, vá até a VM do Banco de Dados do cliente e execute o comando abaixo para conectarmos via psql:

Altere o nome da database do cliente:

psql -h localhost -U postgres -d 00000_cliente

Agora execute o comando substituindo a "senha" pelo senha cadastrada anteriormente no GTT:

SELECT MD5('senha');
exit

Após o retorno, execute o comando exit para desconectar da instancia do banco de dados:

Colete a senha (HASH) gerada, e adicione no campo comentário com (aspas duplas) no GTT:

chave_crypto_gtt2

Após gerado e realizado o cadastro da senha, iremos informar no _config.padrao.inc do Apache do cliente. Para isso, acesse:

vim /var/www/html/cliente.atende.net/_config.padrao.inc

Informe o valor hash substituindo pelo valor gerado no passo anterior e que colocamos no campo comentário do GTT (sem aspas duplas).

  $_CONFIG['chave_crypto_cliente']= 'hash';

✅ Elastic Global

  • Cadastrar usuário e senha no GDT antigo exemplo: "01216_riogrande_d" gerar a senha e copiar o hash para colocar no config.
  • Criar usuários e senhas no Postman:
    Importar o arquivo: "Elastic - Criação Roles/Usuários - Cluster Global Admin".
    Informar a senha do Elastic Global, dados de usuário do cliente e variáveis com endereço IP dependendo do Datacenter.

-Adicionar as linhas de usuário e senha no .config_padrao.inc do apache:
$_CONFIG['elastic_user'] = '08573-avaliacao';
$_CONFIG['elastic_pass'] = '';

✅ Cadastrar GDT - Cliente / Storage

No sistema antigo de gerenciamento https://datacenter.atende.net, deve-se cadastrar o cliente e vincular a storage de backup que ele utilizará. Tal procedimento é necessário devido a rotina de download dos backups.

Para isso, siga os processos abaixo:

⚙️ Gerenciamento do Data Center » Manutenção » Clientes » Botão Incluir Cliente

  1. Insira a URL do cliente e clique na lupa;
    Após isso, ele irá buscar via webservice as informações.

  2. Informe o código fiscal;

  3. Padronize o Nome Fantasia conforme a entidade que estiver cadastrando (PM - CM - SE - XX);

  4. Informe a storage de backup conforme o ambiente.
    🌐 PR01 - pr01-dd6900-01 (Código 8)
    🌐 SP01 - sp01-dd6400-01 (Código 6)

exemplo_cadastro_gdt

✅ Cadastrar Analytics

Necessário realizar cadastro no Analytics para obter as metricas.

No navegador, acesse: https://analytics.google.com/analytics/web/?hl=pt-br
Utilize uma das contas: [email protected], [email protected] ou [email protected]

Para realizar o cadastro, vá na ⚙️ » Administrador » Criar » Conta

  • Nome da Conta: SC - Prefeitura de "Cliente" (Substituir Estado e Cliente conforme necessidade)
  • Nome da Propriedade: Usar mesmo nome da Conta
  • Categoria: Internet e telecomunicações
  • Escolha seus objetivos de negócios: Outros objetivos de negócios
  • Começar a coletar dados: Selecione opção WEB
  • URL do site: cliente.atende.net / Nome do Fluxo: Mesmo nome da conta "SC - Prefeitura de "Cliente""

Após criar, será gerado um ID da Métrica (Ex: G-01XNDTQG2C), o qual deve ser informado no sistema do cliente! Para isso, acesse: https://cliente.atende.net

Vá em: Gerenciamento do Sistema » Sistema » Configurações » Geral » Serviços Externos
Preencha conforme exemplo e após, clique em confirmar.

servico_analytics

✅ Liberação IPMAdminBD

Para realizar a liberação do IPMAdminBD, acesse o Dicionário (localmente na maquina da IPM).

No botão superior clique em Manutenção Clientes e filtre o cliente em questão. Selecione o cliente e com o botão esquerdo clique em: IPMAdminBD > Técnicos:

ipmadminbd_liberacao_1.png

Com o botão direito na nova janela aberta, selecione a opção (Copiar privilégios de outro cliente)

ipmadminbd_liberacao_2.png

Busque o cliente Rio do Sul como Template, selecione o mesmo e clique em Selecionar

ipmadminbd_liberacao_3.png

Após a seleção, o Dicionário ira nos avisar que essa configuração irá substituir os privilégios do cliente em questão pelos privilégios do template selecionado (Cliente Rio do Sul)

ipmadminbd_liberacao_3.png

Após isso, o cliente possuirá os privilégios adequados de acesso via IPMAdminBD.

✅ Ajustar/Conferir Agendamentos

Vá em: Gerenciamento do Sistema » Sistema » Agendamento de Tarefas

Após, selecione o agendamento desejado e clique em "Horários". Perceba que já existe uma Configuração Padrão, para definir o horário desejado deve-se ir em "Incluir Horário da Execução de uma Tarefa".

Os horários dos agendamentos listados abaixo, devem ser conforme informado no chamado:
Exemplo: Senha Financeira: 12:10 - 00:10 Demais Agendamentos: XX:10

exemplo_alteracao_agendamento.png

⚙️ 6 - Contatos do Usuário:
Descrição: Semanal Todos os Sábados - Manual
Expressão Cron: 0 10 12 ? * 7 * (Atenção: sempre alterar os minutos conforme informação do chamado)
Após configurar, ative o horário incluindo de forma manual e desative o padrão de fábrica. Utilize a opção "Gerenciar".

exemplo_alteracao_agendamento_ativacao.png

⚙️ 4 - Estatísticas de Uso:
Descrição: Semanalmente - Manual
Expressão Cron: 0 10 1 ? * * * (Atenção: sempre alterar os minutos conforme informação do chamado)
Após configurar, ative o horário incluindo de forma manual e desative o padrão de fábrica. Utilize a opção "Gerenciar".

exemplo_alteracao_agendamento_ativacao2.png

⚙️ 3 - Validação de Senha de Acesso:
Descrição: Diariamente, duas vezes ao dia - Ajuste Manual
Expressão Cron: 0 10 0,12 ? * * * (Atenção: sempre alterar os minutos conforme informação do chamado)
Após configurar, ative o horário incluindo de forma manual e desative o padrão de fábrica. Utilize a opção "Gerenciar".

exemplo_alteracao_agendamento_ativacao3.png

Ainda no Agendamento de Tarefas, confira se os listados abaixo estão desativados.
⚙️ 119 - Envio de Arquivos para Storage
⚙️ 158 - Gerenciamento de Arquivos Temporários
⚙️ 178 - Processamento de OCR
⚙️ 198 - Exclusão de Arquivos da Storage

Se não estiverem, execute o SQL:

update webbased.tbtarefacron set tcrativo = 0 where tagcodigo in (158, 119, 198, 178) and tagtipo = 1

✅ Execução dos Agendamentos

Através da rotina Gerenciamento do Sistema » Microsserviços » Monitoramento » Docker » Agendamentos, será possível verificar Última Execução e a Próxima Execução. Caso não liste nada na consulta, revise os microsserviçosou reinicie as stacks.

✅ Cadastrar Domínios de Acesso

Na rotina Gerenciamento do Sistema » Sistema » Domínios, inclua os domínios do cliente. Importante, deve-se sempre iniciar pelo principal cliente.atende.net

exemplo_cadastro_dominio.png

✅ Ativar Nível Máximo de Segurança

Na rotina Gerenciamento do Sistema » Sistema » Configurações » Geral » Segurança, alterar:
⚙️ Nível de Segurança = Máximo

  • Expiração de Usuários Internos = 90
  • Expiração de Usuários Externos = 0

nivel_maximo_de_seuranca

✅ Configuração Microsserviços Mapas

Na rotina Gerenciamento do Sistema » Microsserviços » Microsserviços, na aplicação Mapas o deve ser avaliado e configurado conforme ambiente:

🌐 PR01:

🌐 SP01:

Após configurado, vá em: Gerenciamento do Sistema » Sistema » Configurações » Geral e altere o API de Mapas para: IPM Maps Service