Biliyorsunuz, sunucu sayısı arttıkça sunucuların durumlarını kontrol etmekte zorlaşır. Fakat ne olursa olsun internet olmadan durum kontrolü yapılamayacağını herkes bilir. O yüzden pek çok sistem admininin sosyal hayatı neredeyse yoktur. Olmasını isteyenler ise uçuk fiyatlar ile karşılaşır.
İşte tamda bu durumu değiştirmek için başladı bu proje. Telefonun çektiği her yerde operatörlerin uçuk internet tarifelerine, yazılım şirketlerinin altın bilezik metoduyla geliştirdiği kontrol yazılımlarının versiyon yetersiz kaprislerine, aylık/yıllık program ücretlerine maruz kalmadan yemek molalarında, sokakta, kafede ve aklınıza gelebilecek her yerde %100 işlemci kullanımında dahi sunucu yöneticisine rapor verebilen bir yazılım düşünün. Hatta bu yazılımın twitter ve facebook üzerinden paylaşım yapabildiğini, skype üzerinden mesaj atabildiğini, mail yollayabildiğini, istediğiniz bir sunucuya anlık durum raporlarını depolayabildiğinide düşünün. Üstelik bu yazılımı birde ücretsiz edinebileceğinizi düşünün.
Bazıları bunun imkansız olduğunu, bazıları ise hayal olduğunu düşünür.
İşte o zaman devreye biz gireriz.
Beyler, bayanlar; işte karşınızda
SunucuCtrl.
SunucuCtrl, 2013 yılında başlayan ve GNU/Linux sistemlere yönelik olarak geliştirilen Bash kabuğunu kullanan linux sunucuların anlık durum raporlarını crontab ile belirlenmiş zaman aralıklarında SMS ile bildirebilen, Facebook'ta istenilen hesaptan status olarak paylaşabilen, belirli bir hesaptan tweet atabilen, istenilen hesaplara skype mesajı olarak gönderebilen, istenilen adreslere mail atan, FTP/SFTP olarak yerel yada uzak bir sunucuya durum logu depolayabilen bir yazılım.
Ana program tamamen modüler olarak C++ ile kodlandı. Mümkün olan en basit şekilde kodlanarak en ağır sistem koşullarında dahi çalışabilir olması sağlandı. Çok uzun bir ARGE ve test sürecinden geçirildi. Veritabanı olarak pratikte çok daha güvenli ve hafif olan SQLite kullanıldı. Ek güvenlik olarak tüm şifreler veritabanına ikinci bir şifrelemeden geçirilerek kaydedildi. Sonuç olarak sunucunun internet bağlantısı kesilmediği sürece çalışabilir durumda olan bir yazılım ortaya çıktı.
Bu kadar yazdıktan sonra somut kanıtları sunmak gerekli diye düşünüyorum:
Sistemin attığı sms örneği:
Sistemin attığı mail örneği:
Facebookta paylaşılan status örneği:
http://goo.gl/5unHcX
Tweet örneği:
http://goo.gl/Wdzhx9
Gördüğünüz gibi sunucu kullanımı %100 olsa dahi internet bağlantısı kesilmediği sürece sistem bilgi verebiliyor. Sistemin desteklediği sms sağlayıcılarının bir listesi aşağıdaki gibi:
SunucuCtrl adı altında geliştirilen tüm yazılım ve scriptler GNU GPL v3.0 lisansı altında TAMAMEN ÜCRETSİZ olarak yayınlanıyor. Geliştirme süreci duran bir proje değil. Daha eklenecek çok fazla özellik var. Ek olarak ana programa bağlı oalrak çalışacak sms ile komut verebileceğiniz, acil durumlarda kontrol yazılımlarını tetikleyecek yazılımlarıda geliştiriyorum.
Sistemi tanıttıktan sonra gelelim kuruluma. Aslında çok basit bir kurulum aşaması var. Yum paket yöneticisini kullanan Centos gibi işletim sistemleri için basit bir kurulum sihirbazı var. Elden geçirilmesi gerekiyor daha, ama bu haliylede iş görür. Öncelikle
http://sunucuctrl.com/dbcreator/ adresinden database dosyanızı,
http://www.sunucuctrl.com/crongenerator/ adresinden cron ayarlarınızı oluşturup, elde ettiğiniz iki dosyayı
http://depo.sunucuctrl.com/install.sh adresinden indireceğiniz kurulum dosyası ile aynı dizine koyuyorsunuz.
chmod ugo+x install.sh ile gerekli izinleri verip
sh install.sh komutu ile kurulumu çalıştırdığınızda sihirbaz başlayıp gerekli paketleri ve yazılımı sisteminize kuracaktır. Sihirbaz bir bash dosyası. İsterseniz açıp komutları görüntüleyebilir ve tek tek uygulayabilirsiniz. Diğer işletim sistemleri içinse sihirbaz dosyasında yum paket yöneticisinin çalıştığı kısımları paket yöneticinize uygun olarak düzeltip kullanabilirsiniz.
Twitter ve Facebook için API ihtiyacınız var. Skype kullanımı içinse ayrı bir sunucu gerekiyor şimdilik. Bunlar için gerekli yardım dosyalarını
proje sitesindeki kılavuzlar menüsünden bulabilirsiniz. Tek bir Skype sunucusu programı çalıştıran herkese yeter. Tek bir facebook apiside yeter. Sadece twitterda kullanıcı sorunu var, api sadece bir hesaba bağlanabiliyor. Dilerseniz bir skype sunucusu kurup programı kullanan diğer kişilere aylık/yıllık bot kiralayabilirsiniz. TweetBot içinde PHP çalıştıran ücretsiz hostingler bile iş görür. Eğer PHP çalıştıran bir sunucuda kullanacaksanız tweet botunun local versiyonunu sihirbaz isteğiniz dahilinde kuracaktır zaten.
Zaman konusunda sorunlarım olduğundan çok yavaş çalışıyorum. Basit, 2 günde yazılabilecek bir program gibi gözüksede arkaplanda işler o kadar kolay değil. Her bir kod bloğu en az 30 kere incelenip, yüzlerce kez çok farklı altyapı ve ortam koşullarında test ediliyor. Benimle daha önce çalışanlar yazılımlarımda ne kadar titiz çalıştığımı bilirler zaten. Bu yazılımda öyle bir çalışmanın ürünü.
Yazılımın geliştirilmesi esnasında gerek açtığım konularda, gerek mail yada skype ile sorduğum sorularda benden değerli fikirlerini ve yorumlarını esirgemeyen herkese binlerce kez teşekkür ederim. Yazılımla ilgili tüm konularda bana PM atabilir yada
iletisim@sunucuctrl.com adresine mail yollayabilirsiniz. Profilimdeki skype adresinde de online yakalarsanız sorularınızı cevaplarım. Konuda gözümden kaçan yazım hataları varsa bunun için kusura bakmayın.
Şimdiden hepinize teşekkür ederim. İyi kullanımlar...
SunucuCtrl projesi çeşitli platformlar üzerinde defalarca test edilmiş ve bir soruna rastlanmamıştır. Yazılımın kullanımından doğabilecek her türlü problemden kullanıcı sorumludur.