NELER YENI?
Yukleniyor...

Zabbix Kurulumu (CentOS 7 / Zabbix 2.4)

CentOS 7 üzerine Zabbix kurulumunu inceleyeceğiz. Zabbix nedir ile başlayalım.

Zabbix Enterprise seviyesinde Network ve Networke bağlı cihazları izleyebilme, ölçebilme, raporlama ve alarm sistemi yapabildiğimiz açık kaynaklı ve ücretsiz bir çözümdür.



Cihazları izlemek için bir çok seçenek sunar, başlıca şunlardır.


  • Zabbix agent (Windows, Linux)
  • SNMP v1, v2, v3 ve trap
  • Database (SQL sorguları ile)
  • Log (Log dosyası ile)
  • JMX (Java)
  • SSH (komutlar ile)
  • Telnet (komutlar ile)
  • IPMI agent (Akıllı Platform Yönetimi)
  • ICMP (ping)
İzlemek istediğiniz cihaz bu seçeneklerden herhangi birini destekliyor ise izleme, raporlama, ölçme ve alarm oluşturma seçeneklerin hepsini yapabilirsiniz. Bunların yanında Web senaryo oluşturabilme, Network haritası çıkarabilme ve haritadan monitor edebilme gibi özellikleri de bulunmaktadır. Kişisel görüşüm ise bence harika bir sistem. Sizi tek uğraştıracak kısım izlenecek her cihaz için bir kere uğraşmak gerekecektir. Özellikle SNMP ile izlemeniz gereken cihazların MIB dosyalarına çok ihtiyacınız olacaktır. Gerçi bu tüm monitor sistemlerinde karşılaşılan bir durum.

Yakında Zabbix 3 versyonuda çıkacak şuanda stabil bir sistem değil. Arayüz olarak çok gelişmiş görünüyor. İlk stabil sistemi çıktığında yine bu blogtan yazacağım.

Sistem gereksinimleri resmi sitesinden tavsiye edilen bilgiye göre şöyledir;

Büyüklükİşletim Sistemiİşlemci / HafızaVeri Tabanıİzlenecek Cihaz
KüçükCentOS1 çekirdek/1GBMySQL InnoDB100'e kadar
OrtaCentOS2 çekirdek/2GBMySQL InnoDB500'e kadar
BüyükRedHat Enterprise Linux4 çekirdek/8GBRAID10 MySQL InnoDB veya PostgreSQL1000'e kadar
Çok BüyükRedHat Enterprise Linux8 çekirdek/16GBHızlı RAID10 MySQL InnoDB veya PostgreSQL10000'e kadar

Eğer CentOS'u bu sistem için temiz bir kurulum yapacaksanız, minimal kurulum yapmanız yeterlidir. Zabbix uygulama deposu Centos üzerinde gelmiyor bu yüzden ilk önce EPEL ve daha sonra Zabbix uygulama depolarını sistemimize yüklüyoruz. Daha sonra güncelleyip yeniden başlatalım
yum install epel-release
yum -y update
reboot
Daha sonra Zabbix deposu için gerekli olan anahtarı sistemimize aktarıyoruz.
rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
Repo dosyamızı oluşturacağız, bunun için repo klasörüne giriş yapalım.
cd /etc/yum.repos.d/
Daha sonra nano editörü ile yeni bir repo dosyası oluşturup içeriğine girelim. (nano benim favori metin düzenleyicimdir. İsterseniz vi editörüde kullanabilirsiniz. Nano'yu centosa yüklemek için yum install nano komutunu çalıştırmanız yeterlidir.)
nano zabbix.repo
İçeriğine yazacağımız satırlar şöyledir.
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/2.4/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

Bu satırları yazarken son srümü 2.4.6 idi. Eğer siz bunları yaparken 2.4'ten daha yeni sürüm çıktı ise o baseurl adresini yazın. http://repo.zabbix.com/zabbix/ adresinden ilgili depoyu görebilirsiniz. Bundan sonraki kodları yazarken versiyonda kullanılıyorsa kendi yüklediğiniz versiyonu kullanmalısınız buna dikkat edin.

Zabbix için gerekli olan uygulamaları yükleyelim. Ben komutları sırayla yazıyorum siz tek tek uygulayarak yükleyip başlatılmasını sağlayın.
yum install httpd
systemctl start httpd.service
systemctl enable httpd.service
yum install mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb.service
yum install php
yum install php-mysqli
yum install php-gd
yum install php-bcmath
yum install php-xml
yum install php-mbstring
yum install OpenIPMI
yum install fping
yum install net-snmp
systemctl restart httpd.service
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
Veritabanının ayarlarını yapmamız gerekli
mysql_secure_installation
Bir yükleme scripti çalışacaktır burada veritabanı root parolasını belirliyoruz tam olarak şöyle bir görüntü olacaktır. Kırımızı işaretlediklerim verdiğim yanıtlardır

[root@zabbix ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

Zabbix server, agent ve gerekli olan diğer paketleri kuruyoruz. Otomatik olarak yüklenmesi gereken paketler ve bağımlılıklarda yüklenecektir.
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway
Saat dilimini değiştiriyoruz
nano /etc/httpd/conf.d/zabbix.conf
Aşağıdaki kısmı bu şekilde değiştirmeliyiz.
php_value date.timezone Europe/Istanbul

Web sunucuyu yeniden başlatıyoruz.
systemctl restart httpd
Veritabanını hazırlıyoruz.
mysql -u root -p
Oluşturduğunuz parolayı girin. Aşağıdaki kırmızı ile yazdığım yerleri doldurun

Enter password:Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.44-MariaDB MariaDB Server
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database zabbix character set utf8; 
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to 'zabbixu'@'localhost' identified by 'Parola1234';  
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
Parolamızı girdikten sonra zabbix adında bir veritabanı oluşturuyoruz. Daha sonra zabbixu diye bir kullanıcı oluşturup, parolasını belirleyerek bu vertitabanına tüm yetkilerini atıyoruz ve yetkileri yeniden yüklüyoruz. Artık veri tabanına tabloları oluşturabiliriz.

mysql -u zabbixu -p zabbix < /usr/share/doc/zabbix-server-mysql-2.4.6/create/schema.sql
Parola soracaktır bu parola bir önceki zabbixu kullanıcısı için oluşturduğumuz paroladır. Burada 2.4.6 yazan yere sürüm numaranız ne ise onu yazmalısınız aksi taktirde sql sorgularının bulunduğu dosyayı bulamayıp işlem yapmayacaktır. Çalıştırdıktan sonra bitene kadar bekleyin. Daha sonraki iki işlem içinde aynısını yapıyoruz.
mysql -u zabbixu -p zabbix < /usr/share/doc/zabbix-server-mysql-2.4.6/create/images.sql
mysql -u zabbixu -p zabbix < /usr/share/doc/zabbix-server-mysql-2.4.6/create/data.sql
Veritabanı bilgilerini zabbix'in ayar dosyasına yazıyoruz
/etc/zabbix/zabbix_server.conf
Aşağıdaki gibi alanların değiştirilmesi gerekli gerekli.

Agentın ayarlarını yapıyoruz.
nano /etc/zabbix/zabbix_agentd.conf
Aşağıdaki satırları bulup değiştirmeniz gerekli
[...]
## Satır 85 - Specify Zabbix server ##
Server=127.0.0.1
[...]
## Satır 126 - Specify Zabbix server ##
ServerActive=127.0.0.1
[...]
## Satır 137 - Specify Zabbix server Hostname or IP address ##
Hostname=Zabbix server
[...]
Php.ini ayarlarını yapıyoruz.

nano /etc/php.ini
Aşağıdaki satırları bulup değiştirmeniz gerekiyor. Bu işlem biraz sıkıcı olabilir. (Eğer değiştirdiğiniz satırın başında noktalı virgül ; var ise kaldırınız)

max_execution_time = 600
max_input_time = 600
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 16M
date.timezone = Europe/Istanbul
Gerekli portları açıyoruz.

firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --permanent --add-port=10051/tcp
systemctl restart firewalld
setsebool -P httpd_can_connect_zabbix=1
Şimdi ise servisleri yeniden başlatıyoruz.

systemctl start zabbix-server
systemctl start zabbix-agent
systemctl restart httpd
systemctl restart mariadb
systemctl enable zabbix-server
systemctl enable zabbix-agent
Artık arayüz kurulumuna geçiyoruz herhangi internet browser adres çubuğuna http://ipadres/zabbix veya http://domainadı/zabbix yazarak sisteme bağlanıyoruz.


Karşılama ekranına ulaşıyoruz.

Tüm ayarların sonunda OK yazdığından emin olun.
Veritabanı adı,kullanıcı adı, parola yazıp teste basın OK yazar ise devam edin. (yukarıda oluşturmuştuk)
Sunucu adını yazıp devam edin.
Ayarlarımızın sonucunu görüyoruz.
Ve yüklemeyi bitiyoruz.


Kullanıcı adı ve parola varsayılan olarak admin / zabbix tir.

Giriş yaptığınızda Dashboard ekranına ulaşacaksınız.



Configuration > Hosts altından sunucudaki agent'ı aktif edin. Disabled üstüne tıklayarak aktif edebilirsiniz. Bir süre sonra availability altındaki Z logosu yeşile dönecek ve veriler gelecektir.

Triggers, Latest Data, Events, Graphs, Screens altından gelen verileri görebilirsiniz. Bu ekranları kullanabilmeniz için bazılarında filtreleme yapmanız gerekmektedir. Bununla ilgili bir kaç resim paylaşıyorum.




Daha sonra bu blogta Zabbix agent. SNMP ve diğer yollarla izleme teknikleri, cihaz ekleme, raporlama, grafikleştirme/ölçme, şablon oluşturma, ağ haritası/ekran oluşturma ve alarm/trigger gibi uygulamaları da göstereceğim.

2 yorum: Yorumunuzu Yazın