Suivre les changements de votre base de données

Event Horizon suit les changements d’une table MySQL, PostgreSQL, SQL Server ou MongoDB au fur et à mesure : chaque insert, update et delete arrive comme un événement. Activez d’abord le journal des changements de la base. MySQL exige binlog_format=ROW, PostgreSQL exige wal_level=logical, SQL Server exige CDC activé sur la table et MongoDB exige un replica set. Utilisez un réplica en lecture si vous en avez un.

Si nous pouvons joindre votre base de données, ajoutez un nœud CDC Source à un workflow, choisissez la base, le moteur et la table, puis démarrez le workflow. Les lignes existantes sont copiées d’abord, puis les changements suivent.

Si votre base se trouve sur un réseau privé, lancez plutôt l’agent à côté. Seul du trafic HTTPS sortant quitte votre réseau, et le mot de passe de la base ne le quitte jamais. Dans l’application, ajoutez un nœud Probe, choisissez le moteur et la table sous « Database changes via the agent », générez la clé du probe et copiez son URL d’ingestion. Puis, sur une machine qui atteint la base, exécutez :

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

Le mot de passe est lu dans EH_CDC_PASSWORD, jamais sur la ligne de commande. Ajoutez --cdc-tls pour TLS, --cdc-never pour que certaines colonnes ne quittent jamais votre réseau, et --cdc-allow pour que l’agent refuse toute table absente de votre liste. Pour plusieurs tables, utilisez des blocs [[cdc]] dans le fichier de configuration de l’agent, décrits dans son README.

La livraison est au moins une fois, avec des ids déterministes, et la position n’avance qu’après notre confirmation d’avoir stocké les changements. La position est conservée de notre côté : réinstaller l’agent ne recopie donc pas la table. Lancez un agent par probe : un second agent prend la relève du premier. PostgreSQL conserve un replication slot tant que l’agent est absent. Si vous retirez l’agent pour de bon, supprimez-le avec SELECT pg_drop_replication_slot('eh_cdc_<node id>').

Envoyez votre premier événement.

Créez un compte et passez des données brutes à un tableau de bord en quelques minutes.