Acompanhar alterações na sua base de dados
O Event Horizon acompanha as alterações de uma tabela MySQL, PostgreSQL, SQL Server ou MongoDB à medida que acontecem: cada insert, update e delete chega como um evento. Ative primeiro o registo de alterações da base de dados. O MySQL precisa de binlog_format=ROW, o PostgreSQL de wal_level=logical, o SQL Server de CDC ativo na tabela e o MongoDB de um replica set. Use uma réplica de leitura, se tiver.
Se conseguirmos chegar à sua base de dados, adicione um nó CDC Source a um workflow, escolha a base de dados, o motor e a tabela, e inicie o workflow. Primeiro copiamos as linhas existentes, depois seguimos as alterações.
Se a base de dados está numa rede privada, corra antes o agente ao lado dela. Só sai tráfego HTTPS de saída da sua rede, e a palavra-passe da base de dados nunca sai. Na aplicação, adicione um nó Probe, escolha o motor e a tabela em "Database changes via the agent", gere a chave do probe e copie o respetivo URL de ingestão. Depois, numa máquina que alcance a base de dados, execute:
EH_CDC_PASSWORD=... npx @event-horizon-data/agent \ --endpoint https://ingest.eventhorizondata.com/ingest/probe/<org>/<node> \ --key ehp_<key> \ --cdc mysql://eh_cdc@10.0.3.12/shop
A palavra-passe é lida de EH_CDC_PASSWORD, nunca da linha de comandos. Acrescente --cdc-tls para TLS, --cdc-never para que certas colunas nunca saiam da sua rede, e --cdc-allow para o agente recusar qualquer tabela que não esteja na sua lista. Para várias tabelas, use blocos [[cdc]] no ficheiro de configuração do agente, descritos no README do agente.
A entrega é pelo menos uma vez, com ids determinísticos, e a posição só avança depois de confirmarmos que guardámos as alterações. A posição fica do nosso lado, por isso reinstalar o agente não volta a copiar a tabela. Corra um agente por probe: um segundo assume o lugar do primeiro. O PostgreSQL mantém um replication slot enquanto o agente está ausente. Se retirar o agente de vez, apague-o com SELECT pg_drop_replication_slot('eh_cdc_<node id>').
Envia o teu primeiro evento.
Cria uma conta e passa dos dados em bruto a um dashboard em minutos.