Günümüzde bilgi teknolojileri altyapılarının büyümesiyle birlikte sunucuların, işletim sistemlerinin, uygulamaların ve veritabanlarının sürekli olarak izlenmesi kritik bir ihtiyaç haline gelmiştir. Bir sistem yöneticisi açısından yalnızca sunucuların çalışıyor olması yeterli değildir. CPU ve RAM kullanımı, disk alanı, ağ trafiği, servislerin çalışma durumu, veritabanlarının performansı ve meydana gelen hataların zamanında tespit edilmesi de büyük önem taşımaktadır.
Özellikle birden fazla Linux sunucusunun bulunduğu ortamlarda sistemleri tek tek kontrol etmek hem zaman kaybına neden olmakta hem de olası problemlerin geç fark edilmesine yol açabilmektedir. Bu noktada merkezi bir monitoring, yani izleme çözümünün kullanılması önemli avantajlar sağlamaktadır.
Bu çalışmada açık kaynak kodlu izleme ve monitoring platformlarından biri olan Zabbix 7.4 kullanılarak merkezi bir sistem izleme altyapısı oluşturulmuştur.
Çalışmanın temel amacı, Zabbix Server’ın Ubuntu 22.04 LTS (Jammy Jellyfish) işletim sistemi üzerinde kurulmasından başlayarak Linux işletim sistemlerinin Zabbix ortamına dahil edilmesi, sistemlerden metriklerin toplanması, meydana gelen problemlerin e-posta yoluyla bildirilmesi ve izlenmesine kadar uzanan kapsamlı bir monitoring yapısı oluşturmaktır.
Bu kapsamda gerçekleştirilen çalışma aşağıdaki temel aşamalardan oluşmaktadır:
- Ubuntu 22.04 üzerinde Zabbix Server kurulumu
- PostgreSQL veritabanı kurulumu ve Zabbix ile yapılandırılması
- Apache web sunucusunun kurulması
- Zabbix web arayüzünün yapılandırılması
- Linux Agent kurulumu
- Linux sistemlerin Zabbix Server’a eklenmesi
- Host ve Template yapılandırmalarının gerçekleştirilmesi
Kurulan monitoring yapısında merkezi bileşen olarak Zabbix Server kullanılmıştır.
Temel mimari şu şekilde planlanmıştır:
Zabbix Server
- Ubuntu 22.04 LTS
- Zabbix Server 7.0
- PostgreSQL
- Apache Web Server
İzlenen sistem
- Linux Server
Linux sistemlerde Zabbix Agent kullanılarak ilgili sunuculardan sistem metrikleri Zabbix Server’a aktarılmıştır.
Zabbix kurulumunda neler yapmamız gerektiğiyle ilgili belirtilen link üzerinden kurulum işlemlerini yapmış olacağız.

Yukarıdaki resimde gerekli seçimleri yaptıktan sonra aşağıdaki bölümde hangi script’leri çalıştıracağımızı söylüyor. Bu bölümde postgresql kurulumu ve bazı bölümler eksik olduğu için postgresql kurulumunu ayrı yapmış olacağız.
Şimdi ilk olarak Ubuntu 22.04 Jammy kurulumundan başlayalım. Ubuntu’nun tercih edilmesinin temel nedenleri arasında kararlı yapısı, geniş topluluk desteği ve Zabbix ile uyumlu olması bulunmaktadır. Kurulum öncesinde işletim sisteminin güncel paketlerinin kullanılması ve sistemin temel yapılandırmasının tamamlanması önemlidir. Bu aşamada sunucunun ağ yapılandırması, hostname bilgisi, güncelleştirmeleri ve gerekli sistem bileşenleri hazırlanmıştır.
İlk olarak belirtilen linkten ubuntu sürümü indirilir.
Komut satırından çalışacağımız için server sürümünü indiriyoruz.

ZABBIX yapımızı kuracağımız Ubuntu işletim sistemi kurulumuna geçelim:
1-Sunucunun dili İngilizce olarak seçilmektedir.

2-Klavye dilini Türkçe seçiyoruz.

3- Gelen ekranda herhangi bir değişiklik yapmıyoruz. Done diyip bir sonraki ekrana geçiyoruz.

4- Gelen ekranda sunucumuzun ip ayarlamasını yaptığımız bölüm karşımıza çıkmaktadır. Burada DHCP seçeneği ile mevcut bulunan Ethernet kartımızdan otomatik ip almaktadır.

Ya da DHCP sunucusundan ip almasın manuel tanımladığım ip değerlerini alsın diyorsanız. Aşağıdaki gibi manuel ip ayarlamasının yapılması gerekmektedir.


Gelen ekranda ilgili bölümler mevcut ip yapısına göre konfigüre edilmesi gerekmektedir. Name server domain sunucumuzdur. yunusyucel.com ise benim domain suffix’im

5- Gelen ekranda Done ile bir sonraki ekrana geçilir. İnternetin olduğu veya olmadığı ortamda done yapılması gerekmektedir.

6- Mirror address kısmında bulunduğunuz ortamda bulunan repositories sunucusundan bağlantı alınıp kurulumun sağlanması gerekmektedir. Sunucum internete açık olduğundan belirtilen url üzerinden işlem gerçekleştirmektedir.

7- Gelen ekranda herhangi bir değişiklik yapılmaz. Done denilip bir sonraki ekrana geçilmektedir.

8- Mevcutta bulunan disklerimiz görünmektedir. Herhangi bir değişiklik yapmadan Done deyip bir sonraki aşamaya geçiyoruz.


9- Gerekli bilgileri girdikten sonra Done denilip bir sonraki ekrana geçilir.

10- Gelen ekranda Continue denilip devam edilir.

11- Install OpenSSH server bağlantısını seçtikten sonra devam ediyoruz.

12- Gelen ekranda hiçbir işlem yapmayıp Done diyip bir sonraki aşamaya geçiyoruz.

13- Ubuntu server kurulumu başlamış durumda.

Yükleme işlemi başarılı bir şekilde tamamlandıktan sonra Reboot Now işlemi yapılmaktadır.

Başarılı bir şekilde bağlantı gerçekleştirmiş oluruz.

İşlemlerimizi rahatlıkla yapmak için MobaXterm üzerinden bağlantı sağlıyoruz. Bu sebepten ilgili sunucumuza SSH bağlantısı atarız.

Bağlantımızı başarılı bir şekilde gerçekleştirmiş olduk.

Şimdi Zabbix’i kuracağımız platform üzerinde gerekli incelemeleri yapıp adım adım gidelim. İlgili linkten aşağıdaki bölüme girilebilir.

Yukarıda görüldüğü gibi ubuntu 22.04 versiyonu kurduk şimdi aşağıdaki scriptlerle Zabbix ve componentleri postgresql kurulumu ve apache kurulumuna geçelim.
Yukarıdaki ilgili sayfada alt kısımda neler yüklememiz gerektiği yazıyor. Detaylı bilgi içermediği için aşağıdaki yöntemler gitmemiz kurulumun eksiksiz bir şekilde olmasını sağlayacaktır.
İlk olarak yetkili bir kullanıcıya geçiş yapılır.
sudo –s

İlgili komut satırına geçtikten sonra zabix repository kurulumuna başlanır. Bu paket indirme bölümünü zabbix’in resmi sayfasından alınır. Hangi işletim sistemi veya hangi veya hangi özellikler kullanılacaksa o bölümden rahatlıkla yapılabilir.

Aşağıdaki komutlar ilgili dizinde sırasıyla çalıştırılır.(Başlardaki diezler ile birlikte çalıştırılmaz.)
wget https://repo.zabbix.com/zabbix/7.4/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.4+ubuntu22.04_all.deb

dpkg -i zabbix-release_latest_7.4+ubuntu22.04_all.deb

apt update
Yukarıdaki kurulumu işlemini tamamladıktan sonra şimdi ise POSTGRESQL kurulumu yapılmaktadır. Zabbix Server tarafından toplanan monitoring verilerinin saklanabilmesi için bir veritabanına ihtiyaç duyulmaktadır. Bu çalışmada veritabanı sistemi olarak PostgreSQL tercih edildi. PostgreSQL kurulumu gerçekleştirildikten sonra Zabbix için ayrı bir veritabanı ve kullanıcı oluşturulmuş, gerekli yetkilendirmeler yapılmıştır.
Zabbix’in oluşturduğu monitoring verileri zaman içerisinde ciddi miktarda veri üretebildiğinden veritabanı altyapısı Zabbix sisteminin önemli bileşenlerinden biridir. Bu kurulum bölümü zabbix ekranında yazmamaktadır.(Bu bölüm yukarıdaki bağlantı linkinden bulunmamaktadır.)
sudo apt update
sudo apt install postgresql postgresql-contrib

sudo systemctl start postgresql.service
Servis başlatıldıktan sonra servisin durumunu aşağıdaki komut ile rahatlıkla görebiliriz.
sudo systemctl status postgresql.service

Postgresql e giriş yapıp veritabanlarını ve sahiplerini görebiliriz.
sudo -i -u postgres
psql
\l

Postgresql’imizi gördükten sonra çıkış yapıp root kullanıcısına geçiş işlemi yapılmaktadır.
\q
Exit
Yukarıdaki komutlarla root kullanıcısına geçiş yapılmaktadır.

Postgresql kurulumu yaptıktan sonra şimdi ise Zabbix server, frontend, agent kurulum işlemine geçilir. İlgili komutlar zabbix ekranından alınır.

apt install zabbix-server-pgsql zabbix-frontend-php php8.1-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-agent

chmod 777 /home/sa (Kullanıcı dizinine Full erişim yetkisi vermek gerekiyor. “sa” yazan yere, sizin kurulumda verdiğiniz user’ı vermeniz gerekiyor. ) oluşturulan veritabanı ve user owner sırasında hata yaşanmaması adına verilmektedir.
Yukarıdaki işlemlerden sonra postgresql üzerinde bir veritabanı ve kullanıcı oluşturulması gerekmektedir. İlgili işlemleri Zabbix sayfasından bulunup çalıştırılabilir.

Aşağıdaki iki komutla postgresql sunucusuna bağlanıp zabbix adında bir kullanıcı ve veritabanı oluşturuyoruz. Pwprompt Komutu ile kullanıcı için şifre verme bölümü karşımıza çıkmaktadır.
sudo -u postgres createuser --pwprompt zabbix

sudo -u postgres createdb -O zabbix zabbix
Yukarıdaki yapılan işlemleri kontrol ettiğimizde kullanıcımızın ve veritabanının oluştuğunu rahatlıkla görebiliriz.

Aşağıdaki komut ile zabbix’in tablolarını import ediyoruz.
zcat /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

Zabbix konfigürasyon dosyasında düzenleme yapmak için nano editörü ile erişiyoruz. Yukarıda zabbix kullanıcımıza hangi şifreyi vermişsek ilgili bölümde o eklenmelidir. Postgresql de oluşturduğunu kullanıcı ve veritabanının ilgili dizinde doğru görülmesi gerekmektedir.
nano /etc/zabbix/zabbix_server.conf
DBPassword=1 (Burada, database kullanıcısı oluştururken verdiğimiz şifreyi giriyoruz. Benim şifrem 1)

Aşağıdaki komutla zabbix’imizi restart işlemi gerçekleşir. İkinci enable komut ile olası bir restart işleminde zabbix’imiz açılsın diye yapılmaktadır.
systemctl restart zabbix-server zabbix-agent apache2
systemctl enable zabbix-server zabbix-agent apache2
systemctl status zabbix-server zabbix-agent apache2


Zabbix kurulumu başarılı bir şekilde kurulum işlemi gerçekleşti. Web üzerinde kurmuş olduğumuz ZABBIX e giriş yapalım. Zabbix sayfasında da ilgili dizinde bulabileceğimiz söylüyor.

Zabbix kurulumunu yaptığımız ubuntu sunucumuzun ip adresinin yazılması gerekmektedir.

İlgili url’e girildikten sonra Zabbix kurulum ekranı başarılı bir şekilde önümüze gelmiş oldu.

Next step dedikten sonra gelen ekranda tekrardan Next step diyiyoruz.

Gelen ekranda sadece veritabanı şifresi verilmektedir. Diğer ayarların hepsi default gelmektedir.

Gelen ekranda zabbix server’a bir isim saat dilimi ayarlaması ve zabbix arka plan renk seçimi yapılmaktadır.

Gelen ekranda özet bölümü gördükten sonra bir sonraki ekrana geçilir. Yükleme işleminin başarılı bir şekilde olduğu görülmektedir.


Gelen ekranda zabbix’in kullanıcı adı ve şifre bölümü çıkmaktadır. Default olan kullanıcı adı ve şifresi ile giriş yapmış oluyoruz.

Zabbix Default User: Admin
zabbix Default PW: zabbix

Başarılı bir şekilde giriş yapılmaktadır.



Ubuntu sunucusu üzerine zabbix agent yükleme işlemi için aşağıdaki adımların sırası ile yapılması gerekmektedir.
İşletim sistemi versiyonu aşağıdaki komut ile öğrenilebilir.
lsb_release -a
Sunucu reposu güncellenir.
sudo apt update
Linux Agent Paketi indirme işlemi yapılmaktadır. İlgili url’e giriş yapılmaktadır.

İndireceğimiz paket belirlendikten sonra manuel indirip sunucuya yüklenebilir.

Yukarıdaki ilgili bağlantıya sağ tıklanır. Bağlantı adresini kopyalama işlemi yapılmaktadır. Wget ifadesinden sonra eklenmektedir.

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_6.0%2Bubuntu22.04_all.deb
Yukarıda yüklemiş olduğumuz paketi çalıştırıyoruz.
sudo dpkg -i zabbix-release_latest_6.0+ubuntu22.04_all.deb

Sunucu reposu güncellenir.
sudo apt update
Linux Agent Yükleme işlemi yapılmaktadır.
sudo apt install zabbix-agent
Yükleme işlemi yapılan agent config dosyası açılmaktadır.
sudo nano /etc/zabbix/zabbix_agentd.conf
Bu bölümde zabbix sunucusunun bilgilerinin girilmesi gerekmektedir. Server kısmına girilmektedir.

ServerActive kısmında ise aynı şekilde zabbix sunucusunun ip adresinin girilmesi gerekmektedir.

Hostname kısmına şuan agent yüklemeye çalıştığımız sunucu ismi girilmektedir.

Yüklenen zabbix agent start edilir.
sudo systemctl start zabbix-agent
Restart işlemi gerçekleşmektedir.
sudo systemctl restart zabbix-agent
Sunucu restart olduğunda tekrardan enable kalması için aşağıdaki komut çalıştırılmaktadır.
sudo systemctl enable zabbix-agent
sudo systemctl status zabbix-agent
Ubuntu sunucusu üzerinde yukarıdaki ayarlamaları yaptıktan sonra şimdi zabbix monitör ekranında sunucumuzun eklenmesi gerekmektedir.
Şimdi zabbix üzerinde mevcutta bulunan linux sunucularımızı izlemek için HOST eklememiz gerekmektedir.

Gelen ekranda sağ üst köşede Create host seçeneği ile host ekleme işlemi yapılmaktadır.

Create Host seçeneği ile aşağıdaki ekrana girilmektedir. Gelen ekranda hangi host’u izlemek isterseniz ilgili host’a bir isim verilir. Genellikle izlenecek host ismi verilmektedir. Daha sonra templates kısmında sunucularımız üzerinde verileri doğru bir şekilde alabilmemiz agent template’i yükleme işlemi yapılmaktadır. Database sonra oluşturduğumuz yapının bir group’a ya da yeni bir isim vererek bir group’a üye yapabiliriz. Add butonuna tıklanarak hedef sunucunun ip bilgilerini yazıyoruz. Port default olarak gelmektedir.
Interfaces kısmında add denildiğinde ilgili sunucunun hangi yapı ile izleneceği belirlenir. Agent ile yapacağımız için ilgili seçim yapılmaktadır. Default port resimde belirtildiği gibidir.

Yukarıda Interfaces kısmında ubuntu01 makinasının ip adresi yazmaktadır.

Yukarıdaki yapımızı oluşturduktan sonra işlemlerimizi sonlandırıyoruz. Availability kısmında ZBX ifadesinin aktif olmasını bekliyoruz. Belirli bir süreden aktifleşme işlemi gerçekleşmekteidir.


Ubuntu01 sunucusu ile ilgili verilerin toplandığını görmekteyiz. Latest data kısmında filtreleme işlemlerini yaptıktan sonra rahatlıkla linux sunucumuz üzerinde toplanan verileri görebiliriz.

Bu makalede Ubuntu Server Üzerinde Zabbix Server Kurulumu ve Linux Agent Entegrasyonu konusunu detaylı bir şekilde görmüş olduk. Başka makalede görüşmek dileğiyle..
İyilikler için karşılık beklemeyin. İnsan-9