Dolt is a version-controlled SQL database that brings Git semantics — branching, merging, diffing, and commit history — to relational data. It's MySQL-compatible, so any MySQL client or ORM works with it out of the box. Teams use Dolt for auditable data pipelines, reproducible ML datasets, and collaborative data management. When the Dolt SQL server goes down or a scheduled commit/push job silently fails, your data integrity guarantees evaporate. Vigilmon gives you SQL server availability monitoring, TCP port checks, status endpoint verification, and heartbeat alerts for your Dolt pipelines.
What You'll Set Up
- HTTP status endpoint monitor for Dolt SQL server availability
- TCP port check for the MySQL-compatible SQL port (default 3306)
- Cron heartbeat for scheduled Dolt commit and push jobs
- SSL certificate expiry alerts for production Dolt deployments
Prerequisites
- Dolt SQL server running via
dolt sql-server(v1.0+) - Dolt server accessible on port 3306 (MySQL-compatible)
- A free Vigilmon account
Step 1: Monitor Dolt SQL Server HTTP Availability
The Dolt SQL server can be configured to expose an HTTP metrics or status port alongside the MySQL port. When using the default dolt sql-server configuration, the server also exposes metrics via an HTTP port (default 7070 in some configurations). If you've enabled the metrics endpoint, monitor it:
- Log in to vigilmon.online and click Add Monitor.
- Set Type to
HTTP / HTTPS. - Enter the Dolt metrics URL:
http://dolt-host:7070/health(adjust port to match yourconfig.yaml). - Set Check interval to
1 minute. - Set Expected HTTP status to
200. - Click Save.
If you're running Dolt behind a management proxy (e.g. a web interface or Dolt Workbench), add an HTTP monitor for that interface instead:
http://dolt-host:3000/api/status
For a minimal availability check with no HTTP interface, fall back to a TCP monitor (Step 2).
Step 2: TCP Port Check for the SQL Port
The primary interface to Dolt is its MySQL-compatible SQL port (default 3306). A TCP check on this port verifies that the server is running and accepting connections without requiring MySQL client credentials:
- Click Add Monitor → TCP Port.
- Enter Host:
dolt-hostand Port:3306. - Set Check interval to
1 minute. - Click Save.
This is the most reliable uptime signal for Dolt — if port 3306 is closed, no client can connect regardless of what the HTTP layer reports.
If you've configured Dolt to run on a non-standard port, update the port number accordingly. The Dolt SQL server port is set in config.yaml:
log:
level: info
listener:
host: "0.0.0.0"
port: 3306
max_connections: 100
Step 3: Add a /status Endpoint to Your Dolt Management Layer
Dolt itself doesn't ship a built-in HTTP /status endpoint by default, but if you're managing Dolt via a wrapper script, a REST API layer, or a tool like Dolt Workbench, you can expose one. For a lightweight Node.js wrapper:
const { exec } = require('child_process');
const http = require('http');
http.createServer((req, res) => {
if (req.url === '/status') {
exec('dolt version', (err, stdout) => {
if (err) {
res.writeHead(503);
res.end(JSON.stringify({ status: 'error', message: err.message }));
} else {
res.writeHead(200);
res.end(JSON.stringify({ status: 'ok', version: stdout.trim() }));
}
});
} else {
res.writeHead(404);
res.end();
}
}).listen(8080);
Then add an HTTP monitor for http://dolt-host:8080/status in Vigilmon. This pattern is useful when you want Vigilmon to verify Dolt binary availability and version, not just TCP connectivity.
Step 4: Heartbeat Monitoring for Scheduled Commit and Push Jobs
Dolt's versioning model means that data pipelines typically end with a dolt commit and dolt push to preserve history and sync remotes. These jobs run on cron schedules or in CI/CD pipelines. Use Vigilmon's cron heartbeat to confirm they complete on schedule:
- In Vigilmon, click Add Monitor → Cron Heartbeat.
- Set the Expected ping interval to match your pipeline schedule (e.g.
60minutes for hourly commits,1440minutes for nightly data pushes). - Copy the heartbeat URL (e.g.
https://vigilmon.online/heartbeat/abc123). - Add the ping at the end of your Dolt pipeline script:
#!/bin/bash
set -e
# Navigate to your Dolt database directory
cd /data/my-dolt-db
# Pull latest from remote
dolt pull origin main
# Run data update scripts
python3 ./scripts/update_dataset.py
# Commit changes
dolt add -A
dolt commit -m "Automated update: $(date -u +%Y-%m-%dT%H:%M:%SZ)"
# Push to remote
dolt push origin main
# Signal successful completion to Vigilmon
curl -s https://vigilmon.online/heartbeat/abc123
For jobs running via cron:
0 * * * * /opt/scripts/dolt_pipeline.sh >> /var/log/dolt_pipeline.log 2>&1
If the script fails at any step — data update error, commit conflict, push failure, or network outage — it exits before reaching the curl command, and Vigilmon alerts after the expected interval passes.
Step 5: SSL Certificate Alerts
For Dolt deployments accessed over HTTPS (e.g., Dolt Workbench or a management UI behind a reverse proxy), add SSL certificate expiry monitoring:
- Open the HTTP monitor you created for your Dolt endpoint.
- Enable Monitor SSL certificate under the SSL section.
- Set Alert when certificate expires in less than
21 days. - Click Save.
A typical Caddy configuration that auto-provisions TLS for a Dolt management interface:
dolt.yourdomain.com {
reverse_proxy localhost:3000
}
Even with Caddy's automatic HTTPS, Vigilmon's SSL check catches renewal failures — Caddy can fail silently if port 80 is firewalled or if DNS propagation delays affect the ACME challenge.
Step 6: Configure Alert Channels
- Go to Alert Channels in Vigilmon and add Slack, email, or a webhook.
- Set Consecutive failures before alert to
2for HTTP monitors to avoid noise from transient network blips. - Set TCP port monitors to alert on the first failure — a closed MySQL port is always a meaningful event.
- For heartbeat monitors, alert on the first missed ping — a missed Dolt commit means your data audit trail has a gap.
Summary
| Monitor | Target | What It Catches |
|---|---|---|
| HTTP status | http://dolt-host:8080/status | Management layer crash |
| SQL port TCP | dolt-host:3306 | SQL server crash, port blocked |
| Cron heartbeat | Heartbeat URL | Failed or missed commit/push jobs |
| SSL certificate | Production HTTPS endpoint | Certificate renewal failure |
Dolt's value proposition is an auditable, versioned data history — but only if commits and pushes actually run on schedule. Vigilmon's TCP port check ensures the SQL server is always accepting connections, while the heartbeat monitor confirms your data pipelines are writing that history. Together, they protect both availability and data integrity in your Dolt deployment.