Uptime monitoring platform
Ad spend kept running while sites were down and nobody knew.
- Client
- Lab
- Service
- Security, infrastructure & site care
- Status
- Building
01 / Build
What I built
Self-hosted monitoring with response-time history and Telegram, SMS and email alerts.
- React
- Tailwind CSS
- Node.js
- VPS
02 / Decisions
Key decisions
- Self-hosted on a VPS rather than a hosted monitoring service, so the checks, the history and the alert rules are fully under my control.
- Alerts on three channels (Telegram, SMS and email), because one channel is one point of failure, and an outage at night has to wake someone.
- Keep the response time of every check, not just up or down, so a site that's getting slower shows up before it goes down.
03 / Notes
Architecture and hindsight
Architecture
A Node.js service runs the checks on a schedule, stores each result with its response time, and decides when a failure is real enough to alert on. Alerts go out by Telegram, SMS and email. A React dashboard shows current status and the response-time history for each site.
What I'd do differently
Run a second, small check node in another region from the start. A monitor on a single server can't tell a site outage from its own network problem, and it can't report its own downtime.
04 / Outcome
Outcome
In build; checks, response-time history and alerts by Telegram, SMS and email.
Have a problem like this one?