Zabbix Server Kurulumu ve Windows Agent Entegrasyonu

MSSQL Server

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 Windows 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 Windows işletim sistemlerinin Zabbix ortamına dahil edilmesi, sistemlerden metriklerin toplanması amaçlanmaktadır. İlerleyen makalelerde mail konfigürasyonu ve windows sunucular üzerinde mssql server bağlantısı sağlanmış olunacaktı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ı
  • Windows Agent kurulumu
  • Windows sistemlerin Zabbix Server’a eklenmesi

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

  • Windows Server

Windows 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 ile 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.

Şimdi zabbix üzerinde mevcutta bulunan windows 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.

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.

İlk olarak Host’a bir isim verilmektedir.

Templates kısmında hangi sunucuya bağlantı sağlanacaksa ilgili sunucunun template’i seçilmektedir.

Windows sunucusu izlenecekse Windows agent template’i şeçilmektedir.

Yukarıda işlemden sonra tekrar aynı ekrandan 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.

Diğer bölümler üzerinden herhangi bir işlem yapmıyoruz. Sunucu özelliklerini girmek ve ya otomatik çekmesini istiyorsak Inventory kısmından çekilebilir. Tags bölümünden etiket belirlenebilir.

Sunucumuzun ip değerine göre Interfaces kısmından ip bilgileri yazılmaktadır.

Sunucumuz eklenmiş oldu. Monitor ekranının halen S1 sunucusu ile bağlantısı yok. Parantez içerisine alınmış bölümde ZBX ifadesi görülmektedir.

Sunucumuz üzerine agent yüklemek için Zabbix’in sayfasında agent bölümüne girildikten sonra sunucumuzun veya kurulu olan yapımızın özelliklerinin seçilmesi gerekmektedir. İlgili bağlantı linkine girilir.

Alt bölümde hangi agent’ı kurmak istiyorsak ilgili yapı seçilmektedir.10050 portonu pasif agent 10051 portonu aktif agent kullanmaktadır. Aktif agent işlemi için agent 2’nin kurulması gerekmektedir. Belirli bir aralıkta sunucunun verilerini almaktadır.

İndirim işlemi yapılmaktadır.

Windows sunucusu üzerinen zabbix agent 2 msi uzantısını çalıştırıyoruz.

Gelen ekranda önemli olan zabbix sunucusunun ip adresi girilmektedir.

Aktif pasif olacağını template tarafında ayarlıyoruz.

Install deyip kurulum işlemleri tamamlanır.

Windows servisler bölümünden servisimizin çalıştığını görebiliriz.

Sunucu üzerinde işlemlerimiz bitti şimdi zabbix motoring ekranına geliyoruz. Kırmızı olan ifadenin yeşile döndüğü görülmektedir.

Aşağıdaki bölümden Windows zabbix active’de seçilebilir. Ama biz pasif olandan devam edeceğiz.

Şuan Windows makinesı üzerinden 101 tane items yakalamış zaman geçtikçe bunun sayısında artış yaşanacak.

Latest data bölümünde sunucumuz seçildikten sonra Apply denildiğinde bilgilerimizin geldiği görülmektedir.

Windows sunucusu üzerinde yakalamış olduğu tüm değerler görülmektedir.

Yukarıda Windows sunucusu üzerine Zabbix Yükleme işlemini görmüş olduk. İlerleyen makalelerde Zabbix Dashboard üzerinden görselleştirme işlemlerimizi yapmış olacağız.

Bu makalede Ubuntu Server Üzerinde Zabbix Server Kurulumu ve Windows Agent Entegrasyonu konusunu detaylı bir şekilde görmüş olduk. Başka makalede görüşmek dileğiyle..

“Öyle ise emrolunduğun gibi dosdoğru ol.” Hud-112

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir