Ağ Yöneticiliği günümüz bilişim teknolojilerinin en zorlu alanlarından birisidir. Zira bir ağdan bahsedildiğinde eskiden birkaç bilgisayarın, sunucu ve yazıcının bulunduğu yapılar akla geliyordu. Fakat bugün ağ dediğimiz zaman dev veri ambarlarından minicik bir akıllı düğmeye varana kadar türlü türlü cihazlardan bahsediyoruz. Haliyle yüzlerce bilgisayar, onlarca sunucu, ağ anahtarları, yönlendiriciler ve diğer cihazlardan oluşan bir ağ yapısını yönetmek oldukça zordur. Üstüne bir de bu yapıyı sürekli izlemek gerektiğinden ağ yöneticilerin işi başından aşkın desek yeridir.

Ağ Yöneticiliğinin bu ağır yükünü sırtlanmak için “Network Monitoring” ürünü olarak piyasada birçok ağ izleme yazılımı bulunuyor. Bu yazılımlar ağ yöneticilerine büyük kolaylıklar sağlasa da çoğu zaman oldukça pahalı yazılımlar. Ücretsiz çözümler ise bir elin parmağını geçmemekle birlikte ekseriyetle ücretli ürünlerin kısıtlı versiyonları olarak yayınlanmakta.

Fakat temel fonksiyonları ücretsiz olan ve gelişmiş bir ağ izleme yazılımı arıyorsanız -benim de uzun yıllardır kullandığım- Observium bu iş için biçilmiş kaftan.

Observium Nedir?

Observium, piyasadaki ağ izleme yazılımlarından umduğunu bulamayan bir ağ yöneticisi tarafından 15 yıl kadar önce açık kaynak kodlu geliştirilmeye başlanan bir network izleme platformudur. Network yapınız dâhilinde bulunan cihazlardan SNMP ile aldığı verileri grafiksel bir ara yüzde sunmaktadır. Birçok markanın (Cisco, Windows, Linux, HP, Juniper, Dell, FreeBSD, F5, Brocade, Citrix, NetApp vb.) ürününe ait CPU, RAM, hafıza, port, trafik vb. verileri otomatik olarak tespit edip toplamaktadır. Geliştirici ekibe şuradan ulaşabilirsiniz: observium.org/team

Donanım Gereksinimleri

Observium görece küçük bir yazılım. Kurulum için her ne kadar 256MB RAM bellek yeterli olsa da kaynak konusunda kısıtlamanız yoksa tavsiyem 2GB RAM, çok çekirdekli işlemci ve 50GB disk alanı kullanmanızdır. Ek olarak SSD disk kullanırsanız maksimum verim sağlayabilirsiniz.

Yazılım Gereksinimleri

Observium popüler Linux dağıtımları olan Debian ve Ubuntu üzerine inşa edilmiştir. RHEL ve CentOS işletim sistemlerine de kurabilirsiniz. Temel gereksinimler Apache, fping, MySQL, Net-SNMP, RRDtool ve PHP’den oluşur. Ek olarak GraphViz, Ipmitool ve libvirt-bin paketleri de yüklenebilir. Kullanmak istediğiniz Linux platformunun ise her zaman son sürüme sahip olduğundan emin olmanızı tavsiye ederim.

Observium’u Ubuntu Üzerinde Yüklemek

Observium platformu Ubuntu/Debian/RHEL/CentOS gibi farklı Linux dağıtımlarında çalışıyor olsa da tavsiye edilen Ubuntu kullanarak yüklemenizdir.

Bu yazıda Ubuntu 20.04 ve daha üst sürümler üzerinde Observium platformunu nasıl kuracağınızı anlatacağım. (Daha eski sürümler için: docs.observium.org)

İlk olarak kurulma geçmeden önce son sistem güncellemelerini kontrol edin ve varsa yükleyin:

apt update
apt upgrade

Sisteminizin en son güncellemelere sahip olduğundan emin olduktan sonra Observium kurulum aşamalarına geçebilirsiniz.

Otomatik Kurulum

Observium kurulumu için daha önceden tamamen manuel olarak adımları teker teker uygulamak gerekiyordu. Fakat artık otomatik kurulum yapılabiliyor. Şu komutları sırayla çalıştırarak otomatik kurulum yapabilirsiniz:

wget http://www.observium.org/observium_installscript.sh
chmod +x observium_installscript.sh
./observium_installscript.sh

Manuel Kurulum

Kurulum aşamalarını tek tek kendiniz de gerçekleştirebilirsiniz.

Öncelikle gereken paketlerin yüklemesini yapıyoruz:

apt install libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-mysqli \ php7.4-gd php7.4-json php-pear snmp fping mysql-server mysql-client \ python3-mysqldb rrdtool subversion whois mtr-tiny ipmitool graphviz \ imagemagick apache2 python3-pymysql python-is-python3

Daha sonra Observium’u indireceğimiz dizini oluşturuyoruz:

mkdir -p /opt/observium && cd /opt

Observium Topluluk Sürümü’nü indiriyoruz ve sıkıştırılmış dosyayı çıkarıyoruz:

wget http://www.observium.org/observium-community-latest.tar.gz
tar zxvf observium-community-latest.tar.gz

Gerekli ayarları yapmak için Observium dizinine geçiyoruz:

cd observium

MySQL Veritabanı Ayarları

Observium’un kullanabilmesi için MySQL ayarlarını yapmamız gerekiyor. Bunun için öncelikle MySQL’e giriş yapın:

mysql -u root -p

Yukarıdaki komutta mysql root password kısmını en başta MySQL paketini kurarken oluşturuyorsunuz. Paket kurulumunda belirlediğiniz şifreyle MySQL’e giriş yapabilirsiniz.

Veritabanını oluşturun:

CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Veritabanının adı observium’dur. Kullanıcıyı oluşturun:

CREATE USER observiumadmin@localhost IDENTIFIED BY 'observiumpassword';

Kullanıcı adı observiumadmin şifresi ise observiumpassword olarak oluşturuldu. Sonraki aşamada yetkilendirmeyi gerçekleştirin:

GRANT ALL ON observium.* TO observiumadmin@localhost;

Ayarları sonlandırıp çıkış yapın:

FLUSH PRIVILEGES;

exit

Bir sonraki adımda ayarlar dosyasını kopyalayıp düzenliyoruz.

cp config.php.default config.php

Ayarları Uygulamak

Öntanımlı olarak gelen ayar dosyasını kopyalayın ve düzenlemek için açın:

cp config.php.default config.php
 
nano config.php

Buradaki veritabanı bilgilerini az önce oluşturduğunuz bilgilerle güncelleyin ve kaydedip kapatın:


$config['db_host'] = 'localhost';
 
$config['db_user'] = 'observiumadmin';
 
$config['db_pass'] = 'observiumpassword';
 
$config['db_name'] = 'observium';

Ayar dosyasını güncelledikten sonra komut satırından öntanımlı MySQL şemasını kaydedin:

./discovery.php –u

Sonraki aşamada RRD dosyalarını kaydetmek ve kayıt için gerekli izni sağlamak için şu satırları çalıştırın:

mkdir rrd

chown www-data:www-data rrd

Log kayıtlarını tutmak için dizin oluşturun ve izin sağlayın:

mkdir -p /var/log/observium

chown apache:apache /var/log/observium

Apache Ayarları

Sıra geldi Apache ayarlarını düzenlemeye. Ubuntu’da Apache 2.4 dizini şöyledir: /etc/apache2/sites-available/000-default.conf

Bu dizindeki 000-default.conf dosyasını açarak şu şekilde güncelleyin:

<VirtualHost *:80>

    ServerAdmin webmaster@localhost

    DocumentRoot /opt/observium/html

    <FilesMatch \.php$>

      SetHandler application/x-httpd-php

    </FilesMatch>

    <Directory />

            Options FollowSymLinks

            AllowOverride None

    </Directory>

    <Directory /opt/observium/html/>

            DirectoryIndex index.php

            Options Indexes FollowSymLinks MultiViews

            AllowOverride All

            Require all granted

    </Directory>

    ErrorLog  ${APACHE_LOG_DIR}/error.log

    LogLevel warn

    CustomLog  ${APACHE_LOG_DIR}/access.log combined

    ServerSignature On

</VirtualHost>

Ardından PHP mcrypt modülünü aktif edin:

phpenmod mcrypt

Sonrasında PHP’yi etkinleştirin:

a2dismod mpm_event

a2enmod mpm_prefork

a2enmod php7.0

a2enmod rewrite

Ayarların etkin olabilmesi için Apache’yi yeniden başlatın:

apache2ctl restart

Observium’u Kullanmak

Tüm adımları başarılı bir şekilde tamamladığınız takdirde Observium’u kullanmaya hazırsınız. Şimdi Observium’u kullanmak için gerekli olan kullanıcı bilgisini oluşturun:

./adduser.php <username> <password> <level>

Administrator yetkisine sahip kullanıcı oluşturmak için <level> alanına 10 yazmalısınız.

İlk cihazınızı ekleyin:

./add_device.php <hostname> <community> v2c

Eklediğiniz cihazın üzerindeki bilgiler otomatik olarak keşfedilip çekilecektir. Manuel olarak keşfetmek ve verileri Observium yazılımına aktarmak için şu komutları çalıştırın:

./discovery.php -h all

./poller.php -h all

All dediğinizde sistemde eklenmiş tüm cihazlara dair veriler gözden geçirilecektir. All yerine cihazın ID numarasını yazarak sadece tek bir cihaz üzerinde discovery.php ve poller.php uygulamalarını çalıştırabilirsiniz. ID numarası ilk eklediğiniz cihazla birlikte 1’den başlar ve cihaz ekledikçe otomatik artar.

Otomatik Olarak Verileri Kontrol Etmek

Sistemi otomatikleştirmek için cron jobs oluşturmak gerekmektedir:

/etc/cron.d/observium

Oluşturduğunuz observium dosyasının içine şunları kopyalayın:

# Her 6 saatte 1 defa tüm cihazlar için discovery.php çalıştır.

33  */6   * * *   root    /opt/observium/discovery.php -h all >> /dev/null 2>&1

# Yeni eklenen cihazlar için her 5 dakikada 1 defa discovery.php çalıştır.

*/5 *     * * *   root    /opt/observium/discovery.php -h new >> /dev/null 2>&1

# Her 5 dakikada 1 defa poller-wrapper.py çalıştır. Çoklu işlemle birden fazla cihazdan veri alır.

*/5 *     * * *   root    /opt/observium/poller-wrapper.py 4 >> /dev/null 2>&1

# syslog, eventlog ve alert log kayıtları için günlük verileri topla.

13 5 * * * root /opt/observium/housekeeping.php -ysel >> /dev/null 2>&1

# rrds, ports, orphaned entries in the database and performance data için günlük verileri topla.

47 4 * * * root /opt/observium/housekeeping.php -yrptb >> /dev/null 2>&1

Sonuç

Artık hazırsınız. Yazılımı kurduğunuz sunucunun IP adresini tarayıcınızdan açtığınızda karşınıza gelen ekrandan kullanıcı bilgilerini girerek Observium’u kullanmaya başlayabilirsiniz.

Yazar Hakkında

Muhammed Tutar

bilgisayar mühendisi, bilgi güvenliği uzmanı. önce okur, sonra yazar.

Tüm yazıları göster