Menü
Zabbix 23 Aralık 2025 person Semih

Zabbix Upgrade 6.0.43 to 7.4

Merhabalar millet, herkese kolay gelsin. Bu yazımda sizlere Zabbix’imizi nasıl upgrade edeceğimizi anlatacağım.

ÖNEMLİ : Postgresql güncellemesi için Ubuntu OS Upgrade yapmanız gerekir. 20.04 ve öncesinde PSQL18 yükleyemezsiniz.

İlk olarak aşağıdaki komutları kullanarak Ubuntu, Zabbix, Postgresql ve PHP sürümlerimizi kontrol edebiliriz.

> lsb_release -a
> zabbix_server --version
> psql --version
> php -v

Bu sayede görüyoruz ki Zabbix sürümümüz 6.0.43’müş ve aynı şekilde diğer sürümleride görebilirsiniz. Bu yazının sonunda Zabbix sürümümüzü 7.0 yaparken, diğer programların sürümlerini de aynı şekilde 7.0’a uyumlu hale getirceğiz.

Bu kısımda bilmeniz gereken ise Zabbix 7.0’ı düzgün bir şekilde çalıştırmak için, Ubuntu sürümünüzün 20.04’den sonrası olması, Psql sürümlerinde ise 13-17 aralığında olması ve son olarak PHP sürümlerinde ise 8.x sonrası olmasıdır. Zabbix 7.0.10 ile birlikte PHP 8.4 desteğide eklenmiştir.

Ben ise bu kurulumu yaparken bunları dikkate alarak OS tarafında zaten 24.04 kurulu olduğunuda düşünerek, psql ve PHP içinde en son sürümlerini kullanarak ilerleyeceğim.

İlk olarak cihazımızdaki yedeklemelerle başlayacağım :

Yedeklemeişlemlerine başlamadan önce aşağıdaki komutlar ile programlarımızı durdurmamız gerekiyor. Durdurmamızın amacı ise yeni dataların db’ye kayıt edilmemesidir.

> systemctl stop zabbix-server zabbix-agent apache2

Aşağıdaki komutlar yardımıyla da gerekli olan backup işlemlerini yapıyoruz. Ne olur ne olmaz her zaman sistemin yedeğini almak önemlidir. Eğer cihazınız bir VM’de ise direk olarak OS bazlı yedeğinide alabilirsiniz.

> sudo -u postgres pg_dump -Fc zabbix > /root/zabbix_pg13.backup
> tar czvf /root/zabbix_conf_backup.tar.gz /etc/zabbix /etc/apache2 /etc/php

Güncel PostgreSql kurulumu : (Eski sürümü hemen silmeyeceğiz.)

> sudo apt install curl ca-certificates -y
> sudo install -d /usr/share/postgresql-common/pgdg
> sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc
> . /etc/os-release
> sudo sh -c "echo 'deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $VERSION_CODENAME-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
> sudo apt update
> sudo apt install postgresql-18 postgresql-client-18 -y

Yükleme tamamlandı.

NOT : Eğer Ubuntu sürümünüz de eski ise işletim sistemi upgrade yapmanız gerekebilir psql18 yükleyebilmek için. Ben bu örneği güncel Ubuntuda yaptığım için sorunsuz ilerledim. 🙂

Cluster Update yaparak PostgreSql’imizin sürümünü yükselteceğiz : İlk olarak tüm psql programlarımızı durduruyoruz.

> sudo systemctl stop postgresql@18-main
> sudo systemctl stop postgresql
> sudo pg_upgradecluster 13 main
> sudo systemctl start postgresql
> sudo -u postgres psql -d zabbix -c "SELECT version();"
> pg_lsclusters


Bu işlemle birlikte Cluster Upgrade işlemimiz çalışmış olacaktır ve sonuçlandığında yukarıdaki gibi bir ekran göreceksiniz. Psql13 duracak yerine Psql18 çalışacaktır.

pg_upgradecluster 13 main komudumuz yardımıyla psql upgrade işlemini yapmış olduk. Bu program resmi ve güvenli bir upgrade aracıdır.

Neler Taşınır diye merak ediyorsanız :

– Tüm veritabanları.
– Tüm tablolar ve index’ler.
– Roller, users’lar.
– Uyumlu olan Extensions’lar. (Bu konuya dikkat etmeniz gerekiyor. Yeni sürümde de aynıları yüklü olmalı.)
– Encoding / Locale bilgileri.

Neler taşınmaz diye merak ediyorsanız :

– Postgresql Core Dışı sonradan yüklenmiş Extensions’lar.
– bu kısımda kontroller önemli. DB tarafında girip extension görmenizi sağlayan /dx komudunu çalıştırın ve neler kurulu onlara bakın derim.

Zabbix Upgrade’e geçmeden önce PHP versiyonumuzu güncellememiz lazım :

> dpkg -l | grep php7.3
> sudo apt purge php7.3\*
> sudo apt autoremove --purge

Bu kısıma kadar olan kodlarımız ile eski sürüm PHP’imizi kaldırdık. Bu kısımdan sonra eski repo olabilir sistemlerinizde onuda silmeniz gerekebilir.

> sudo apt update
> sudo apt install -y software-properties-common
> sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php -y
> sudo apt update
> sudo apt install -y php8.4 php8.4-cli php8.4-common php8.4-pgsql php8.4-gd php8.4-bcmath php8.4-mbstring php8.4-xml php8.4-ldap php8.4-curl php8.4-zip php8.4-opcache

Bu kısımda ise PHP 8.4 kurulumunu yapmış olduk.

> sudo a2dismod php7.3
> sudo a2enmod php8.4
> sudo update-alternatives --config php

Eski sürüm PHP kapattıktan sonra yenisini aktifleştiriyoruz ve sonraki kod ile varsayılan sürümümüzü seçiyoruz.

Şimdi sıra geldi Zabbix’imizi Upgrade etmeye :

> wget https://repo.zabbix.com/zabbix/7.4/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.4+ubuntu24.04_all.deb
> dpkg -i zabbix-release_latest_7.4+ubuntu24.04_all.deb
> apt update
> sudo apt upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2

Bu sayede Zabbix’in programlarınıda Upgrade etmiş olduk ve Zabbix Programımızı başlatıyoruz.

> nano /etc/apache2/sites-available/000-default.conf
> nano /etc/apache2/sites-available/default-ssl.conf

Dosyalarını açıyoruz ve DocumentRoot alanına iki dosyada da /usr/share/zabbix yazıyoruz ve dosyalarımızın her birini kaydedip çıkıyoruz.

> nano /etc/zabbix/zabbix_server.conf
> systemctl restart zabbix-server zabbix-agent apache2

Conf. Dosyasına gidiyoruz ve DBPassword alanına Database’imizin parolasını giriyoruz ve sonrasında tüm sistemlerimizi Restartlıyoruz.

Web Arayüzü Sorunu :

Sonrasında ise ip adresinizle Zabbix web arayüzüne erişmeye çalıştığınızda yukarıdaki gibi bir hata alıyorsanız, aşağıdaki adımları uygulayarak bu sorunu giderebilirsiniz.

> nano /etc/apache2/conf-available/zabbix.conf

Dosyasını açtıktan sonra aşağıdaki komutları içerisine yapıştırıyoruz ve kaydediyoruz. Burada Frontend sorunu var ise aşağıdaki komut ile onun kurulumunuda sağlamanız gerekiyor.

> apt install zabbix-frontend-php

Alias /zabbix /usr/share/zabbix/ui

<Directory "/usr/share/zabbix/ui">
    Options FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

Sonrasında ise aşağıdaki komutları kullanarak konfigürasyonu aktifleştirmemiz gerekiyor.

> a2enconf zabbix
> systemctl reload apache2

Tekrar ip adresini deneyerek ulaşıp ulaşamadığınızı doğrulamayı unutmayın.

PHP sorunu olması durumunda düzeltmek için :

Sonrasında ise PHP ayarlarında sorun oluşmuşsa yukarıdaki ekran gibi bir ekran gelecektir karşınıza. Düzeltmek için ise aşağıdaki yolu izleyebilirsiniz.

> nano /etc/php/8.4/apache2/php.ini
> systemctl restart zabbix-server zabbix-agent apache2

Yolunu izliyoruz ve listedeki ör: post_max_size” ayarlamaları bulup Required alanında olan değerlerle değiştiriyoruz ve sonrasında ne olur ne olmaz tüm Zabbix Server’a Restart atıyoruz. 🙂

Artık Zabbix’imiz en sürüme yükselmiş oldu.

Eski Cluster’ı nasıl sileceğiz :

> pg_lsclusters
> sudo -u postgres psql -d zabbix -c "SELECT version();"
> sudo pg_dropcluster 13 main
> sudo apt purge postgresql-13 postgresql-client-13
> sudo apt autoremove
> ls /var/log/postgresql/

Komutlarımızla birlikte kontrollerimizi yapıyoruz, DropCluster komutu ile 13 olanı siliyoruz ve sonrasında PSQL13’üde sistemimizden kaldırıyoruz.

Büyük bir Zabbix Veritabanınız var ise VACUUM önemli olabilir :

> su - postgres
> /usr/lib/postgresql/18/bin/vacuumdb --all --analyze-in-stages

Postgres kullanıcısına geçtikten sonra yukarıdaki vacuum komutunu çalıştabilir ve tüm db’leri vacuumlayabilirsiniz.

Bu yazımda bu kadardı arkadaşlar, bana destek olmak istiyorsanız Sosyal medya kanallarımdan beni takip edebilirsiniz. Herkese kolaylıklar diliyorum.

edit_note Bir Yorum Bırakın