Network Monitoring Kavramı ve Monitorix Uygulaması

Monitoring kavramı bir sistemdeki darboğazları(sıkışıklık), veri tüketimini, sistemin yükünü, sistemde oluşan hataları, sistemin kötüye kullanımını, varsa sisteme yapılan saldırıları vb birçok işlemi görüp-gözetleme ve nihayetinde bununla ilgili gerekli operasyonları yerine getirme işlemidir. Yani kısaca performans takibidir. Monitoring işlemi sorun tespiti, önlemi ve çözümü açısından hayati önem arz eden bir konudur. Öyleki monitoring işleminin yapılmadığı sistemlerde hatayı tespit etmek ve sebeplerine dair fikir edinmek oldukça güçtür. Örneğin ağdaki tıkanıklığın bir sebebi monitoring işleminin düzenli yapıldığı ve kayıt altına alındığı bir sistemde kolayca anlaşılabilinirken monitoring işleminin yapılmadığı bir sistemde oldukça güçtür. Çünkü ilgili sıkıntının donanım kaynaklı, sistem kaynaklı, kullanıcı kaynaklı veya saldırı sonucu oluştuğu hakkında bir sonuca varmak çok fazla zaman alabilir. Net bir fikir edinmek için bütün bu parametreleri teker teker kontrol etmek gerekir.

Monitoring kavramı çok geniş bir kavram olmasının yanı sıra temelde CPU, Bellek (Memory), Giriş-Çıkış (I/O) ve Network gibi alt dallara ayrılır. Bu alt dallar birbiriyle alakalıdır. Herhangi birinde olan bir sıkıntı diğer sistem-(ler)-in çalışmasını engelleyebilir. Örneğin büyük miktarlardaki I/O işlemi belleği tüketebilir, ethernet üzerinden yapılan yüksek trafik çok fazla CPU tüketebilir, belleğe çok fazla miktarda yazma işlemi CPU’yu ve I/O kanallarını tüketebilir.Monitoring konusunda en zor olan kısım “network monitoring” kısmıdır. Bunun nedeni ağın soyut olmasıdır. Sistemin kontrolünün yanında ağda yaşanan gecikme, çarpışmalar, tıkanıklık, paket bozulması gibi birçok faktör daha vardır.

Herhangi bir sistemi monitor etmek için o sistemin çalışma prensiplerini analiz etmeliyiz. Genel olarak bir I/O (Giriş Çıkış)’ a bağlı uygulamalar bellek ve depolama sistemini tüketir. Bunun nedeni I/O işlemlerinin verilerinin büyük kısmı bellek üzerinde olmasındandır. Eğer depolama sistemi ağ üzerinde değiilse ağ performansını etkilemez. CPU’yu ise genelde istekler için kullanır ve daha sonra uykuya geçer. Veri tabanı uygulamaları I/O uygulamalarına güzel bir örnektir. CPU’ya bağlı uygulamalar ise CPU’yu yoğun şekilde kullanır. Web sunucuları, posta sunucuları, matematiksel işlem yapan uygulamalar bu sınıfa girer.

Linux Network Monitoring Araçları

Linux sistemleri hali hazırda birçok monitoring araçları ile kurulu gelir. Kurulu olmayan bir çoğu da ilgili dağıtımın depolarından inidirilip kurulabilir. Çok fazla açık kaynak kodlu ve third-party monitoring uygulama var olmasına rağmen ben burada bazılarının sadece ismini verip daha çok monitorix adlı uygulama hakkında bilgi vereceğim.

Nload, iftop, iptraf, tcptrack, vnstat, speedometer, trafshow, netload linuxta kullanılan network monitorng araçlarından bazılarıdır. Bunlarla ve daha fazlasıyla ilgili bilgilere linuxa ait belgelerden ulaşılabilir.

MONİTORİX ARACI

Linuxta sistem ve ağ kaynaklarını izlemek için tasarlanmış, açık kaynak kodlu, özgür, güçlü ve hafif bir araçtır. Düzenli olarak sistem ve ağ verilerini toplar ve bilgileri kendi web arayüzünü kullanarak grafikler halinde görüntüler.Başlangıçta Unix/Linux sunucuları altında çalışmak için geliştirilse de hafifliği sebebiyle gömülü sistemlerde dahi kullanılabilir. Monitorix genel sistem performansını izlemeye, darboğazları, arızaları, istenmeyen uzun cevap sürelerini ve diğer anormal etkinliklerin tespit edilmesine yardımcı olur. Perl dili ile yazılmıs ve FSP tarafından yayımlanan GNU kamu lisansıyla lisanslanmıştır. Grafikler üretmek ve web arabirimini kullanarak bunları görüntülemek için RRDtool aracını kullanır.

Monitorix temelde 2 programdan oluşur. Monitorix isimli bir toplayıcı ve monitorix.cgi isimli bir CGI betiği. Monitorix 3.0 ve sonrası kendi HTTP sunucusunu içerdiğinden kullanıcı bir web sunucusu yüklemek zorunda değildir.

ÖZELLİKLERİ

1– Sistem yük ortalaması, çalışan süreçler, işlemci başına çekirdek kullanımı, genel çekirdek kullanımı ve bellek tahisisi.
2-Disk sürücülerinin sıcaklığını ve çalışıp çalışmadığını izler.
3-Dosya sistemi kullanımı ve dosya sistemlerinin I/O aktivitilerini izleme.
4-10 network cihazına kadar network trafiğini izleme
5-Ssh ,ftp, Vsftpd, ProFtp, Smtp, Pop3, Imap, mail virüsü ve spam gibi sistem servislerini içerir.
6-Mail istatistikleri
7-Network Port trafiği. TCP, UDP gibi
8-FTP sunucularının log dosya formatlarına göre FTP istatistiği.
9-Local ve uzak sunucuların apache istatistikleri
10– Local ve uzak sunucuların mysql istatistikleri
11-Squid proxy web önbellek istatistikleri
12-Uzak sunucuları izleme
13-İstatistikleri grafikler halinde veya metin tabloları şeklinde, günlük , haftalık, aylık veya yıllık tutma.
14-Dahili http sunucusu.

Kurulumu

Monitorix Redhat, Centos, Fedora tabanlı sistemler için geliştirilmiş olsa da bugün birçok farklı dağıtımı desteklemektedir. Ben burada debian tabanlı Pardus 17.1 sürümü için kurulumunu anlatacağım. Öncelikle /etc/apt/sources.list dosyasına monitorixi indireceğimiz depoyu ekliyoruz.Bunun için komut satırından aşağıdaki komutu çağırıyoruz.

sudo nano /etc/apt/sources.list

gerekli root parolasını girdikten sonra açılan sayfanın en altına aşağıdaki satırı ekleyip kaydediyoruz.

deb http://apt.izzysoft.de/ubuntu generic universe

Depoyu ekledikten sonra PGP anahtarını indirip sisteme yükleyeceğiz.

sudo apt-get -y install wget
cd /tmp
wget http://apt.izzysoft.de/izzysoft.asc

şimdi de .asc dosyasını kaydettiğimiz dizine (tmp) gidip aşağıdaki komutu yazıyoruz.

sudo apt-key add izzysoft.asc

OK uyarısını aldıktan sonra sistem güncelleme işlemini yapıyoruz.

sudo apt-get update

Güncelleme işlemi sırasında

E: Yöntem sürücüsü /usr/lib/apt/methods/https bulunamadı.
N: apt-transport-https paketi kurulu mu?

Şeklinde bir hata alırsak

sudo apt-get install apt-transport-https komutunu yürütüp tekrar update komutunu çalıştırıyoruz. Eğer bir hata almadıysak devam ediyoruz.

Kurulum işleminden sonra bir iki ayar yapmamız gerekecek.

sudo nano /etc/monitorix/monitorix.conf

komutunu verip açılan dosyada aşağıdaki kısmı bulup “enabled=n “ kısmını “enabled=y” yapıp kaydedip çıkıyoruz.

enabled = n
msg = Monitorix: Restricted access
htpasswd = /var/lib/monitorix/htpasswd

ardından monitorix servisini restart ediyoruz.

sudo service monitorix restart

Monitorix uygulamasına giriş yapabilmek için bir kullanıcı adı ve parola oluşturuyoruz aşağıdaki komutla.

sudo htpasswd -d -c /var/lib/monitorix/htpasswd admin

Kurulumu tamamladıktan sonra monitorix uygulamasını açmak için web browsera sunucuadresi:8080/monitorix (sunucuadresi kısmına monitorixin kurulu olduğu sunucu adresi veya localde ise localhost )yazıyoruz. Kullanıcı adı ve parola girdikten sonra aşağıdaki gibi bir ekran görüntüsü gelecektir. Görüntülemek istediğimiz türü seçip günlük, haftalık, aylık veya yıllık bazda monitoring işlemini başlatabiliriz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir