SabeTudo · Protect · guia técnico do ambiente
Tudo o que o servidor precisa, em linguagem direta.
Para a equipe de TI do cliente. Na maioria dos ambientes tudo isto já está pronto; quando não está, o ajuste é pequeno. Quem quer só o essencial pode ficar no resumo.
Como funciona
Um agente no servidor, conexão só de saída
O SabeTudo lê os dados do sistema de gestão (ERP) direto do banco de dados, monta uma base organizada e a envia para a nuvem PowerDBA, onde as respostas ficam prontas. O Protect usa o mesmo caminho para backup e rotinas de DBA. Quem faz esse trabalho no servidor é o agente PowerDBA, um único programa (processo platom) que roda como serviço do sistema.
O agente é quem inicia todas as conexões. Ele se conecta à nuvem, se identifica com certificado próprio e fica aguardando instruções por esse canal. Por isso não há porta aberta para a internet, não há VPN e não há usuário externo logando no servidor.
Servidor
Onde o agente é instalado
No mesmo servidor onde o banco de dados roda. Precisa de pouco recurso.
| Item | Requisito |
|---|---|
| Sistema operacional (Linux) | Debian 11 ou mais novo, Ubuntu 20.04 ou mais novo, RHEL / Rocky / Alma 8 ou mais novo. Arquitetura x86_64 ou arm64. Com systemd. |
| Sistema operacional (Windows) | Windows Server 2016 ou mais novo, para bancos SQL Server. Instalação feita pela nossa equipe junto com o administrador. |
| Espaço em disco | Cerca de 50 MB para o agente. Área temporária para a extração dos dados: em geral 2 a 5 GB livres em /var/lib/platom ou no volume de dados. |
| Memória e CPU | Sem exigência extra. Em repouso o agente usa alguns MB; durante a extração, o consumo é o de uma consulta comum ao banco. |
| Pacotes (Linux) | curl e sudo. Se faltarem, o instalador pede; por isso o acesso aos repositórios precisa estar funcionando. |
| Privilégio na instalação | Uma pessoa com root (ou sudo) executa um único comando. Depois disso o agente roda com um usuário próprio (platom), sem privilégio de root. |
| Relógio | Hora sincronizada (NTP). Certificados e agendamentos dependem disso. |
| Nome do servidor | Qualquer um. O nome é escolha do cliente e não precisa ser exclusivo: identificamos cada servidor pelo par cliente + host, então nomes repetidos entre clientes não atrapalham. |
Rede
Só saída, iniciada pelo servidor
Nenhuma porta de entrada é necessária, nem redirecionamento no roteador.
| Para quê | Destino | Porta | |
|---|---|---|---|
| Instalação, atualizações do agente e envio da base | tom.powerdba.com.br (via Cloudflare, IP variável) | TCP 443 | obrigatório |
| Canal do agente (mensagens, TLS mútuo, conexão permanente) | mqtt.powerdba.com.br = 216.238.126.107 | TCP 41883 | obrigatório |
| Armazenamento em nuvem (base e cópias de segurança) | *.r2.cloudflarestorage.com | TCP 443 | obrigatório |
| Suporte remoto (túnel de saída) | frp.powerdba.com.br = 216.238.126.107; vps2.powerdba.com.br = 187.60.212.28 / 177.155.125.81 | TCP 7000 | obrigatório |
| Repositórios de atualização do sistema | Ex.: deb.debian.org, security.debian.org, archive.ubuntu.com, mirrors Red Hat; Windows Update | TCP 80 / 443 | obrigatório |
Texto pronto para o pedido de firewall:
Liberar conexões de SAÍDA do servidor de banco de dados para:
- 216.238.126.107 TCP 41883 (agente PowerDBA, TLS mútuo, conexão persistente)
- tom.powerdba.com.br e *.r2.cloudflarestorage.com TCP 443
- 216.238.126.107, 187.60.212.28, 177.155.125.81 TCP 7000 (suporte remoto)
Nenhuma porta de ENTRADA é necessária.
Outros pontos que costumam importar
- DNS funcionando no servidor (resolver nomes externos).
- Proxy: se a rede obriga proxy HTTP, ele precisa estar configurado no sistema (
http_proxy/https_proxy) e noaptouyum. Proxies que inspecionam TLS precisam liberar os destinos acima sem interceptação; o canal do agente usa certificado próprio e não funciona atrás de interceptação. - Velocidade: o instalador baixa cerca de 20 MB. Links lentos funcionam, só demoram.
- Filtro por domínio: se o firewall decide por nome de site, e não só por porta, inclua
tom.powerdba.com.brna lista de permitidos. Liberar o endereço IP não resolve, porque o serviço fica atrás de Cloudflare e o endereço muda. - Nenhuma porta de entrada, nem para o suporte: a porta 7000 é destino, não escuta. Quem abre a conexão é o servidor do cliente, e o suporte trafega por dentro dela.
Sistema operacional
Atualizado, continuamente
Condição permanente, não só do dia da instalação. O agente, o banco de dados e as bibliotecas de segurança dependem de um sistema em dia.
- Linux: os repositórios oficiais acessíveis e o índice em dia (
apt-get update/dnf check-updatesem erro). Recomendamos atualizações de segurança automáticas (unattended-upgradesno Debian/Ubuntu,dnf-automaticno RHEL) e uma janela mensal para o restante. - Windows: Windows Update ativo, com patches mensais aplicados. O servidor de SQL Server segue o mesmo ritmo.
- Versões com suporte: sistema dentro do prazo de suporte do fabricante. Fora de suporte não recebe correções, e com o tempo o agente deixa de ser atualizável nele.
- Reinicializações: quando o kernel ou o Windows pedir, agendar. O agente volta sozinho após o boot.
Na prática: um servidor com o índice do apt parado há meses não conseguiu instalar nem o curl, porque o pacote listado já não existia no repositório. Um apt-get update resolveu. É o tipo de coisa que a atualização contínua evita.
Acesso remoto para suporte
SSH é para emergência, não para o dia a dia
Toda a operação normal passa pelo agente: comandos, rotinas e até um terminal pelo painel PowerDBA, tudo registrado em auditoria.
O SSH entra quando o agente parou e não há como reativá-lo por dentro. Nesse caso chegamos ao servidor por um túnel de saída (o servidor se conecta ao nosso concentrador, nunca o contrário) que encaminha para a porta 22 local. Sem um sshd no servidor, esse caminho de emergência deixa de existir.
Não é preciso abrir a porta 22 para ninguém. O sshd escuta apenas em 127.0.0.1, que é um socket local, não uma regra de firewall. Quem conecta nele é o programa de túnel rodando na mesma máquina, e o tráfego sai pela conexão que ele já mantém aberta com o nosso concentrador. Nenhuma máquina da rede do cliente, e ninguém na internet, alcança essa porta: numa varredura de rede ela não aparece.
Três formas de atender à política do cliente, da mais recomendada para a menos:
Trecho de configuração para a opção recomendada (/etc/ssh/sshd_config.d/powerdba.conf):
ListenAddress 127.0.0.1
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin prohibit-password
Para servidores Windows, o acesso de emergência é combinado caso a caso (RDP pela rede do cliente, ou encaminhamento pelo servidor Linux da mesma rede).
Banco de dados
Acesso local, pelo mecanismo nativo de cada produto
Não precisa abrir a porta do banco para fora.
| Banco | Como o agente acessa | O que o SabeTudo precisa |
|---|---|---|
| IBM Db2 | Como o usuário da instância (ex.: db2inst1), via sudo restrito instalado pelo instalador. | Leitura nas tabelas do ERP. |
| PostgreSQL | Como o usuário postgres do sistema. | Leitura nas tabelas do ERP. |
| SQL Server | Conexão local com um login dedicado, definido junto com o administrador. | Leitura nas tabelas do ERP. |
| MySQL / MariaDB | Conexão local com usuário dedicado. | Leitura nas tabelas do ERP. |
Com o Protect (backup e rotinas de DBA), o agente usa as ferramentas nativas de backup de cada banco e precisa de espaço em disco para as cópias locais, definido na implantação.
Instalação
Um comando, como root
A PowerDBA envia o comando com um código de instalação de uso único, válido por alguns dias.
curl -fsSL https://tom.powerdba.com.br/releases/latest/install.sh | bash -s -- \
--client-slug=NOME-DO-CLIENTE --bootstrap-token=CODIGO --server-url=https://tom.powerdba.com.br
O que o comando faz, em ordem: baixa o agente, cria o usuário platom, instala uma regra de sudo restrita aos usuários dos bancos, registra o servidor na nuvem PowerDBA (recebe seu certificado) e ativa o serviço. Leva de 1 a 5 minutos, conforme o link. Ao final aparece ✓ platom instalado e rodando!
Depois disso a PowerDBA conclui o restante pelo painel: reconhece os bancos, configura a extração e valida os primeiros dados. O cliente não precisa fazer mais nada no servidor.
Para conferir a qualquer momento:
systemctl status platom
journalctl -u platom -n 20 --no-pager
Situações comuns
O que já vimos, e como resolver
| Sintoma | Causa provável | Solução |
|---|---|---|
curl: comando não encontrado | Servidor mínimo, sem o pacote. | apt-get update && apt-get install -y curl sudo (ou dnf install curl sudo). |
404 Not Found ao instalar pacote | Índice do apt desatualizado ou proxy de apt antigo. | apt-get update. Se persistir, verificar /etc/apt/apt.conf.d/ por proxy e trocar o mirror. |
Serviço reinicia a cada 25 s com mqtt connect timeout | Saída TCP 41883 bloqueada no firewall. | Liberar 216.238.126.107:41883. O agente conecta sozinho assim que liberar. |
Registro falha com bootstrap_token expirado | Código de instalação venceu. | Pedir um novo código à PowerDBA e repetir o comando. |
| Console do Proxmox / VMware não aceita colar | Console gráfico não compartilha área de transferência. | Entrar por SSH a partir de outra máquina da rede, ou digitar em duas linhas curtas. |
| Teclado troca caracteres no console | Layout de teclado diferente entre console e servidor. | loadkeys us ou loadkeys br-abnt2 no servidor; ou usar SSH. |
Downloads do tom.powerdba.com.br travam sem erro, mas o restante da internet funciona | Firewall filtra HTTPS por domínio: a conexão abre e o handshake é descartado. | Incluir o domínio na lista de sites permitidos. Teste: curl -sS --max-time 20 https://tom.powerdba.com.br/releases/latest/install.sh devolve tempo esgotado com zero bytes. |
| Download muito lento | Link ou rota lenta. | Deixar completar, ou baixar com retomada: curl -C - -o /tmp/p URL. |
Checklist
Antes da instalação
- Sistema operacional em versão suportada e atualizado;
apt-get update(ou equivalente) roda sem erro. - Saída TCP 443 para
tom.powerdba.com.bre*.r2.cloudflarestorage.com. - Saída TCP 41883 para
216.238.126.107. - Saída TCP 7000 para os concentradores de suporte (se a política de acesso remoto for adotada).
- DNS e hora (NTP) funcionando no servidor.
curlesudoinstalados, ou repositório acessível para instalar.- Pessoa com
rootdisponível para rodar um comando (5 minutos). - Política de SSH definida (recomendada: escuta só em
127.0.0.1, só chave). - Se o firewall filtra por domínio,
tom.powerdba.com.brestá na lista de permitidos.