Install
DBVoyeur is delivered as three containers: a capture agent, the analysis server with its web dashboard, and a MongoDB datastore. The typical first install runs to under an hour, on one host, by one operator.
Prerequisites
| Item | Detail |
|---|---|
| Host OS | Linux with Docker and the compose plugin, on the machine that runs the monitored database. The container images are linux/amd64. See Database Support for the supported databases. |
| CPU / RAM | Measured on a test system at about 40 statements a second, with the default settings: capture agent about 4% of a core and 4.4 GB of memory, analysis server under 1% and 3 GB, datastore about 2% and 5 GB (the datastore uses up to half the host's memory as cache). Size the host to your load; run the datastore on another host if the database host is small. |
| Disk | Repository sized to retention policy. Measured: about 125 bytes per stored statement (5.8 million statements used 0.7 GB, compressed, indexes included), so roughly 125 MB per million statements. The free edition keeps 24 hours. |
| Network | Nothing. Capture reads the database listener traffic on the host itself; no SPAN, mirror port or tap is used. |
| Repository | MongoDB 8, supplied as a container. You can point DBVoyeur at an existing MongoDB 8 instance instead. |
Steps
- Receive the DBVoyeur bundle from Oninit and unpack it on the database host.
- Run ./load.sh <engine> to verify the checksums and load the container images for your database engine.
- Copy .env.example to .env and set the engine, a name for the database, and its local listener address.
- Start the containers: docker compose up -d.
- Set the administrator password: ./set-password.sh admin. Do this before anyone else can reach the dashboard.
- Open https://127.0.0.1:5436/ on the server, or https://<server-ip>:5436/ from another machine once UI_BIND in .env is set to the server's IP (a self-signed certificate is generated on first start) and run a known statement against the monitored database. Confirm it appears in the dashboard within a few seconds.
Per-database notes
| Database | Notes |
|---|---|
| IBM Informix / HCL OneDB | SQLI wire protocol. DBVoyeur captures both SQLI and DRDA where present. No sqlhosts changes. |
| IBM Db2 LUW / Db2 z/OS DDF | DRDA wire protocol. Standard install; nothing required inside the Db2 instance. |
| SAP ASE / Sybase ASE | TDS wire protocol. Standard install; works against ASE 12.0 through 16.x. |
| SAP IQ / Sybase IQ | TDS wire protocol with IQ-specific extensions decoded by DBVoyeur. |
| Microsoft SQL Server | TDS wire protocol. Works against 2008 R2 through 2022. Encrypted endpoints require the co-resident install. |
| PostgreSQL | PostgreSQL frontend/backend protocol. Works against 8.x through 15.x. |
| MongoDB | Wire-protocol capture of OP_QUERY / OP_MSG; query text and response counts are reconstructed at the operator level. |
First five minutes after start
A reasonable smoke test, in order: run a SELECT, confirm it appears within five seconds in the repository with non-zero elapsed time; run an INSERT, confirm the row count is captured; deliberately issue a syntax error, confirm the error message lands against the correct session.