Zabbix, BT altyapınızda bulunan çeşitli ağ hizmetleri, sunucular, uygulamalar ve diğer ağ donanımlarını izlemek, durumunu takip etmek için tasarlanmış açık kaynak bir yazılımdır. Arayüzü PHP dili kullanılarak yazılmış ve veritabanı olarak MySQL, MariaDB, PostgreSQL, Oracle, SQLite kullanır.
Bu yazıdaki Zabbix Server kurulumunu; CentOS Stream 8 işletim sisteminde, MariaDB 10.7.3 kullanarak size anlatacağım. Ayrıca Vim ve Rsync’e ihtiyacınız olacak. Firewall ve SELinux pasif halde Root kullanıcısı ile tüm kurulumu yapacağım.
1 -Firewall & SELinux Durumunun Kontrolü
Firewall durumunun kontrolü sonrasında, aradığımız cevap Active: inactive (dead)
$ systemctl status firewalld
Active: inactive (dead)
Eğer Firewall aktif durumda ise kapatmak için aşağıdaki komutu yazın ve tekrardan kontrolünü sağlayın. Sistem başlangıcından kaldırın.
$ systemctl stop firewalld
$ systemctl disable firewalld
SELinux durumunun kontrolü sonrasında, aradığımız cevap SELinux status: disabled
$ sestatus
SELinux status: disabled
Eğer SELinux aktif durumda ise kapatmak için aşağıdaki komutu yazın ve
$ vi /etc/selinux/config
açılan config dosyasında SELINUX=enforcing yazılı satırı bulun ve aşağıdaki gibi değiştirin.
SELINUX=disabled
Düzenlemeyi bitirdikten sonra makineyi yeniden başlatın ve tekrardan SELinux durumu kontrolünü sağlayın;
$ reboot
2 – Database dizininin yerini değiştirmek için ön hazırlık (Opsiyonel)
Dizin oluşturuyoruz.
$ mkdir -p DataB/Zabbix_DB
3 – MariaDB 10.7.3 kurulumu
MariaDB yum reposu erişimi için, /etc/yum.repos.d/ dizinin altına MariaDB.repo dökümanını oluşturun
$ vi /etc/yum.repos.d/MariaDB.repo
ve aşağıdaki satırları bu dökümana ekleyin. En güncel sürüm için https://mariadb.org/ adresini kontrol edin.
# MariaDB 10.7 RedHat repository list - created UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = https://ftp.bme.hu/pub/mirrors/mariadb/yum/10.7/rhel8-amd64
module_hotfixes=1
gpgkey=https://ftp.bme.hu/pub/mirrors/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
MariaDB 10.7.3’ü makineye indiriyor ve servisi başlatıyoruz.
$ dnf install MariaDB-server MariaDB-client
$ systemctl start mariadb
MariaDB durumunun kontrolünü sağlıyoruz. Aradığımız cevap Active: active (running)
$ systemctl status mariadb
MariaDB kurulumunu yapıyoruz. Kurulum sırasında sizden bi’kaç onay isteyecek kendi kurulumunuza göre gerekli seçimleri yapın. Benim bu kurulum sırasında vermiş olduğum cevaplar aşağıda olduğu gibidir.
$ mariadb-secure-installation
Switch to unix_socket authentication [Y/n] Y
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] n
MariaDB’yi sistem başlangıcına ekliyoruz.
$ systemctl enable mariadb
MariaDB’de dizin kontrolünü sağlıyoruz. Varsayılan olarak gelen dizin /var/lib/mysql/
$ mysql -u root -p
$ select @@datadir;
+------------------------+
| @@datadir |
+------------------------+
| /var/lib/mysql/ |
+------------------------+
1 row in set (0.000 sec)
$ quit;
4 – MariaDB varsayılan olarak gelen dizinini değiştirmek (Opsiyonel)
MariaDB’yi durduruyoruz ve kontrolünü sağlıyoruz. Aradığımız cevap Active: inactive (dead)
$ systemctl stop mariadb
$ systemctl status mariadb
Active: inactive (dead)
Varsayılan dizindeki her şeyi 2. adımda oluşturduğumuz dizine aktarıyoruz.
$ rsync -av /var/lib/mysql /DataB/Zabbix_DB
Eğer makinenizde Rsync bulunmuyorsa aşağıdaki komutla kurulumunu yapabilirsiniz.
$ dnf install rsync
MariaDB’nin varsayılan dizini yedekliyoruz.
$ mv /var/lib/mysql /var/lib/mysql.bak
Config dosyasını yeni dizinimizi belirtmek için düzenliyoruz.
$ vi /etc/my.cnf
ve aşağıdaki satırları bu dökümana ekleyin, [client-server] kısmını pasif hale getirin.
[mysqld]
datadir=/DataB/Zabbix_DB/mysql
socket=/DataB/Zabbix_DB/mysql/mysql.sock
[client]
port=3306
socket=/DataB/Zabbix_DB/mysql/mysql.sock
#[client-server]
MariaDB’yi çalıştırın ve durumunu kontrol edin. Aradığımız cevap Active: active (running)
$ systemctl start mariadb
$ systemctl status mariadb
Active: active (running)
MariaDB’nin yeni dizininin /DataB/Zabbix_DB/ olduğunun kontrolünü sağlıyoruz.
$ mysql -u root -p
$ select @@datadir;
+-------------------------+
| @@datadir |
+-------------------------+
| /DataB/Zabbix_DB/mysql/ |
+-------------------------+
1 row in set (0.000 sec)
$ quit;
5 – Zabbix kurulumu
Zabbix’in sitesinden her zaman kontrolünü sağlayarak en doğru sürümü indiriniz. Kuruluma geçiyoruz sırasıyla aşağıdaki komutları girin.
$ rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
$ dnf clean all
$ dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
MariaDB’ye giriş yapıyoruz ve veritabanımızı, veritabanı kullanıcımızı ve database izinlerimizi düzenliyoruz. Kullanıcı adı ve veritabanı ismini ben zabbix olarak, kullanıcı şiresini de password olarak belirttim. Son satırda ise veritabanının tüm izinlerini kullanıcıya atadım. MariaDB’den çıkış yapmayın bi!sonraki adımı takip edin.
$ mysql -uroot -p
$ create database zabbix character set utf8mb4 collate utf8mb4_bin;
$ create user zabbix@localhost identified by 'password';
$ grant all privileges on zabbix.* to zabbix@localhost;
Oluşturduğumuz veritabanının kontrolünü sağlıyoruz.
$ show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| zabbix |
+--------------------+
$ quit;
Zabbix’in sisteme yüklediği sıkıştırılmış veritabanı şeması dökümanını, oluşturduğumuz veritabanının içine çıkartalım. uzabbix database kullanıcınız, diğer zabbix ise veritabanı ismi.
$ zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
password
Zabbix server konfigürasyon dosyasına db şifresini girelim. zabbix_server.conf dökümanını giriş yapın
$ vi /etc/zabbix/zabbix_server.conf
ve #DBUser=, #DBPassword=, #DBSocket=’i, döküman içerisinde bulup aşağıdaki gibi düzenleyin. # işaretlerini kaldırarak aktif hale getirin!
DBName=zabbix
ve
DBUser=zabbix
ve
DBPassword=password
ve
DBSocket=/DataB/Zabbix_DB/mysql/mysql.sock
Zabbix için ihtiyacımız olan servisleri tekrardan başlatıp, sistem açılışına ekleyin.
$ systemctl restart zabbix-server zabbix-agent httpd php-fpm
$ systemctl enable zabbix-server zabbix-agent httpd php-fpm
Zabbix kurulumunu sistemimizde tamamladık. Kurulum yaptığımız makinenin ip adresini bulup
$ ifconfig
http://<<zabbix_server_ip>>/zabbix adresine gidelim ve Kuruluma Zabbix arayüzde devam edelim.
6 – Zabbix GUI kurulumu
İlk 2 adım geçtikten sonra, arayüze database bilgilerini giriyoruz. Hata almanız halinde localhost yerine 127.0.0.1 (veritabanı başka bir makinede kurulu ise Database Host kısmına o makinenin ip’sini girin) yazarak bi sonraki adıma geçmeyi deneyebilirsiniz. Database port kısmını 0 olarak bırakabilirsiniz. Database name, User, Password kısmını MariaDB’de oluşturduğumuz bilgiler dahilinde doldurun.
Zabbix Server detaylarını belirtelim. Name kısmı Zabbix Server’ın adını belirtebilirsiniz. Ben diğer detayları değiştirmeden bi’sonra ki adıma geçiyorum.
Bu adımda arayüz için zaman dilimini ve temasını seçiyoruz.
Giriş yaptığımız bilgilerin özetini geçtikten sonra aşağıdaki ekrana geldiğinizde konfigürasyon dosyasının yedeğini alabilirsiniz. Finish kısmına tıkladığınızda,
Tebrikler kurulumumuz tamamlandı.
Varsayılan olarak gelen kullanıcı adı: Admin şifre: zabbix
Zabbix Server çalışmaya hazır.