23 Aralık 2014 Salı

NOC için Dashboard geliştirmesi - PHP - Perl - RestAPI

Merhaba,

Telekom hatları, şubeleri ve backbone cihazlarını tek sayfada izlemek isteyen bir müşterim için hazırladığım Dashboard'ı sizlerle paylaşmak isterim. Tamamen canlı bir dashboard ve arkasında ayrıca bir alarm mekanizmasına da sahip.

Uzun yıllar monitoring ve otomasyon işi yapmış biri olarak müşterilerin aldıkları ürünlerden hiçbir zaman tam performans alamadıklarını gördüm. Yüzbinlerce dolarlık ürünler yüzlerce karmaşık işi yapıyor fakat müşterinin istediği bazı şeyleri yapamıyordu. Müşteri hayalinde bir dashboard canlandırıyor ve networkünü bu şekilde izlemek istiyordu. Fakat ürünler bunu sağlayamadığı için hem müşteri tarafında memnuniyetsizlik oluşuyor, hem de projeyi yapan firmanın yetkinliği sorgulanıyordu.

Enterprise seviyede bir monitoring ürününü entegre ederken büyük bir firmada yine benzer bir sorunla karşılaştım. Müşteri büyük paralar karşılığında aldığı ürünü ile gelen dashboardları beğenmiyor ve istediği şekilde bir dashboard oluşturamamamıza anlam veremiyordu.

Müşteriden tam olarak istediği Dashboard ı kağıt kalem alıp çizmesini ve bana birkaç gün müsade etmesini istedim. Çizime göre bunu sadece elimdeki ürünle yapamayacağım aşikardı. İşte bu benim için yeni bir meydan okumaydı. Öncelikle monitoring ürününün API sini araştırdım. Ürün RestAPI interface ine sahipti ve istediğim pekçok veriyi (up-down, cpu high, interface down) gibi alarm verilerini bu arayüzden almam mümkündü. Tüm şube routerları ve backbone cihazları ile ilgili pek çok bilgiyi RestAPI ile alabilecektim.

Telekom hatları ile ilgili ise kendim bir pinger uygulaması yazmayı planladım. Dashboard ın yayınlanacağı sunucuda ayrıca birçok pinger uygulaması çalışacak ve telekom hatlarının ucundaki çeşitli cihazları pingleyerek hatların durumunu kontrol edecekti. Ayrıca gerekli durumlarda email ve sms atacaktı. Bunları da Perl ile yazmaya karar verdim.

Sıra Dashboard ekranın hazırlanmasına gelmişti. Bunu ise PHP ve HTML ile dizayn etmek çocuk oyuncağı idi. Sonuç itibari ile Perl, PHP, Html, Javascript, RestAPI birleşimi ile müşterinin hayallerinin de üstünde herşeyi izleyebileceği bir dashboard geliştirilmişti.

Dashboard, hem monitoring uygulamasından hem de perl ile yazdığım scriptlerden besleniyor ve 30 ar saniyelik aralıklarla kendini güncelliyordu.

Fikir olması açısından 4 ekrandan oluşan Dashboard ekranlarından birini paylaşmak isterim.

Alttaki ekran sıfırdan geliştirilmiş olup monitoring uygulamasından herhangi bir ekran yada görsel alınmamıştır.





Teşekkürler,
Cem Selmanoğulları


Hiç yorum yok:

Yorum Gönder