Sailfish

Know what to fix first. Then fix it, safely.

Sailfish watches every database you run, ranks each problem by what matters most, explains it in plain words, and offers a fix that is checked before and after it runs.

No agent on your servers. Works offline.

Every finding comes with a fix, and every fix has to prove itself.

Monitoring that stops at telling you leaves the work to you. Sailfish offers the fix, and runs every one through the same steps, whoever or whatever starts it.

  1. PolicyWho may run this fix, here, and with whose approval
  2. GuardrailsRisk limits, change windows, rate limits, production opt-in
  3. Re-checkIs the problem still there? If not, nothing runs
  4. ChangeSession kills check the login time, so a reused id is never hit
  5. VerifyThe check runs again. Succeeded means gone
  6. AuditHash-chained, tamper-evident, streamed to your SIEM

Autonomy you earn, one fix at a time.

Nobody should hand production to a tool on day one. Sailfish starts by recording what it would have done, keeps score, and only goes further when you promote it. One failed verification sends it back to asking.

SuggestOffers fixes. People run them.
ShadowRecords what it would have run, and whether a person agreed.
Outside productionRuns proven fixes on test and staging by itself.
Production windowsRuns them in production, inside your change windows, with a circuit breaker.

Your business rules are checks too.

The expensive problems are often not database problems: the load that didn't arrive, the pipeline stuck on Running, the job that succeeded with zero rows. Write them from a template, test before saving, and keep them in git.

# Did today's valuations load by 07:00 on working days?
$ sailfish checks pull --server https://sailfish.internal --out checks/
$ git commit -am "Valuations due 07:00, loaded by dbo.LoadValuations"
$ sailfish checks push --server https://sailfish.internal --in checks/

# Or gate a release on it
$ sailfish check --engine sqlserver --connection "$DB" --fail-on warning

Built for the whole estate, and the people around it.

Sees it coming

Identity columns, sequences, disks, logs and wraparound forecast as dates, not thresholds.

Linked causes

A late load is shown with the stuck job before it; a slowdown with the procedure someone changed an hour earlier, and who changed it.

Fleets

The same problem in 400 tenant databases is one item. Fix it with a canary, then waves, halting at the first failure.

Cost

Azure SQL spend, trend and forecast beside performance, with right-size recommendations backed by 30 days of use.

Your SOC sees it

Threat findings in OCSF and CEF with MITRE ATT&CK tags, to Splunk, Sentinel, QRadar, Elastic or any syslog collector.

From your phone

Push, SMS, WhatsApp, Teams, Slack, PagerDuty and Opsgenie, with on-call rotations. Acknowledge or approve in one tap.

Runs where you need it.

Desktop

A Windows app for one DBA. No infrastructure to stand up.

Web server

For teams, on Windows, Linux or Docker, with roles, approvals and single sign-on.

Phone

An installable app with push notifications for on-call.

Command line

Checks in CI pipelines, configuration as code, and a Terraform provider.

  • SQL Server 2016+
  • Azure SQL Database & Managed Instance
  • PostgreSQL 13+
  • MySQL 8 preview
  • Oracle 19c+ preview
  • MongoDB 6+ preview

Priced per server, not per database.

Monitor a server with hundreds of tenant databases for the price of one. Start on your desktop; move to a team server when you're ready, and keep your history.