İzleme ve Gözlenebilirlik

Zabbix ile Kapsamlı Open Source (Açık Kaynak) İzleme Çözümleri

İşletmelerin günümüzde başarılı olabilmeleri için, bilişim altyapılarını ve sunucu performanslarını sürekli olarak izlemeleri gerekmektedir.

Bu noktada, Zabbix adlı open source (açık kaynaklı) izleme ve alarm sistemini kullanmak, birçok organizasyon için etkili bir çözüm sunmaktadır. Sunucu ve altyapı izleme, custom metric izleme, veritabanı transaction izleme ve servis izleme gibi bir dizi özelliğiyle bilinir.

Zabbix, açık kaynaklı bir ağ ve sistem izleme çözümüdür. Bu yazılım, bir organizasyonun bilişim altyapısını sürekli olarak izlemesine, performansı değerlendirmesine ve olası sorunları önceden belirlemesine olanak tanır. Geniş kapsamlı izleme yetenekleri, esnek yapılandırma seçenekleri ve güçlü bildirim sistemleri ile bilinir.

Zabbix ile tüm IT Altyapısı izlenebilir.

Temel özellikleri şunlardır:

Sunucu ve Altyapı İzleme

Zabbix, Zabbix Agent ile sunucuların (Windows, Linux, UNIX vb.) performansını izleyebilir.CPU kullanımı, bellek kullanımı, disk alanı, ağ trafiği gibi parametreleri izleyerek performans sorunlarını tespit edebilir.

Toplanan verileri grafikler, tablolar ve raporlar şeklinde görselleştirerek analiz edilmesine olanak tanır.Bu veriler dashboard oluşturularak tek ekrandan takip edilebilir.

Tanımlanan eşik değerlere göre bildirimler gönderir ve olayları yönetir. Örneğin, belirli bir sunucunun CPU kullanımı %90’ın üzerine çıktığında bildirim gönderme gibi.

Zabbix Agent ile İzleme

Zabbix Agent, bir cihazın performans verilerini toplar ve bu verileri Zabbix sunucusuna gönderir. Yüksek performanslı Ajan Windows, macOS, Solaris, AIX, BSD ve Linux dağıtımlarında çalışır. Birden fazla sunucuya kendini rapor edebilir ve bu şekilde Yüksek erişilebilirlik (High availability) mimarilerde sorunsuzca çalışır. Uzaktan komut çalıştırma ve script tetikleme özelliklerine sahiptir.

Zabbix Agent 2 pluginleri ile SSL Sertifika Kontrolü, PostgreSQL ve MongoDB metrikleri zahmetsizce izlenebilir.

Zabbix Agent

Ajansız İzleme (Agentless Monitoring)

Zabbix Agent kurulamayan durumlarda da ajansız olarak izleme seçeneklerine sahiptir. URL izlemeleri, SNMP, ODBC izlemeleri, ICMP ve TCP kontrolleri, API uçlarından izleme, Java Application Monitoring, SSH ile sunucuda komut çalıştırma vb. yeteneklere sahiptir.

Agentless Monitoring

Özelleştirilmiş Metrik İzleme

Her organizasyonun ihtiyaçları farklıdır ve genel izleme özelliklerinin ötesinde özel metrikleri izlemek gerekebilir. Zabbix, kullanıcıların kendi özel metriklerini (custom metrics) tanımlamalarına ve izlemelerine olanak tanır. Bu, işletmelerin spesifik gereksinimlerine uygun ölçümler almasını sağlar.

Custom Metric

Örneğin, özel bir uygulamanın performans metriklerini API ile izlemek veya özel bir protokolün ağ trafiğini SNMP ile takip etmek gibi senaryolarda Zabbix’in esnekliği ön plana çıkar. SSH bağlantısı ya da Zabbix Agent ile komut çalıştırılarak veya script tetikleyerek de özelleştirilmiş metrikler izlenebilir. Ayrıca JSON, CSV, XML, TXT vb. dosyaların içeriğindeki veriler izlenebilir.

Veri Dönüşümü/Manipülasyonu

Zabbix’te izlenen herhangi bir metrik preprocessing ile işlenebilir. Bu veriler Regular expression (Regex, düzenli ifade), replace, trim vb. fonksiyonlarla ya da doğrudan JavaScript kodları ile manipüle edebilir.

Custom Metric

Veritabanı Transaction İzleme

Veritabanları, bir organizasyonun hayati öneme sahip verilerini depoladığı yerlerdir. Zabbix, veritabanı transaction izleme özelliği ile veritabanlarının performansını detaylı bir şekilde takip etmeyi mümkün kılar.

Veritabanı sunucularının Zabbix Agent 2 ya da ODBC Driver üzerinden (MySQL, PostgreSQL, Oracle, SQL Server vb.) performansını izleyebilir. Sorgu süreleri, bağlantı istatistikleri, veritabanı boyutu gibi ölçümleri raporlayabilir.

Ağ İzleme

Zabbix, Ağ cihazları (router, switch vb.) ve ağ protokollerini SNMP ve API üzerinden izleyebilir. Ağ bağlantılarındaki trafik, bağlantı durumu, ping yanıt süresi, port kontrolü, paket kaybı gibi metrikleri izler.

Servis İzleme

Zabbix, organizasyonların iş sürekliliğini sağlamak için önemli olan servislerin durumunu izlemek için kullanılır. Web sunucuları, e-posta sunucuları, DNS hizmetleri gibi çeşitli servislerin çalışma durumları sürekli olarak kontrol edilir ve herhangi bir hata durumunda otomatik uyarılar veya tepkiler tetiklenebilir.

Bu sayede, hizmet kesintileri önceden belirlenebilir ve organizasyonlar etkili bir şekilde müdahale edebilir.

Zabbix, geniş kapsamlı izleme yetenekleri ile bir organizasyonun bilişim altyapısını etkili bir şekilde yönetmesine yardımcı olan güçlü bir araçtır.

Sunucu ve altyapı izleme, custom metric izleme, veritabanı transaction izleme ve servis izleme gibi özellikleriyle Zabbix, hem küçük işletmelerin hem de büyük kuruluşların ihtiyaçlarını karşılamak için esnek bir çözüm sunar.

Bildirimler ve Aksiyonlar

İzlenen metrikler üzerinde oluşturulan alarm tanımları ile bir metrik eşik değerine ulaştığı/geçtiği zaman anında ya da belirli bir süre sonrasında çeşitli aksiyonlar alabilir. Bu aksiyonlar sonucunda ilgili kullanıcı ya da kullanıcı gruplarına bildirimler iletebilir, önceden tanımlanmış scriptler çalıştırılabilir.

Bildirimler

Örneğin bir servis çalışmayı durdurduğu zaman ilgili alarm tetiklenince bildirim gönderebilir ve o servisi yeniden başlatacak bir scripti çalıştırabilir.

Bildirimler e-mail olarak gönderilebileceği gibi Slack, MS Teams, Telegram gibi haberleşme ürünleriyle ya da Jira, ServiceNow, Zendesk vb. ITSM ürünleri ile entegre edilebilir. Mesaj içerikleri ilgili platformlara göre istenildiği gibi özelleştirilebilir.

Bildirimler ve aksiyonlar eskalasyon yapılarak alarm sürdüğü müddetçe belirtilen aralıklarla çalışmaya devam eder.

Örneğin bir alarm oluştuğunda ilgili kullanıcı ya da ekiplere anında e-mail atıp, 10 dakika sonra bir script çalıştırabilir ve alarm devam ettiği ya da belirtilen süre boyunca bu işlemleri tekrarlar.

Eskalasyon

Dashboard

Zabbix üzerinde izlenmekte olan veriler Dashboard oluşturularak takip edilebilir. Oluşturulan dashboardlar herkese açık olabileceği gibi kişi ya da ekiplere özel olarak da kısıtlanabilir. Mevcut dashboardlar belirli periyotlarla PDF formatında rapor olarak alınabilir ve ilgili kişi ya da ekiplere bildirimler ile iletilir.

Dashboard

Dashboard ekranlarında ilgili sunucu ya sunucu gruplarına ait alarmlar, en yüksek CPU, Memory kullanımına sahip sunucular listenebilir.

Geomap ile sunucular harita üzerinde lokasyonlarına göre gösterilebilir.

Geomap

Infrastructre Map ile sunucular arasında bağlantılar ve topoloji çizilebilir.

Infrastructre map

Mevcut olan Zabbix Server Health dashboardu ile Zabbix sunucusuna ait kontroller tek bir ekrandan kolayca takip edilir.

Zabbix Server Health

Zabbix API

Zabbix API ile Zabbix kolay bir şekilde diğer sistemlerle entegre olabilir. Grafana vb. uygulamalara Zabbix’teki historik veriler ve alarmlar API aracılığı ile aktarılabilir. İş akışları otomatize edilebilir. Örneğin her hafta pazartesi günü mevcut tüm alarmlar kapatılabilir. Otomatik bir şekilde sunucu, sunucu grupları vb. yaratılabilir.

API token yaratılarak güvenli bir şekilde bu işlemler gerçekleştirilebilir. 200’den fazla metod ile Zabbix API zengin bir içeriğe sahiptir.

Zabbix API

Projelerle İlgili Zabbix Kullanımı

Zabbix, proje yöneticileri ve ekipleri için de değerli bir araç sunar. Projelerde kullanılan sunucuların performansını izleyerek, kaynak kullanımını optimize etmek ve olası aksaklıkları önceden tahmin etmek mümkündür.

Zabbix sunucusu ilgili mimariye göre PostgreSQL ya da MySQL veritabanında çalışabilir. Front-end için Apache ya da nginx kullanılabilir.

Zabbix kendi Yüksek erişilebilirlik (native High Availability) yapısı ile ilgili projenin mimarisine göre yapılandırılabilir. Zabbix Server’lar aktif-pasif durumda yapılandırılabilir. Aktif sunucuda bir sorun oluştuğunda otomatik olarak pasif sunucu aktif duruma geçer ve herhangi bir kayıp yaşanmadan izleme devam eder.

High Availability yapı ilk kurulumda yapılabileceği gibi daha sonra da bu yapıya geçilebilir. Gerekli olduğu zaman yeni bir node eklenerek mevcut yapı sorunsuzca genişletilebilir.

High Availability

Doğrudan Zabbix sunucusuna erişi olmayan ortamlar (firewall, DMZ) için Zabbix Proxy Server kurulumu yapılarak buradaki izlemeler Zabbix Proxy’e yönlendirilir. Zabbix sunucusu sadece Zabbix Proxy ile haberleşir.

Firewall, DMZ

Zabbix Proxy ayrıca ölçeklendirilme için de kullanılır. Zabbix Proxyler ile Zabbix sunucusunun izleyebileceği metrik ve sunucu sayıları yüksek oranlarda artırılır.

Zabbix Proxy

Ayrıca, özel projelerin gereksinimlerine uygun olarak özelleştirilebilen metrik izleme özelliği, projelerin spesifik ihtiyaçlarına daha etkili bir şekilde cevap verebilir.

Proje süreçleri içindeki veritabanı işlemleri takip edilerek, veritabanı tabanlı uygulamalarda olası sorunlar hızlı bir şekilde tespit edilebilir.

Zabbix’in geniş alarm ve bildirim mekanizmaları sayesinde,  proje ekibi hızlı bir şekilde tepki verebilir ve proje sürekliliğini maksimum düzeyde sağlayabilir.

Bu nedenle, Zabbix, projelerin başarılı bir şekilde yönetilmesi için kritik bir rol oynar ve projelerin bilişim altyapısının güvenli ve performanslı bir şekilde çalışmasına katkıda bulunur.