Database ve Server’ı ayrı sunucularda olan Zabbix Kurulumu

Ecren Nur Esen
TurkNet Technology
4 min readOct 23, 2023

--

Zabbix’in kendi dökümantasyonunda aynı sunucuda Server ve Database kurulumundan çok net bahsedilmiş fakat server ve database sunucusunu ayırdığımız zaman işler karmaşıklaşıyor.. Bu yazıda sunucuları ayırarak nasıl kurulum yapılacağından bahsettim şimdiden iyi okumalar..

Zabbix, ağ ve sunucu sistemlerini izlemek ve yönetmek için kullanılan açık kaynaklı bir ağ izleme ve yönetim yazılımıdır. Kurulum adımlarına geçelim..

Communitiyden gelen geri bildirimler doğrultusunda daha stabil çalıştıkları için için Ubuntu 20.04 işletim sistemli iki sunucu database ve server için kurulur.

Zabbix Server sunucusunda;

Zabbix 6.4.7 , PostgreSql 13 ve Nginx 7.4 versiyonlarını kullanmayo tercih ettik. İlgili komutları aşağıdaki websitesinde bulabilirsiniz fakat ben kendi kullandığım komutları yine de aşağıya ekliyor olacağım.

https://www.zabbix.com/download?zabbix=6.4&os_distribution=ubuntu&os_version=20.04&components=server_frontend_agent&db=pgsql&ws=nginx

# wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu20.04_all.deb
# dpkg -i zabbix-release_6.4-1+ubuntu20.04_all.deb
# apt update
# apt install zabbix-server-pgsql zabbix-frontend-php php7.4-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

Ardından Server’da da postgresql kurulumu yapmamız gerekmektedir.

# wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - 
# echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list
# apt update
# apt install postgresql-13 postgresql-client-13
# apt update

Hemen ardından ilgili konfigürasyonları yapacağımız dosyalara giriyoruz.

ilk dosyamız /etc/zabbix/zabbix_server.conf

Burada DBHost, DBPort →(5432), DBPassword, DBUser değerlerini girmemiz gerekmektedir gireceğiz bu değerleri DB sunucumuzda yeni database oluştururkenki değerlerimiz olacak yani henüz database oluşturulmadan şifresini burada belirlememiz iyi olacaktır.

Ardından /etc/zabbix/nginx.conf dosyasına giriyoruz.

Burada varsa SSL sertifikanızı girebilirsiniz henüz bir DNS kaydınız yoksa server_name in karşısına ip adresinizi girebilirsiniz. DNS kaydınız varsa kaydı girip, portları ayarlayıp dosyadan kaydedip çıkıyoruz.

Ardından;

systemctl restart zabbix-server zabbix-agent nginx php7.4-fpm

Sırada: zabbix serverdaki server.sql.gz dosyamızı database’e atacağız.

/usr/share dizinine gidip aşağıdaki komutu yazıyoruz. Database sunucumuza dosya gerçekten gitmiş mi kontrol edelim..

scp server.sql.gz ecren.esen@db.ipsi:/home/ecren.esen

Ve DB kurulumuna geçebiliriz..

Öncelikle Postgresql kurarak başlıyoruz;

# wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - 
# echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list
#apt update
# apt install postgresql-13 postgresql-client-13
#apt update

durumunu kontrol ediyoruz..

systemctl status postgresql@13-main.service

Artık Database create aşamalarına geçebiliriz.

postgres userına geçiyoruz.

# sudo su - postgres
# psql

ve database oluşturma komutlarını giriyoruz.

# CREATE USER zabbix WITH ENCRYPTED PASSWORD 'yourpassword';     
# CREATE DATABASE zabbix OWNER zabbix;
# GRANT ALL PRIVILEGES ON DATABASE zabbix to zabbix;

buradaki yourpassword /etc/zabbix/zabbix_server.conf dosyasında girdiğimiz password ile aynı olmalıdır.

Aşağıda DB’miz doğru bir şekilde oluşturulmuş mu diye kontrol ediyoruz.

\l

Yukarıdaki gibi olmalıdır.

buradan çıkıp /etc/postgresql/13/main/postgresql.conf dosyasına giriyoruz. Database’inizin ip’si/subnet olacak şekilde görseldeki alana aşağıdaki satırı ekliyoruz.

host    zabbix          zabbix          your.ip/32         md5
systemctl restart postgresql 

Zabbix serverdan Db’ye attığımız dosyayı burda açıyoruz.

zcat server.sql.gz | sudo -u zabbix psql zabbix

Başarılı bir şekilde çalışırsa aşağıdaki gibi bir çıktısı olacak.

Ardından her iki sunucuda da postgresql i restart edelim.

Zabbix Server’da nginx’i restart edelim.

Artık zabbix arayüzüne girmeye hazırız. DB şifremiz ve user’ımızla girebiliriz.

ilerledikten sonra bir login ekranına gelecek ilk girişte kullanacağımız şifre default veriliyor.
name: Admin

Pass: zabbix

bu adımı da tamamladıktan sonra artık Zabbix’i kullanmaya hazırız.

--

--

Ecren Nur Esen
TurkNet Technology

Cloud Infrastructure intern at TurkNet İletişim Hizmetleri | Computer Engineering student at Gazi University