Uptime Kuma; HTTP/HTTPS, TCP, UDP, DNS, ICMP Ping, Docker konteyner ve veritabanı portlarını belirli aralıklarla kontrol eden, servis düşüşlerini anında bildiren ve özelleştirilebilir status page sunan açık-kaynak uptime izleme aracıdır. Node.js tabanlı, tek process olarak çalışır; Docker ile dakikalar içinde ayağa kalkar.
Pingdom veya UptimeRobot gibi SaaS alternatiflerin aksine self-hosted çalışır; veri üçüncü tarafa gitmez. Kurumların iç ağındaki servisleri (VPN arkasındaki API’ler, dahili veritabanı portları) izleyebilmesi bu modelin temel avantajıdır.
Mono’nun yaklaşımı
- Kurulum: Docker Compose ile tek container; veriler volume’da kalıcı.
- Erişim: Nginx reverse proxy + HTTPS + temel auth veya SSO; halka açık olmayan panel.
- Status page: Müşteri bazında özelleştirilmiş public status page - kurumun subdomain’inde (
status.example.com). - Bildirim: Slack (servis kanalı) + e-posta; kritik servisler için PagerDuty entegrasyonu.
- Kontrol aralığı: Kritik endpoint’ler 30 saniye; diğerleri 60 saniye.
İzleme türleri
| Tür | Kullanım |
|---|---|
| HTTP/HTTPS | Web uygulaması, API, login sayfası yanıt kodu + içerik kontrolü |
| TCP Port | Veritabanı, SSH, SMTP, özel servis port erişilebilirliği |
| DNS | Domain çözümleme doğruluğu ve yanıt süresi |
| ICMP Ping | Sunucu / ağ ekipmanı temel erişilebilirlik |
| Docker Container | Konteyner çalışıyor mu, sağlıklı mı |
| Keyword | HTTP yanıtında belirli bir metnin bulunup bulunmadığı |
Yaygın sorunlar ve çözümler
- Yanlış alarm (false positive): Kontrol aralığı çok kısa veya timeout çok düşük.
Retrysayısını 2–3’e çıkar; timeout’u backend p99 latency’e göre ayarla. - Status page yavaş yükleniyor: Çok fazla monitör aynı anda gösteriliyor. Status page’de gruplandırma kullan; monitör sayısını 50 altında tut.
- Bildirim gelmiyor: Webhook URL geçerliliğini ve network egress kurallarını kontrol et; test bildirimi gönder.
- Veri kaybı (container restart):
/app/datavolume doğru mount edilmemiştir; compose dosyasını doğrula.

