Sistemciler için en öncelikli işlerden biri sistemlerini sürekli takip altında tutmaktır. Bunun için ise ücretli-ücretsiz çeşitli yazılımlar kullanmak durumundayız. Bu dökümanda ise ücretsiz yazılımlardan biri olan Zabbix Monitoring ürününün kurulumunu anlatmaya çalışacağım. Kurulum sırasında yaşadığım sıkıntıları uzun uğraşlar sonucu çözümledim ve yazıda bu kısımları not olarak ekledim. Bu sebeple sadece copy/paste yapmayıp yazının tamamını okursanız sorun yaşamayacağınızı düşünüyorum.
Öncelikle Zabbix 3.0 sürümünün kullanımı için gerekenleri sıralayalım;
Name | Platform | CPU/Memory | Database | Monitored hosts |
Small | CentOS | Virtual Appliance | MySQL InnoDB | 100 |
Medium | CentOS | 2 CPU cores/2GB | MySQL InnoDB | 500 |
Large | RedHat Enterprise Linux | 4 CPU cores/8GB | RAID10 MySQL InnoDB or PostgreSQL | >1000 |
Very large | RedHat Enterprise Linux | 8 CPU cores/16GB | Fast RAID10 MySQL InnoDB or PostgreSQL | >10000 |
Sunucumuzu oluşturduktan sonra öncelikle CentOS 7 kurulumumuzu yapıyoruz.
Centos kurulumu tamamlandıktan sonra Lemp kurulumuna başlıyoruz.
Lemp kurulumu için aşağıdaki kodları kullanabilirsiniz.
Önce repomuzu update ediyoruz. Sistemin güncelleme gereksinimlerini de bu şekilde görmüş olacağız.
[[email protected]~]# yum check-update
Şimdi sistemimizi tamamen güncelleştirebiliriz.
[[email protected] ~]# yum -y update
Siztemizi güncelleştirdik. Şimdi Apache Web sunucumuzu kuruyoruz.
[[email protected] ~]# yum install httpd -y
NOT : komutların sonunda bulunan “-y” ifadesi otomatik olarak Yes/Evet demek için kullanıyoruz.
Apache sunucusu kurulduktan sonra servisi çalıştırmamız gerekiyor. Bunun için; systemctl komutunu kullanıyoruz. Centos 7 öncesinde service komutu kullanılırken artık bu işlemler için systemctl komutu kullanılmaktadır
[[email protected] ~]# systemctl start httpd.service
Servisimizin sorunsuz olarak çalışmış olması lazım. Şimdi servisin sistemi yeniden başlatma sonucunda otomatik olarak çalışması için aşağıdaki komutu girelim.
[[email protected] ~]# systemctl enable httpd.service
Servisimizi çalıştırdık fakat henüz web arayüzüne ulaşamayacağız. Sistemimizde firewall var ve gerekli izinleri vermezsek firewall web sunucumuz ulaşmamızı engelleyecektir. Dolayısı ile firewall gerekli kuralı yazmamız lazım.
[[email protected] ~]# firewall-cmd –permanent –add-service http
Kural girmek demek bu kuralın çalışacağı anlamına gelmez, kuralın çalışması için servisin yeniden baaşlatılması gereklidir. Şimdi servisimizi yeniden başlatalım.
[[email protected] ~]# systemctl restart firewalld.service
Şimdi web browser ile kurulum yaptığınız makinenin ip adresini yazarak test sayfanıza ulaşabilirsiniz. ip adresinizi öğrenmek için
[[email protected] ~]#ip a
komutunu kullanabilirsiniz
Bu işlemler sonrası web browser üzerinde aşağıdaki çıktıyı görüyorsanız, işlemlerimiz baaşarılı demektir.
Şimdi Mysql/MariaDB kurulumuna geçebiliriz.
Centos 7 ile beraber Mysql de MariaDB olarak değişmiş durumda
Kurulum için;
[[email protected] ~]# yum install mariadb-server mariadb -y
Tekrar servis ile ilgili işlemlerimizi yapıyoruz,
[[email protected] ~]# systemctl start mariadb
[[email protected] ~]# systemctl enable mariadb.service
DB kurulumu tamamladık ve şimdi sıra geldi DB ayarlarını yapmaya;
[[email protected] ~]# mysql_secure_installation
Şimdi sistem bize DB ayarları için gerekli soruları soracak. Öncelikle gelen “Enter current password for root (enter for none):” buraya direk olarak enter basıp geçin. Ardından size root şifresini oluşturmak isteyip istemediğiniz sorulacak enter basıp şifrenizi ayarlayabilirsiniz. Burada “[Y/n]” gelen ifadede enter direk basıp geçerseniz büyük harfle gelen harf girilmiş kabul edilip onagöre aksiyon alınacaktır. “Y” harfine basıp enter basmanız ile direk olarak enter basıp geçmeniz arasında bir fark yoktur.
Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!
Şifremizi ayarladıktan sonra diğer soruları enter basıp geçebilirsiniz. Ben test amaçlı şifremi “123456” belirledim. Eğer canlı bir sistem kuruyorsanız bu tarz şifrelerinizi mutlaka büyük küçük harflerle ve rakamlarla oluşturunuz.
DB kurulumumuz da burada sona erdi. Şimdi kurulumunuzu test etmek için db giriş yapabilirsiniz. Ekranda göreceğiniz çıktı aşağıdaki gibi olacaktır. “mysql -u root -p”
[[email protected] ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.44-MariaDB MariaDB Server
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
MariaDB [(none)]>exit
Şimdi PHP kurulumunu yapabiliriz
[[email protected] ~]# yum install php php-mysql -y
[[email protected] ~]# yum install php-gd php-pear php-mbstring php-pgsql -y
Burada ilk kurulum komutu php kurulumu ikinci kurulum komutu ise php ile gerek duyacağımız paketlerin kurulumudur.
Kurulumumuzu tamamladıktan sonra yapılan değişiklikler için servisimizi kapatıp tekrar açıyoruz.
[[email protected] ~]# systemctl restart httpd.service
Test için /var/www/html klasörü altında test sayfası oluşturabilirsiniz. Bunun için aşağıdaki komutu girmeniz yeterli olacaktır.
[[email protected] ~]# echo “<?php phpinfo(); ?>” >> /var/www/html/phpinfo.php
Şimdi bu sayfayı web browserınızda açtığınızda size php ile ilgili bilgi sayfası gelecektir.
Web bowserımızda xx.xx.xx.xx/phpinfo.php yazarak test sayfamızı görüntüleyebiliriz.
LAMP kulumunu sorunsuz tamamladığımıza göre artık Zabbix 3.0’ı kurabiliriz.
Zabbix kurulumu için EPEL reposunu kurmamız gerekli, base repoda bazı paketleri bulamaya biliriz. Ayrıca zabbix kendi reposunuda sistemimize kuracağız.
#yum install epel-release -y
#rpm –import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
#rpm -Uv http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
Not: http://repo.zabbix.com/zabbix/ adresinden güncel dosyayı temin edebilirsiniz.
Not: Gelen sorulara y tuşuna basarak onaylayın.
#yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway -y
Kurulumdan sonra öncelikle zaman diliminizi ayarlayın. Time Zone “zaman dilimi” için /etc/httpd/conf.d/zabbix.conf
Bu kısmı yapabilmek için vi editörünü kullanabilirsiniz. Fakat komut satırında yeterince tecrübeniz yok ise WinSCP gibi yardımcı araçlardan faydalanabilirsiniz. https://winscp.net/eng/download.php
Biz vi ile devam edelim.
#vi /etc/httpd/conf.d/zabbix.conf
Bu dosyada asağıdaki gibi php_value date.timezone kısmını Europe/Istanbul olarak duzenleyiniz.
Not: php_value date.timezone Europe/Istanbul satırı genellikle başında # ile geliyor. Eğer bunu yaşarsanız # işaretini silin.
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Europe/Istanbul
</IfModule>
ve servisi yeniden başlatıyoruz.
#systemctl restart httpd
Şimdi Zabbix için gerekli olan database ayarlarını yapacağız.
Zabbix ve geri kalan ayarlar için kurulumu yapıyoruz.
#yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway
Zabbix için Veritabanı kurulumunu yapalım
#mysql -u root -p
giriş yaptıktan sonra mysql komutlarını yazalım veritabanını oluşturalım ve gerekli olan kullanıcıyı veritabanına ekleyelim
Şuan yapacağımız işlem zabbixdb adında bir database oluşturmak ve bu db için kullanıcı oluşturmak. Ben kullanıcı olarakta zabbixsys kullanıcısı oluşturacağım. Şifre olarak da Aozturk1234 belirleyeceğim.
>create database zabbixdb character set utf8;
>grant all privileges on zabbixdb.* to ‘zabbixcrt’@’localhost’ identified by ‘Creen0104’;
>flush privileges;
>exit
Şimdi şemalarımızı bu database içerisine aktarabiliriz. Bunun için aşağıdaki komutu girerek zabbix için açtığımız kullanıcının şifresini girelim.
[[email protected] ~]# cd /usr/share/doc/zabbix-server-mysql-3.0.5
[[email protected] zabbix-server-mysql-3.0.5]# gunzip create.sql.gz
[[email protected] zabbix-server-mysql-3.0.5]# mysql -u root -p zabbixdb < create.sql
Enter password:
[[email protected] zabbix-server-mysql-3.0.5]#
Not: Şema kısmında klasöre erişirken genellikle farklılıklar oluşabiliyor. Bu nedenle ilk komutta adresi yazarken sırası ile giderek TAB tuşunu kullanmanızı öneririm.
db için gerekli sql datalarını yükledik. Şimdi zabbix sunucumuzun db ile bağlantı kurabilmesi için zabbix konfigurasyon dosyasının ayarlarını yapacağız.
#vi /etc/zabbix/zabbix_server.conf
Daha önce belirlemiş olduğumuz ayarlara göre gerekli yerlerdeki ayarların aşağıdaki gibi olması gerekiyor. Sizde bu ayarları bularak aşağıdaki gibi düzenleyiniz. Eğer bu ayarların başında # görürseniz bu karekteri siliniz;
[…]
DBName=zabbixdb
[…]
DBUser=zabbixsys
[…]
DBPassword=Aozturk1234
[…]
Aynı şekilde localimizi de görüntüleyebilmek için locale kurmuş olduğumuz agentı ayarlıyoruz.
#vi /etc/zabbix/zabbix_agentd.conf
Bu dosyada da aşağıdaki gibi değişiklikleri yapınız. Benim local hostname Aozturksys sizde sunucu kurulum sırasında belirlediğiniz hostname bu alana giriniz.
[…]
## Line 85 – Zabbix Sunucu adres ##
Server=127.0.0.1
[…]
## Line 126 – Zabbix Sunucu adres ##
ServerActive=127.0.0.1
[…]
## Line 137 – Zabbix Sunucu Hostname veya IP adresi ##
Hostname=Aozturksys
[…]
Zabbix`in önermiş olduğu aşağıdaki PHP ayarlarını yapıyoruz. Değişikliği yapacağınız dosya /etc/php.ini dosyası.
#vi /etc/php.ini
Değişiklikler:
max_execution_time = 600
max_input_time = 600
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 16M
date.timezone = Europe/Istanbul
Şimdi firewall kurallarımızı elememiz gerekiyor. Bu durumda agent ve server arasındaki iletişim için gereken portları açıyoruz.
#firewall-cmd –permanent –add-port=10050/tcp
#firewall-cmd –permanent –add-port=10051/tcp
#systemctl restart firewalld
Selinux defaultta enable geliyor. Disable etmek için etc/selinux/config içerisinde SELINUX=enforcing kısmını SELINUX=disabled yapın.
Console üzerindeki ayarlarımız burada son buluyor. Son olarak servislerimizin her açılışta düzgünce açılması için gerekli komutları yazacağız. Burada enable reboot sonrası sistemin otomatik olarak başlamasını restart şuan için servisin yeniden başlamasını start şuan çalışmasını sağlamak içindir.
#systemctl start zabbix-server
#systemctl start zabbix-agent
#systemctl restart httpd
#systemctl restart mariadb
#systemctl enable zabbix-server
#systemctl enable zabbix-agent
Zabbix 3.0 kurulumumuzu tamamladık. Artık arayüz ayarlarımızı yapabiliriz.