Back to Blog
team@tinypod.app

Monitoring Your Self-Hosted Apps: A Practical Guide

How do you know if your self-hosted apps are healthy? Set up monitoring that alerts you before users notice problems.

monitoringuptimeobservability

Why Monitor?


Self-hosting means you're the operations team. If your app goes down at 3 AM, nobody pages you unless you've set up monitoring. Good monitoring catches problems before they affect users.


Three Layers of Monitoring


1. Uptime Monitoring

The most basic check: is the app responding? An uptime monitor sends HTTP requests to your app every 60 seconds and alerts you if it doesn't respond.


**Tool: Uptime Kuma**

Self-hosted, beautiful dashboard, supports HTTP/TCP/DNS/ping checks. Notifications via Slack, Discord, Telegram, email, and 80+ other services.


2. Resource Monitoring

How much CPU, RAM, and disk is each app using? Resource monitoring helps you spot problems before they cause outages — like a database slowly eating all available memory.


**Tool: Grafana + Prometheus**

Prometheus collects metrics. Grafana visualizes them. Together they're the industry standard for infrastructure monitoring.


3. Application Monitoring

What's happening inside your app? Error rates, response times, database query performance. Application monitoring helps you debug performance issues.


**Tool: Sentry (self-hosted) or GlitchTip**

Captures errors with full stack traces, performance data, and user context.


Essential Alerts


Set up alerts for:

  • **App down**: HTTP check returns non-200 for 2+ minutes
  • **High CPU**: >80% for 5+ minutes
  • **High memory**: >85% utilization
  • **Disk full**: >90% storage used
  • **SSL expiring**: Certificate expires within 14 days
  • **Backup failed**: Daily backup didn't complete

  • Alert Fatigue


    Too many alerts is worse than no alerts. If you get 50 notifications a day, you'll start ignoring them all. Only alert on conditions that require action.


    Good alert: "App X has been down for 2 minutes"

    Bad alert: "CPU briefly spiked to 75%"


    TinyPod's Built-In Monitoring


    Every TinyPod deployment includes:

  • Automatic uptime monitoring for all deployed apps
  • Resource usage graphs in the dashboard
  • Configurable alerts via email and webhooks
  • Container health checks with automatic restarts

  • For deeper monitoring, deploy Uptime Kuma or Grafana from our app catalog.