CentOS 7 Üzerinde Zabbix 3.0 ve LEMP Kurulumu nasıl yapılır ?

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.

[root@aozturk~]# yum check-update

Şimdi sistemimizi tamamen güncelleştirebiliriz.

 [root@aozturk ~]#  yum -y update

Siztemizi güncelleştirdik. Şimdi Apache Web sunucumuzu kuruyoruz.

 [root@aozturk ~]# 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

 [root@aozturk ~]# 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.

[root@aozturk ~]# 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.

 [root@aozturk ~]# 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.

[root@aozturk ~]# 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

[root@aozturk ~]#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;

 [root@aozturk ~]# yum install mariadb-server mariadb -y

Tekrar servis ile ilgili işlemlerimizi yapıyoruz,

 [root@aozturk ~]# systemctl start mariadb

 [root@aozturk ~]# systemctl enable mariadb.service

DB kurulumu tamamladık ve şimdi sıra geldi DB ayarlarını yapmaya;

 [root@aozturk ~]# 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”

[root@Aozturk ~]# 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

 [root@Aozturk ~]# yum install php php-mysql -y

 [root@Aozturk ~]# 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.

 [root@Aozturk ~]# 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.

 [root@Aozturk ~]# 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.

[root@zabbix ~]# cd /usr/share/doc/zabbix-server-mysql-3.0.5

[root@zabbix zabbix-server-mysql-3.0.5]# gunzip create.sql.gz

[root@zabbix zabbix-server-mysql-3.0.5]# mysql -u root -p zabbixdb < create.sql

Enter password:

[root@zabbix 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.

Bir Cevap Yazın

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