Ağ Yöneticiği günümüz bilişim teknolojilerinin en zorlu iş kolları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ü cihazdan 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 dersek yeridir.
Fakat “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ımlardır. Bu noktada ücretsiz çözümler bir elin parmağını geçmemekle birlikte ekseriyetle ücretli ürünlerin kısıtlı versiyonları olarak yayınlanmaktadır.
Bu noktada ise imdadımıza ücretsiz ve gelişmiş bir ağ izleme yazılımı olan Observium yetişiyor.
Observium Nedir?
Observium, piyasadaki ağ izleme yazılımlarından umduğunu bulamayan bir ağ yöneticisi tarafından 10 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.
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 (1×4 core veya 2×2 core) ve 25GB 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. 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 16.04 ve daha üst sürümler üzerinde Observium platformunu kuracağız.
Öncelikle sorun yaşamamak için terminalde root olarak giriş yapmanızı öneriyorum:
1 |
sudo –H gnome-terminal |
Sonrasında ise kurulma geçmeden önce son sistem güncellemelerini kontrol edin:
1 |
apt-get update |
Sisteminizin en son güncellemelere sahip olduğundan emin olduktan sonra Observium için gerekli paketleri indirin:
1 2 3 |
apt-get install libapache2-mod-php7.0 php7.0-cli php7.0-mysql php7.0-mysqli php7.0-gd php7.0-mcrypt php7.0-json php-pear snmp fping mysql-server mysql-client python-mysqldb rrdtool subversion whois mtr-tiny ipmitool graphviz imagemagick apache2 libvirt-bin |
Gerekli paketler yüklendikten sonra MySQL veritabanı bilgileri oluşturulmalıdır. Bilgileri oluşturmak için MySQL’e giriş yapın:
1 |
mysql -u root –p |
Veritabanını oluşturun:
1 |
CREATE DATABASE observium; |
Veritabanının adı observium’dur. Kullanıcıyı oluşturun:
1 |
CREATE USER observiumadmin@localhost IDENTIFIED BY 'observiumpassword'; |
Kullanıcı adı observiumadmin şifresi ise observiumpassword olarak oluşturuldu. Sonraki aşamadan yetkilendirmeyi gerçekleştirin:
1 |
GRANT ALL PRIVILEGES ON observium.* TO observiumadmin@localhost; |
Ayarları sonlandırıp çıkış yapın:
1 2 3 |
FLUSH PRIVILEGES; exit |
Artık Observium’u yüklemek için hazırsınız. Şimdi Observium yazılımını indireceğiniz dizini oluşturun:
1 |
mkdir -p /opt/observium && cd /opt |
Observium’u indirin:
1 2 3 |
wget http://www.observium.org/observium-community-latest.tar.gz tar zxvf observium-community-latest.tar.gz |
Yazılımı indirdikten ve paketi çıkardıktan sonra yazılımın olduğu klasöre giriş yapın:
1 |
cd observium |
Öntanımlı olarak gelen ayar dosyasını kopyalayın ve düzenlemek için açın:
1 2 3 |
cp config.php.default config.php nano config.php |
Burada veritabanı bilgileri az önce oluşturduğunuz bilgilerle güncelleyin ve kaydedip kapatın:
1 2 3 4 5 6 7 8 9 |
/ Database config $config['db_host'] = 'localhost'; $config['db_user'] = 'observiumadmin'; $config['db_pass'] = 'observiumpassword'; $config['db_name'] = 'observium'; |
Komut satırından öntanımlı MySQL şemasını kaydedin:
1 |
./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:
1 2 3 |
mkdir rrd chown www-data:www-data rrd |
Log kayıtlarını tutmak için dizin oluşturun ve izin sağlayın:
1 2 3 |
mkdir -p /var/log/observium chown apache:apache /var/log/observium |
Sıra geldi Apache ayarlarını düzenlemeye. Ubuntu 16.04 için Apache dizini şöyledir: /etc/apache2/sites-available/000-default.conf
Bu dizindeki 000-default.conf dosyasını açarak şu şekilde güncelleyin:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
<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:
1 |
phpenmod mcrypt |
Sonrasında PHP’yi etkinleştirin:
1 2 3 4 5 6 7 |
a2dismod mpm_event a2enmod mpm_prefork a2enmod php7.0 a2enmod rewrite |
Ayarların etkin olabilmesi için Apache’yi yeniden başlatın:
1 |
sudo service apache2 restart |
Observium’u Kullanmak
Buraya kadar olan adımları başarılı bir şekilde tamamladığınız takdirde Observium’u kullanmaya hazırsınız demektir. Şimdi Observium’u kullanmak için gerekli olan kullanıcı bilgisini oluşturun:
1 |
./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:
1 |
./add_device.php <hostname> <community> v2c |
Eklediğiniz cihazın üzerindeki bilgileri keşfetmek ve Observium yazılımına aktarmak için şu komutları çalıştırın:
1 2 3 |
./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:
1 |
/etc/cron.d/observium |
Oluşturduğunuz observium dosyasının içine şunları kopyalayın:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# 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.