Zabbix bileşenleri hakkında
Zabbix, dünyada en çok kullanılan açık kaynak kodlu ağ izleme yazılımı. Tabi ki bu ağ izleme yazılımı yekpare olarak izleme yazılımı olarak görülse de bir çok bileşeni bulunmakta.
Özellikle mantıksal olarak izleme işlemleri ile ilgilenen bileşenler ve tabi ki “uçnokta izleme algılayıcı” bileşenleri olarak ikiye ayrılabilir. İzleme işlemleri merkezdeki sunucularda yer almakta olup, uçnokta izleme algılayıcıları ise izlenmesi istenen kısımlarda yer alan yapılardır.
İzleme işlemleri bileşenleri nelerdir?
İzleme işlemleri bileşenleri, temel olarak Zabbix arayüz, Zabbix sunucu ve Veritabanı bileşenlerini içermektedir. Bu bileşenler izlenecek sistemlerdeki verileri toplamak, depolamak, görselleştirmek ve aksiyon almak için kullanılmaktadır.
Zabbix arayüz bileşeni, aslında kendi içerisinde bir web sunucusunu barındırmaktadır. Resmi olarak apache ve nginx web sunucularından birisi tercih edilerek kullanılabilmektedir ve tam olarak görevi sistemi izleyecek kişiye biraz sonra anlatacağımız süreçleri oluşturmasını, yönetmesini ve çeşitli dashboard ve graphlar üzerinden izlemesini sağlamaktır.
Zabbix sunucu bileşeni, sistemdeki en yoğun işi yapan kısım olarak düşünülebilir. Uç nokta sistemler (hostlar) ile iletişime geçen kısım burasıdır. Zabbix sunucusunu çeşitli servislerle yaptığı işlemleri özetlemek gerekirse:
- Sistem-Servis Keşfi (discovery)
- Ajanlardan ve ajansız kaynaklardan gelen çeşitli verilerin (templates-items) toplanması ve Veritabanına yazılması
- Problemlerin (problems) tespit edilmesi
- Alarmların (alarms) ve tetikleyicilerin (triggers) çalıştırılması
- Tepkilere (actions) göre bildirim (notifications) ve gönderim oluşturulması
- Rapor (reports) oluşturulması ve gönderilmesi
başta olmak üzere bir çok işi yapmaktadır.
Zabbix Veritabanı bileşeni, aslında bildiğimiz PostgreSQL veya MySQL’in ta kendisi olmakla birlikte Zabbix’e özgü şema ve tabloların oluşturulması ile kullanılmaktadır. Sunucu bileşeni ile toplanan verilerin depolanması ve arayüz bileşeni ile izlenebilmesini sağlayan altyapıyı oluşturmaktadır.
İzlenen sistemler nelerdir?
İzlenen sistemler, mantıksal olarak ajanlı ve ajansız olarak özetlenebilir. Ajanlı sistemler Zabbix’in ajan servisinin yer aldığı ve daha detaylı izleme yapılabilen bir ortam sağlarken, ajansız servisler ağ üzerinden veya farklı servisler yardımı ile izlenebilen sistemleri ifade etmektedir.
Ajanlı izleme, Windows, MacOS veya GNU/Linux sistemler üzerine yüklenen zabbix ajanı vasıtasıyla çeşitli verilerin toplanabilmesini sağlayan yapılardır. Tahmin edildiği gibi ajan ile oldukça detaylı veriler çekilebilmektedir ve bu veriler çeşitli seviyelerde özelleştirilerek çok daha detaylı işlerin de yapılabilmesini doğurmaktadır. Tabi ki ajan ile yapılacak detaylı çalışmalar ajan yüklü makineyi yorabileceği için optimize bir çalışma yapılması gerekecektir.
Ajansız izleme, yukarıda bahsettiğimiz Zabbix ajanının bulunmaması durumunda izleme yapılabilmesini sağlayan yapıdır. Bu yapı içerisinde özellikle en çok kullanılan kaynaklar aşağıdaki gibi özetlenebilir:
- Web sorguları izleme
- ICMP ve TCP paket ve port kontrolleri
- SNMP izleme
- SSH veya Telnet kontrolleri
- Java (Tomcat) izleme
- ODBC izleme
- Prometheus kaynağını izleme
Bu verilerle birlikte en çok kullanılan ajansız kaynakları görmüş oluyoruz.
Son söz
Özet olarak Zabbix, açık kaynak kodlu olarak gayet güçlü bir “ağ ve sunucu izleme” yazılımı olarak kullanımı günden güne artmaktadır. Genel standartlar kullanması ile belki görsel olarak karmaşık gözükmesine rağmen öğrenildikten sonra kullanımı oldukça rahatlamaktadır. Bunun yanında gelişkin API’si yardımı ile kendi ihtiyacınıza uygun yazılımlar yazarak geliştirme imkanınız da bulunmaktadır.