Bu yazımızda Zabbix sunucusunu HA Cluster olarak kuracağız. Yapımız 6 adet sunucudan oluşacak 3 tanesi Database Cluster diğer 3 tanesi Zabbix Cluster için kullanılacak. Zabbix için 1 adet Frontend 2 adet Zabbix Server kuracağız. Database sunucusu olarak bir önceki yazımızda hazırladığımız DB cluster yapısını kullanacağız. İlgili yazıya Buradan ulaşabilirsiniz.
ZabbixFend | FrontEnd sunucusu | 172.15.1.20 |
ZabbixNode01 | Zabbix Server | 172.15.1.21 |
ZabbixNode02 | Zabbix Server | 172.15.1.22 |
Önce kurulumumuza Zabbix server ile başlıyoruz.
sudo su -
wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb
dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb
apt update
Bir sonraki adımda sadece ilgili adımları kurmamız yeterli sadece server olarak yapılandıracağız.
apt install zabbix-server-pgsql zabbix-sql-scripts zabbix-agent
Kurulumlar tamamlandıktan sonra psqlnode01 veya psqlnode02 makinelerinde sırası ile aşağıdaki işlemleri yapalım.
sudo -i -u postgres
psql -h 172.15.1.10 -p 50001
CREATE DATABASE zabbix;
CREATE USER zabbix WITH ENCRYPTED PASSWORD 'zabbix'
SCP ile kurulum yaptığımız zabbix serverdan psqlnode01 e dosyayı kopyalıyoruz.
scp /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz bkarakutuk@172.15.1.11:/home/bkarakutuk
Ardından sql dosyasını aşağıdaki komut ile tekrar psqlnode01 üzerinde çalıştırarak import ediyoruz.
zcat /home/bkarakutuk/server.sql.gz | sudo -u postgres psql -h 172.15.1.10 -p 50001 zabbix
Zabbix Serverımızı kurduk, sonrasında sql dosyamızı import ettik ve şimdi sıra geldi zabbix serverımızın config dosyasını düzenlemeye.
sudo vi /etc/zabbix/zabbix_server.conf
Dosya içerisinde aşağıaki alanları bulup düzenliyoruz.
DBHost=172.15.1.10
DBName=zabbix
DBUser=postgres
DBPassword=Ab123456
DBPort=50001
Ve artık zabbix serverımızı enable edip servisi start ediyoruz.
sudo systemctl enable zabbix-server
sudo systemctl start zabbix-server
Bu işlemleri zabbixNode01 ve zabbixNode02 için iki sunucuda da yapıyoruz. Node 2 tarafında işlem yaparken sql adımlarını atlıyoruz. node 2 zabbix-Server servisi aktif olmaz ise panik yapmayın, HA aktif etmediğimiz için. Yazıyı takip etmeye devam edin.
Zabbix Frontend kurulumu
Zabbix node kurulumlarını tamamladık, şimdi sıra Frontend kısmının kurulumuna geldi. Aşağıdaki şekilde kurulumu yapalım.
sudo su -
wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb
dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb
apt update
apt install zabbix-frontend-php php8.1-pgsql zabbix-apache-conf zabbix-agent
Kurulum tamamalndıktan sonra apache servisini enable edelim.
apt systemctl enable apache2
apt systemctl start apache2
artık Web tarayıcısında http://172.15.1.20/zabbix/setup.php satırına giderek kurulum adımlarına başlıyoruz.
Bu adımda database bağlantı ayarlarını aşağıdaki gibi yapıyoruz, DB host olarak bir önceli postgresql cluster yapımızdaki HAProxy ipsini ve 50001 olarak belirlediğimiz database portunu yaıyoruz.
Bu adımla beraber kurulumu tamamlıyor ve zabbix dashboard ekranımıza ulaşıyoruz fakat burada, hata mesajları dikkatimizi çekiyor.
Bu hataları düzeltmek için açaşığdakı komutu çalıştırıp bir düzenleme yapmamız gerekiyor.
vi /etc/zabbix/web/zabbix.conf.php
Açılan dosyada ilgili ayarları düzenleyebilir veya config dosyamıza ekleyebiliriz.
$ZBX_SERVER = '172.15.1.21';
$ZBX_SERVER_PORT = '1051';
Apache servislerini restart ediyoruz.
systemctl restart apache2
Ve sorunu düzeltmiş bulunuyoruz şimdi yapacağımız şey artık HA Clusterımızı yapılandırmak.
HA Cluster Yapılandırması
zabbixNode01 isimli sunucuma bağlanıyorum ve Config dosyamı açıyorum.
sudo vi /etc/zabbix/zabbix_server.conf
Aşağıdaki alanları düzenliyoruz.
HANodeName= zabbixnode01
NodeAddress=172.15.1.21:10051
zabbixNode02 isimli sunucuma bağlanıyorum ve Config dosyamı açıyorum.
sudo vi /etc/zabbix/zabbix_server.conf
Aşağıdaki alanları düzenliyoruz.
HANodeName= zabbixnode02
NodeAddress=172.15.1.22:10051
Sonrasında iki sunucuda da aşağıdaki komut ile zabbix servislerini restart ediyoruz.
sudo systemctl restart zabbix-server
Ve Dashboard üzerinden System Information kısmından HA Clusterımızın Enable ve nodların birinin aktif diğerinin
Ve bu işlemi tamamladıktan sonra yukarıda yaptığımız bir adımı geri çekiyoruz.
vi /etc/zabbix/web/zabbix.conf.php
daha önce düzenlediğimiz aşağıdaki alanların başına // ekleyelim.
//$ZBX_SERVER = '172.15.1.21';
//$ZBX_SERVER_PORT = '1051';
ve Apache servisimizi restart edelim.
systemctl restart apache2
Artık DB ve Zabbix sunucularımı cluster yapısında çalışmaktadır, test için sunucuları restart edip testlerimizi tamamlayabilriz. 1 nolu Nodu restart ediyorum ve Dashboard ekranında 2 nolu nodumun görevi üzerine aldığını görüyorum, ve böylece yazımızın sonuna geldik.