Zabbix Server Kurulumu
Tags: zabbix, devops, monitoring, mysql
Published: 2023-07-25 13:20:31

Bu yazıdaki amacım hem Türkçe kaynak hazırlamak, hemde Zabbix Web sayfasından yaptığım kurulumda yaşadığım sorunların yaşanmaması için daha açık bir kurulum dökümanı hazırlamaktır.

Öncelikle kurulumu Ubuntu Server 20.04 üzerinden yapacağım. Normalde Ubuntu Server 22.04'te yapmayı planlamıştım fakat Zabbix'in kendi sayfasındaki dökümanda kurulumda eksik paketler çıkmaktadır.Ayrıca dökümanda tüm servis ve uygulamaların kurulumları yazmamaktadır.Bu yazıya bunları da ekleyeceğim.

Öncelikle Ubuntu Server kurulumunu yaparak temel ayarlarını (IP, Hostname, Depo Tanımları) tamamlıyoruz.

Ardından sunucumuzu en güncel paketler ile güncelliyoruz.

```
apt update && apt upgrade -y
```
Sunucuyu güncelledikten sonra apache web server paketini kuruyoruz.

```
apt install apache2 -y
```
Zabbix paketlerinin kurulumu için zabbix repo tanımlarını sunucumuza ekliyoruz.Bu aşamada ortamınızda güvenlik ile ilgili bir tedbir bulunuyorsa sertifikayı görmezden gelebilmek için `wget` komuta `--no-check-certificate` parametresini ekleyebilirsiniz.

```
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu20.04_all.deb
dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb
apt update
```

Zabbix paketlerini kuruyoruz.

```
apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
```

Zabbix arka verilerini saklayabilmek için bir veritabanına ihtiyaç duyar. Kendi web sayfasında PostgreSQL veya MySql seçenekleri ile gelmektedir.Biz kurulumumuza mysql ile devam edeceğiz. MySql veritabanı paketini kuruyoruz.

```
apt install mysql-server
```

Veritabanı sunucusuna bağlanarak aşağıdaki komutları sırasıyla çalıştırıyoruz.İlk komutu çalıştırdığımzda bizden parola oluşturmamız beklenilecek. İlerleyen aşamalarda parola ile işlem yapacağımız için unutmayacağınız bir parola vermenizi öneriyorum.

```
# mysql -uroot -p
password
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
```
Bu aşamada Zabbix veritabanına ilk şemayı ve verileri aktaracak komutu çalıştırıyoruz. Komutu çalıştırdığınızda yeni oluşturduğunuz parolayı girmeniz beklenilecektir.

```
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
```
Veritabanını oluşturduktan sonra `log_bin_trust_function_creators`parametresini kapalı konuma getiriyoruz. Sırasıyla aşağıdaki komutları çalıştırıyoruz.

```
# mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
```
Zabbix konfigurasyon dosyasında(`/etc/zabbix/zabbix_server.conf`) MySql şifresini giriyoruz.

```
DBPassword=password
```

Son olarak servisleri yeniden başlatıp, sunucunun yeniden başlaması durumunda servislerin otomatik olarak çalışabilmesi için servisleri enable ediyoruz.

```
 systemctl restart zabbix-server zabbix-agent apache2
 systemctl enable zabbix-server zabbix-agent apache2
```

Tüm adımları tamamladıktan sonra bir web browser açarak ;

```
 SUNUCU_IP/zabbix/index.php 
```
adresine giriş yaptığımız zaman Zabbix arayüzü ile karşılaşmamız gerekiyor. Bu adımda ekrandaki formları doğru bilgiler ile doldurarak ilerleyip Zabbix kurulumunu tamamlayabilirsiniz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y8qf790smzgsc0j9gju7.png)