Zabbix

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

Zabbix İle Sunucu Performansının İzlenmesi

Mustafa Coşar1, İsmail Arık2 Murat Doğan3


1
Hitit Üniversitesi Bilgi İşlem Daire Başkanlığı, Çorum
2
Hitit Üniversitesi Bilgi İşlem Daire Başkanlığı, Çorum
3
Hitit Üniversitesi Bilgi İşlem Daire Başkanlığı, Çorum

mustafacosar@hitit.edu.tr, ismailarik@hitit.edu.tr, muratdogan@hitit.edu.tr

Özet: Bilgi işlem sistemlerinde sunucuların anlık performans bilgileri hayati önem taşımaktadır. Bunlar arasında
Bellek (RAM), İşlemci (CPU), Harddisk (HDD) ve Ağ (Network) kartlarının çalışan durumlarını analiz ve
raporlama yapabilmek kurum ve bilgi işlem çalışanları için önem arz etmektedir. Günümüzde bu durumu
otomatize eden bazı uygulamalar bulunmaktadır. Bunlar arasında ücretli paket yazılımlar olduğu gibi açık
kaynak kodlu yazılımlar da bulunmaktadır.

Açık kaynak kodlu yazılımlar arasında olan Zabbix, yukarıda saydığımız görevleri başarılı bir şekilde yapabilen
yazılımlardan biridir. Bu yazılım fiziksel ve sanal olarak çalışan sunucular üzerine kurulabilen, fiziksel ve sanal
sunucuların yanı sıra network cihazlarının CPU, memory ve port durumlarını da monitör edebilen bir yazılımdır.
Bu yazılımla ayrıca veri tabanları da monitör edilebilir. Zabbix yazılımı Apache, Mysql ve Php ile beraber
çalışır. Snmp protokolü kullanan Zabbix yazılımı TCP 10050 portunu kullanır.

GNU General Public License (GPL) ile lisanslanan Zabbix yazılımı iki ana modülden oluşmaktadır. Sunucu
tarafına Zabbix Server modülünün, performansın izleneceği client tarafına da Zabbix agent modülünün
kurulması gerekmektedir. Client sunuculara yüklenen agent vasıtasıyla istenen Windows ve Linux
platformundaki tüm sunucuların performans bilgileri monitör edilebilmektedir. İstenildiği şekilde metinsel ve
grafiksel olarak raporlar üretilebilmektedir.

Bu çalışmamızda Hitit Üniversitesi sunucularının Zabbix yazılımı ile performans bilgileri alınmaya ve
raporlanmaya çalışılmıştır.

Anahtar Kelimeler: Sunucu, Sunucu performansı, Performans monitör

Abstract: The instant performance information server is vital in data processing systems. These include memory
(RAM), processor (CPU), hard drive (HDD) and network to analyze the status of the card and it is important for
employees reporting able to organizations and information processing workers. Currently, there are some
applications that automate this situation. These include open source software as well as paid software packages
are also available.

Open source software includes the Zabbix is one of the software that can do the above mentioned tasks
successfully. This software can be installed on physical and virtual servers running on the CPU of the physical
and virtual servers as well as network devices, memory and port status is a software that can also monitor. This
software may also monitor the data bases. Zabbix software, Apache, MySQL and PHP works with. Zabbix
software using SNMP protocol uses TCP port 10050.

GNU General Public License (GPL) licensed Zabbix software consists of two main modules. Zabbix Server
module on the server side, the client side needs to be established to monitor the performance of the Zabbix agent
module. Requested by the server agent can be installed on client performance monitor data of all servers in
Windows and Linux platforms. As required textual and graphical reports may be generated.

In this study, the University of the Hittite with the Zabbix server to retrieve performance information and
software have been tried to be reported

Keywords: Server, Server Performance, Performance monitoring

1. Giriş cihazlarıdır. Sunucularda oluşabilecek anlık


kesintiler ya da performans düşüklüğü üzerlerinde
Sunucu sistemleri bilgi işlem merkezinin omurga ve kurulu olan uygulamaların sorunlarla
firewall sistemlerinden sonra gelen en önemli karşılaşmasına ya da uygulamaların çalışmamasına
sebebiyet vermektedir. Hal böyle olunca bilgi işlem  Ağ cihazlarını otomatik keşif
merkezinde aşırı bir telefon trafiği arkasından  LDAP entegrasyonu ile kullanıcılara
izlemektedir. Sıklıkla karşılaşılan böyle bir olay izinler ve yetkiler tanımlanabilme [1].
sistem yöneticilerini zora sokmaktadır.
3. Zabbix Server Modülü Kurulum
Sunucularda problemin oluştuğu anda sistem Adımları
yöneticisinin haberi olduğu durumda oluşan soruna
daha kısa sürede müdahale edileceğinden sorun Centos Sunucu üzerine kurulumu yapılan Zabbix
daha kısa sürede çözüme kavuşacaktır. Ayrıca Server modülünün kurulumu için aşağıdaki adımlar
ihtiyaç duyulan CPU ve RAM ihtiyacı için takip edilmiştir. İlk başta gerekli olan servisler ve
yapılacak analiz ve optimizasyon sonucunda paketler sisteme yüklenmiş, ardından gerekli
sunucuların daha performanslı çalışması konfigürasyonlar yapılmıştır.
sağlanabilir.
a. Zabbix için gerekli ön paketlerinin
2. Zabbix Yazılımının Genel Özellikleri kurulması

Bu yazılımın bilgi işlem faaliyetleri için önemli #yum clean all


sayılabilecek bazı özellikleri şu şekilde verilebilir #yum repolist
 Gerçek zamanlı grafik #yum install httpd httpd-devel
 Kolay yapılandırma #yum install mysql mysql-server
 Host olarak islenen cihazları ekleme #yum install php php-cli php-common php-devel
 Veritabanında tarihsel bilgiler saklama php-pear php-gd php-mbstring php-mysql php-xml

Şekil 1. Zabbix İçin Gerekli Ön Paketlerin Kurulumu

b. Zabbix Server Kurulumu ve Mysql


Ayarlarının Yapılması CentOS/RHEL 5:
# rpm -Uvh
Kurulum aşamasında yazılım paketleri sisteme http://repo.zabbix.com/zabbix/2.2/rhel/5/x86_64/za
yüklendikten sonra zabbix yazılımının server bbix-release-2.2-1.el5.noarch.rpm
modülünün kurulumuna geçilmelidir. Ardından
MySql veri tabanı oluşturulmalıdır. Bu adımlar ile Gerekli paketler sisteme yüklendikten sonra zabbix
ilgili kurulum kodları aşağıda listelenmiştir. server kurulumu yapılmalıdır.
#yum install zabbix-server-mysql zabbix-web-mysql
CentOS/RHEL 6: zabbix-agent zabbix-java-gateway
# rpm -Uvh
http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/za Zabbix ana kurulumu yapıldıktan sonra veritabanı
bbix-release-2.2-1.el6.noarch.rpm olarak Mysql kurulumu yapılacaktır.
# mysql_secure_installation komutu kullanılarak timezone ayarlarının aşağıdaki gibi yapılandırılması
mysql kurulumu yapılır. gerekmektedir.

Mysql sunucuya bağlandıktan sonra veritabanı PHP paketlerinin kurulumu sonrasında


oluşturularak gerekli yetkilendirme yapılır. “/etc/php.ini” dosyası default olarak aşağıdaki
değerler gelecektir [3],
> Create Database zabbix Character Set Utf8; max_execution_time = 600
>GRANT ALL PRIVILEGES on zabbix.* to
max_input_time = 600
'zabbix'@'localhost' IDENTIFIED BY
'SECRET_PASSWORD'; memory_limit = 256M
> FLUSH PRIVILEGES; post_max_size = 32M
> quit upload_max_filesize = 16M
php_value date.timezone Asia/Istanbul
Veritabanı yetkilendirmesi işleminin ardından ya da
gerekli olan zabbix mysql şemaları sisteme php_value date.timezone Europe/Istanbul
yüklenmelidir.
Bu değerler, default olarak belirlenen kurulum
#mysql -u zabbix -p zabbix < /usr/share/doc/zabbix- değerleridir. İstenirse bu değerler değiştirilebilir.
server-mysql-2.2.6/create/schema.sql Konfigürasyon işlemlerinden sonra servisler
#mysql -u zabbix -p zabbix < /usr/share/doc/zabbix- aşağıdaki komut satırları yardımıyla başlatılmalıdır.
server-mysql-2.2.6/create/images.sql
# mysql -u zabbix -p zabbix < # chkconfig httpd on ; service httpd restart
/usr/share/doc/zabbix-server-mysql- # chkconfig mysqld on ; service mysqld start
2.2.6/create/data.sql [2]. # chkconfig zabbix-server on ; service zabbix-
server start
c. PHP Yapılandırılması
Kurulum adımları tamamlandığında internet
Zabbix kendisi için apache yapılandırma dosyasını tarayıcısında http://sunucuipsi/zabbix/setup.php
oluşturmaktadır. Bu dosya içerisinden timezone adresi yazılarak konfigürasyon ekranı açılır.
ayarı yapılması gerekmektedir. Yazılımın daha önce oluşturulan veritabanı ayarları
“/etc/httpd/conf.d/zabbix.conf” dosyası içiresinde yapılacaktır.

Şekil 2. Zabbix Yapılandırma Gereksinim Ekranı

Zabbix kurulumu için gerekli uygulamalar ve anladığımız gibi gereksinimlerin tümü sağlanmış
sistemde yüklenen uygulamalar Şekil 2’de durumda.
görüldüğü şekilde listeleniyor. Tüm satırlardan
Şekil 3. Zabbix Veritabanı Bağlantı Ekranı

Şekil 3’te görüldüğü şekilde veritabanı bağlantı Default kullanıcı adı : “admin”, şifre ise “zabbix”
bilgilerini girişi yapılarak bağlantıyı test edilebilir. tir.
Kurulum işlemi tamamlandıktan sonra
http://sunucuipadresi/zabbix ile yazılım arayüzüne
ulaşabiliriz.

Şekil 4. Zabbix Server Monitör Ekranı

Server Monitor ekranında Zabbix sunucunun CPU etmek için, bu makinalara Zabbix Agent servisini
yük ve kullanım miktarları görülebilmektedir. kurmalısınız. Zabbix Agent'ı servis olarak
İstenirse bu ekran revize edilerek sunucuya ait kurmazsanız her seferinde Agent'ı elinizle
farklı memory ve ethernet kartı vb. donanımlar başlatmanız gerekecektir.
monitör edilebilir.
a. Windows İşletim Sistemine Zabbix
4. Zabbix Client Modülünün Kurulumu Agent Servisinin Kurulumu
Zabbix Server kurulumu yaptıktan sonra Windows Kurulum için öncelikle ihtiyacınız olan Zabbix
işletim sistemi kurulu olan makinalarınızı takip Agent dosyalarıdır. Agent dosyalarına
http://www.zabbix.com/download.php sayfasında b. Linux İşletim Sistemine Zabbix Agent
yer alan Zabbix “pre-compiled agents” başlığı Servisinin Kurulumu
altında bulunan paketlerden sunucu sistemine
uygun olan agent dosyalarının indirilmesi CentOS/RHEL 6:
gerekmektedir. # rpm -Uvh
http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/za
Sıkıştırılmış dosyayı bilgisayarınıza indirdiğinizde bbix-release-2.2-1.el6.noarch.rpm
Win32 ve Win64 olarak iki klasör olduğunu # yum install zabbix zabbix-agent
göreceksiniz. Servisi kuracağınız işletim sistemi
versiyonuna göre ihtiyacınız olanı kullanabilirsiniz. Ubuntu 12.04 LTS:
# wget
zabbix_agentd.conf dosyasının içeriği aşağıdaki http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main
gibi olmalıdır. /z/zabbix-release/zabbix-release_2.2-
1+precise_all.deb
Server=zabbix_sunucunuzun_adi # dpkg -i zabbix-release_2.2-1+precise_all.deb
Hostname=zabbix_sunucunuzda_kontrol_icin_bu_ # apt-get update
bilgisayara_vereceginiz_ad # apt-get install zabbix-agent
ListenPort=10050
DebugLevel=3 Komutları ile kurulum yapılır.
LogFile=C:\Zabbix\zabbix_agentd.log
“/etc/zabbix/zabbix_agentd.conf “ dosyasında
Server: Zabbix sunucusunun full adı veya IP adresi yapılması gereken değişiklikler,
(zabbix.alanadiniz.com gibi)
Hostname: Zabbix sunucuda bu bilgisayar için Server=[zabbix server ip]
vereceğiniz unique isimdir. Örneğin MailServer Hostname=[ Hostname of client system ]
ListenPort: Zabbix sunucunuzun isteklerini hangi DebugLevel=3
porttan dinleyeceğini seçebilirsiniz. Standard olarak ListenPort=10050
10050 portu kullanılır. LogFile=/var/log/zabbix/zabbix_agentd.log
DebugLevel: Olası sorunları bulmanıza yarayacak
log kayıt düzeyidir. Varsayılan düzey 3 olarak Konfigurasyon dosyasının içeriği tamamlandıktan
gelmektedir. Düzey 3 olduğunda hataları kaydeder. sonra agent servisinin çalıştırılması gerekmektedir.
Tüm süreçleri log’layarak sorun çözmek için bu
düzeyi 4 yapabilirsiniz. # /etc/init.d/zabbix-agent start
LogFile: Logları nereye kaydedeceğini belirten # /etc/init.d/zabbix-agent stop
satırdır. # chkconfig zabbix-agent on

Yönetici olarak Command satırı çalıştırıldıktan 5. Zabbix Yazılımının Hitit Üniversitesinde


sonra C:\Zabbix klasörü içerisine girilerek Kullanımı

C:\cd zabbix> zabbix_agentd.exe --install ( install Bilgi İşlem bünyesinde bulunan fiziksel ve sanal
yap) sunucular şekil 5..10 arasında verilen
C:\cd zabbix> zabbix_agentd.exe --install -s görüntülerinde de yer alan Zabbix yazılımı
(otomatik starta ekle) ekranları yardımıyla izlenmeye başlanarak
sunucuların anlık performans bilgileri ve
Yukarıdaki komutları uygulayarak zabbix agentin performans grafikleri monitör edilmektedir.
yüklenmesini ve servis olarak çalışmasını sağlamış
oluruz [4].
Şekil 5. Zabbix Dashboard Ekranı

Şekil 6. Zabbix CPU Yük Grafiği

Windows işletim sistemi kullanılan web sunucudan alınan CPU yük grafiği Şekil.7’de görülmektedir.

Şekil 7. Zabbix Ethernet Kartı Kullanım Grafiği


Şekil 8’ de sunucuların ethernet kartı üzerinden trafiği gözlenebilmektedir.
yapılan iki yönlü (download ve upload) veri iletim

Şekil 8. Network Cihazı Grafiği

Network cihazları sisteme eklenebildiği gibi her görüldüğü gibi izlenebilmektedir.


portun internet kullanım miktarı Şekil 8’da

Şekil 9. Sunuculardan Alınan Son Veriler

Sunucu üzerinden alınan dataların ayrıntılarına miktarının az olması sebebi ile sunucu üzerinde
bakıldığında CPU, Memory vb. kullanım memory miktarı düşürülmüştür.
bilgilerine ulaşılmaktadır. Memory kullanım
Şekil.10. Zabbix Uyarı Ekranı

Sunucularda oluşan tüm uyarılar Triggers


ekranından izlenmektedir. Uyarı seviyeleri ve Feature Nagios Zenoss Zabbix
oluşan problemler bu ekran üzerinden izlenerek Basic features YES YES YES
duruma göre gerekli müdahale işlemi (CPU, disk,
yapılmaktadır. memory)
6. Yazılım Karşılaştırmaları Auto discovery Partial YES Partial
License Free Free Free
2009 yılı içinde thegeekstuff sitesinde yapılan Inventory Support No Free Free
oylama sonucunda en fazla tercih edilen Sistem
izleme yazılımları ve tercih oranları aşağıdaki Plug in support Free Free Free
gibidir. Web Dashboard Good Excellent Excellent
Windows Partial YES YES
Monitering
SNMP Trapping Partial YES YES
Syslog Monitering Partial YES YES
Trend Analysis Partial YES Partial
Google Maps NO NO YES
View
Graphical Reports NO YES YES
User friendly YES Partial Partial
configuration
Şekil.11.2009 Yılı Sistem monitör yazılımları Performance and Medium High Low
oylama oranları [5]. reliability
Plug-in API Partial YES YES
support
Security NO NO NO
Monitering

Şekil 12: 2013 Yılı Yazılım Karşılaştırması [6].


7. Alternatif Yazılım Önerileri Mumin

Nagios Core Munin, ücretsiz ve açık kaynak bilgisayar sistemi


izleme, ağ izleme ve altyapı izleme yazılımı
Nagios Core, açık kaynaklı, bir ağ ve sistem izleme uygulamasıdır. Munin sunucular, anahtarlar,
yazılımıdır. Bir ağdaki bileşenlerde ortaya çıkan uygulamalar ve hizmetler için izleme ve uyarı
problemleri ön tanımlı kritik seviyelere ulaşmadan hizmetleri sunmaktadır. Munin Perl ile yazılmış bir
önce sistem yöneticilerine iletir ve problemler ile web arayüzü üzerinden erişilebilir. Grafikleri
ilgili çözümler ortaya koyabilir. Nagios Core ticari oluşturmak için RRDtool kullanır.
olarak sunulan Nagios XI uygulamasının da
temelini oluşturan bir uygulamadır. Nagios Core Zenoss
bilişim sistem altyapısında bulunan bütün sistem,
uygulama, servis ve iş akışlarının Zenoss, kurumsal kullanım için üretilmiş açık
işlevselliklerini doğru bir biçimde izlenmesini kaynak kodlu bir sistem bilgisi görüntüleme,
sağlamaktadır. Herhangi bir hata durumunda ilgili raporlama ve yönetim yazılımı. Vmware template
yönetici ve çalısanları uyararak sistemde ortaya olarak indirilip kurulabilir. Otomatik aygıt keşfi,
çıkan problem büyümeden ve son kullanıcı kolay kullanılışlı bir arayüz sunar. Yaptığı işe göre
tarafındaki etkileri ortaya çıkmadan çözüm bulma sistem kaynaklarını biraz fazla tüketmektedir.
ve iyileştirme çalışmalarının bir an önce
başlanmasını sağlamaktadır. 8. Sonuç ve Öneriler

Cacti Sunucuların sayısı görevleri ve performansları


düşünüldüğünde bilgi işlem merkezlerinde anlık
Cacti, açık kaynak kodlu, network üzerinde bulunan durum inceleme ve müdahil olma süreci hayati
cihazların bellek, disk, ağ ve sistem yükü gibi önem taşımaktadır. Bu nedenle bu süreci takip
bilgilerini web arabiriminde grafiksel olarak edebilecek personel ve diğer kaynakların harekete
gösteren bir uygulamadır. Network üzerinde bilgiler geçirilmesi oldukça zor ve maliyetli olmaktadır. Bu
toplamak için SNMP ve elde etmiş olduğu durumda akla gelen monitöring yazılımları bu açığı
bilgilerin gösterimi için RRDTool uygulamasını kapatan unsurlar arasındadır. Ayrıca bu yazılımların
kullanmaktadır. Genellikle anahtarlama cihazları ve elde edilmesi, kurulumları ve yönetilmesi
yönlendiriciler üzerindeki network trafiğini izlemek
bakımından da öne çıkan zabbix yazılımının önemi
amacıyla kullanılmaktadır. Uygulamanın arabirimi
bir kez daha vurgulanmaktadır.
PHP ile geliştirilmiştir. Çoklu kullanıcı desteği
sağlamaktadır. Her kullanıcı kendisi için sistemde Zabbix yazılımı ile bilgi işlem sistem odasında
tanımlanmış olan sistemler hakkında bilgilere kullanılan fiziksel ve sanal sunucuların CPU, HDD,
erişebilmektedir [7].
RAM, ethernet kartı ve disk kapasiteleri monitör
edilebilmekte, sunuculardan alınan değerler
İcinga
grafiksel olarak görüntülenebilmekte ve bu değerler
Icing, Nagiostan türemiş açık kaynak kodlu üzerinden raporlama ve analiz yapma olanağı
network monitoring bir uygulamadır. Arayüz olarak sunulmaktadır.
daha modern bir arayüze sahiptir. Veritabanı olarak
Bu analiz ve raporlar yardımıyla doğru zamanda ve
Mysql ve PostgreSQL kullanılabilmektedir.
doğru bileşene acil müdahale ve bakım onarım
Zabbix Icinga süreci hızlanmaktadır.
Hazır denetimler içerir. Denetim eklemek betik Kurulumu ve yapılandırması kolay olan Zabbix
Gelişmiş grafik çizme yazmayı gerektirir.
programının GPL ile lisanslanması sayesinde
özelliği vardır. Grafik çizmek için ek
Web arayüzü uygulamaya ihtiyaç kurumlara herhangi ek bir maliyeti getirmediğinden
özelleştirilebilir. duyar. ücretli paket yazılımlara nispeten karar ve destek
Kullanıcılara Salt okunur yapıda bir anlamında ikna edici bir özelliğe sahiptir. Ayrıca
yetkilendirme arayüzü vardır. yazılım tarafından üretilen anlık uyarı mesajlarının
yapabilir. Yetkilendirme özelliği mail adresine yönlendirilmesi sayesinde program
Autodiscovery özelliği yoktur. başında olunmasa bile kontrol sağlanmış
vardır. Autodiscovery özelliği olmaktadır. Özel konfigürasyonlar yardımıyla farklı
yoktur. izleme ve raporlama seçenekleri de
yapılandırılabilir.
Şekil 13: Zabbix ile Icinga Arasındaki Farklar
Kaynaklar [5] Thegeekstuff web sayfası:
http://www.thegeekstuff.com/2009/09/top-5-best-
[1] Zabbix Dokumantasyon Web Sayfası:
network-monitoring-tools/, Erişim Tarihi : 15
https://www.zabbix.com/documentation/2.4/,
Kasım 2014
Erişim Tarihi: 3 Kasım 2014.
[6] Scmgalaxy web sayfası:
[2] Yardım Merkezi:
http://community.scmgalaxy.com/blog/view/41160/
http://www.yardimmerkezi.net/centos-6-5-uzerine-
a-comparison-of-nagios-zenoss-and-zabbix – 2013,
zabbix-kurulumu/, Erişim Tarihi:12 Kasım 2014.
Erişim Tarihi 20 Kasım 2014
[3] Unixmen: http://www.unixmen.com/install-
[7] Bilgi Güvenliği Web Sayfası:
zabbix-monitoring-tool-centos-6-5/, Erişim Tarihi:8
https://www.bilgiguvenligi.gov.tr/ag-guvenligi/ag-
Kasım 2014
izleme-yazilimlari.html, Erişim Tarihi: 22 Kasım
[4] Tech.Tirgil Web Sayfası: 2014
http://tech.tirgil.com/2012/10/windows-isletim-
sistemine-zabbix-agent-servisinin-kurulmasi.html,
Erişim Tarihi 15 Kasım 2014

You might also like