Inteligência de Ativos & Segurança · Sete Lagoas Transportes LTDA

Plataforma de Inteligência de Ativos Cognito

O Cognito é uma plataforma multi-tenant de gestão de ativos, monitoramento de segurança e helpdesk que abrange cerca de 130.000 linhas de Go, TypeScript e C++. Agentes Windows assinados reportam inventário e métricas de sistema em tempo real via MQTT para um pipeline em Go limitado e com back-pressure; o TimescaleDB guarda a série temporal, e o isolamento de tenant é garantido pelo banco de dados, não pela aplicação.

Em Produção
Resultados
125 endpoints, em produçãoFrota
Ingestão idempotente, overflow reprocessávelEntrega
Garantido pelo PostgresIsolamento de Tenant
−50% bytes/opAlocação no Caminho Quente
Arquitetura
Frota de Agentes Windows connects to Broker MQTT via MQTT · QoS 1 controle, 0 amostragem. Broker MQTT connects to Fila de Ingestão Limitada via Admissão Não-Bloqueante. Fila de Ingestão Limitada connects to Escritor de Telemetria via Consumidor Único. Escritor de Telemetria connects to Fila Dead-Letter via Retentativas Esgotadas. Escritor de Telemetria connects to Detector de Violação. Escritor de Telemetria connects to Correlação de CVE. Escritor de Telemetria connects to TimescaleDB. Detector de Violação connects to TimescaleDB. Correlação de CVE connects to TimescaleDB. TimescaleDB connects to Fan-Out em Tempo Real via Modelo de Leitura. Fan-Out em Tempo Real connects to Painel do Operador via WebSockets.
Notas de Engenharia

Em uso diário em produção em 125 endpoints, onde já detectou violação real de hardware a partir de diffs de snapshots, exposição a CVEs correlacionada entre várias máquinas, e alertas de disco, rede e detecção de endpoint vindos das integrações UniFi e Bitdefender.

A admissão é um envio não-bloqueante em um canal limitado, de modo que o que acontece quando o pipeline satura foi decidido de antemão, e não descoberto sob carga. O overflow tenta novamente por um curto período e então vai parar em uma tabela dead-letter durável, que um replayer drena com backoff.

Cada ingestão é identificada por agente, timestamp do snapshot e um SHA-256 do payload bruto, e verificada contra um ledger com retenção limitada antes de qualquer escrita — assim um agente que reenvia uma publicação colapsa em uma única transição de estado em vez de repetir o trabalho.

A detecção de mudanças foi perfilada e reescrita para comparar hashes de conteúdo normalizado em vez de serializar os dois snapshots para JSON, reduzindo pela metade a alocação no caminho mais quente e eliminando uma ida ao banco de dados no caso comum, sem alterações.

Toda tabela com escopo de tenant carrega uma política de row-level security lida de uma configuração local à transação, de modo que um bug na camada de aplicação não consegue retornar as linhas de outro tenant — o Postgres não as produz.

O agente de endpoint foi escrito duas vezes. O original é uma implementação em C++23 que usa std::expected e um cache local criptografado via DPAPI, acionado por gatilhos de evento atrás de um debouncer RAII; o agente em Go que o substitui cumpre as mesmas responsabilidades sob um modelo de sondagem concorrente.

As versões do agente são compiladas de forma cruzada na CI e assinadas com Ed25519, e o atualizador recusa um binário não assinado de imediato. Os comandos remotos carregam tokens HMAC derivados hierarquicamente cujo payload assinado vincula o resultado e o timeout, de modo que um agente não pode estender a própria autorização.

Tecnologias Principais
GoTypeScriptReactTimescaleDBMQTTCentrifugoUniFiBitdefenderC++23 (prior agent)