← Geri
Servermon
Genel Bakış
Servermon, kendi main sunucumda yaşadığım pratik bir ihtiyaçtan doğdu. Sunucuda birçok Docker container çalışırken ve birçok port kullanımdayken, hangi portun dolu olduğunu, bu portun hangi process'e veya Docker container'a bağlı olduğunu ve hangi servislerin network'e bind edildiğini hızlıca görmek istiyordum.
Normalde bu bilgiye ulaşmak için docker ps, docker stats, ss, lsof, ps, docker inspect ve container logları arasında geçiş yapmak gerekiyor. Servermon bu parçaları tek bir sade web arayüzünde birleştiriyor.
Amaç büyük ve ağır bir monitoring platformu kurmak değil; sunucuda "ne nerede çalışıyor?" sorusuna hızlı, görsel ve anlaşılır bir cevap vermek.
Teknik Detaylar
- Node.js ve Fastify ile geliştirilen hafif backend API
- React ve TypeScript ile geliştirilen koyu temalı, yoğun bilgi gösterimine uygun dashboard arayüzü
- Linux portlarını, process owner bilgilerini ve Docker container ilişkilerini tek modelde birleştiren port → process → container eşleştirme mantığı
- Portları port/protocol bazında gruplayarak aynı portun birden fazla socket satırıyla arayüzü kalabalıklaştırmasını engelleyen tablo yapısı
- Container CPU/RAM kullanımı, restart count, network, mount, environment ve inspect bilgilerinin görüntülenmesi
- Container loglarını canlı izleme, arama, pause ve auto-scroll desteği
- Sensitive environment variable değerlerini varsayılan olarak maskeleyen güvenli gösterim
- Local ve network'e bound servisleri ayıran exposure ekranı ve MySQL, PostgreSQL, Redis gibi servisler için basit risk sınıflandırması
- Varsayılan olarak sadece 127.0.0.1 üzerinde çalışan, network'e açıldığında şifre zorunlu tutan güvenli çalışma modeli
- Ubuntu sunucularda kalıcı kullanım için systemd service installer desteği