We were paying $437/month for monitoring a stack a 3-person team could babysit
Not a SaaS bill rant. An audit story.
Our stack: one VPS, one Postgres, a cron jungle, a small internal API. For that we had: an APM agent, a log platform, an uptime SaaS, a status page, and two "free tier" things that quietly started billing.
The bill was $437/month. The outages it caught: zero. The outages it missed (disk fill, a wedged worker, a cert expiry): three. In one quarter.
What the audit found
- The APM watched code we hadn't deployed in 8 months. Retained because setup took two days in 2023 and nobody wanted to redo it.
-
The log platform ingested 92% debug noise. We were paying by the gigabyte to store
GET /healthz 200eleven million times. - Alerts went to a channel everyone muted. Technically delivered. Functionally deleted.
The replacement: 5 scripts, ~200 lines total
- Heartbeat wrapper — every cron job writes one PASS/FAIL line with a timestamp.
-
Log scanner — reads all heartbeat logs, prints
3 PASS, 1 FAIL, last FAIL 6h ago. -
Disk watchdog —
df+df -i, warns at 80%, includes the inode check everyone forgets. -
Cert expiry probe —
openssl s_client | openssl x509 -enddate, 14-day warning. - The morning report — one email at 7am: what ran, what failed, what to look at first.
Delivery: a webhook to chat + a plain email. Cost: $0/month.
What we kept paying for
Uptime checks on the public endpoints ($9/mo). A third party pinging from outside your network catches things your own box can't say out loud. That's the whole bill now.
The uncomfortable math
$437 × 12 = $5,244/year to not detect three outages. The scripts took a weekend. The hard part isn't writing them — it's admitting the dashboard was furniture.
I package these patterns for small teams: Ops Starter Kit ($14), Automation Starter Pack, and the Ops Mega Bundle. If you'd rather have someone audit your monitoring bill, Small-Team Ops Audit delivers a prioritized findings list in 5 days.
Top comments (0)