My Server Taps My Shoulder
Managing a live server often feels like a gamble: you either find yourself checking in periodically just to make sure things are still green, or you’re caught off guard by a crisis only after it starts affecting users.
I wasn't a fan of either. I wanted a system that was silent by default but loud when it mattered. So, I built a real-time alerting pipeline that pipes exactly what I need to know directly to my phone via Telegram.
**What it Watches**
I didn't want a wall of text. I wanted high-signal alerts that actually tell me something.
**SSH Access:** I get a ping for every login attempt—who, where, and when.
**Backup Confirmation:** I don't "hope" my backups work. I get a notification the second a snapshot lands in Backblaze B2.
**The 8 AM Digest:** Every morning, I get a quick snapshot of the vitals — CPU, RAM, and Disk. It’s a 5-second check that sets the tone for the day.
**Active Defense:** This is the best part. If the system detects a brute-force attempt, it doesn't just log it; it drops the IP and tells me it’s done.
**Eliminating the Blind Spots**
The real win here is peace of mind. I don't log in to "check on things" anymore. If my phone is silent, the server is healthy. If there’s a spike in traffic or a failed job, I have the full context in my pocket before I even open my laptop.
Since I turned this on, the system has automatically blocked over 150 malicious IPs. It didn’t ask for permission; it just handled it.
**The Lockdown**
Beyond the alerts, I’ve moved the goalposts on security. The SSH port is completely locked down to Tailscale. To the public internet, Port 22 simply doesn't exist. It’s invisible.
None of this came from a "Top 10 Security Tips" tutorial. It came from thinking about what failure looks like and working backward. I’d rather build a system that thinks about the worst-case scenario so I don't have to.