Sidebar

Become a monitoring expert!
Sign up for Zabbix training

1 Red Hat Enterprise Linux/CentOS

Genel bakış

Resmi Zabbix paketleri RHEL 7, Oracle Linux 7 ve CentOS 7 için kullanılabilir.

Bazı aracı ve proxy paketleri RHEL 5 ve RHEL 6 için de kullanılabilir.

Depo kurulumu

Depo yapılandırma paketini yükleyin. Bu paket yum (yazılım paket yöneticisi) yapılandırma dosyalarını içerir.

# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.noarch.rpm

Sunucu/proxy kurulumu

Sunucuyu MySQL ile kurmak için:

# yum install zabbix-server-mysql zabbix-web-mysql

Proxyyi MySQL ile kurmak için:

# yum install zabbix-proxy-mysql

Komuttaki 'mysql' ifadesini PostgreSQL'i kullanıyorsanız 'pgsql' ile veya SQLite3 kullanıyorsanız (yalnızca proxyde) 'sqlite' ile değiştirin.

** Veritabanı oluşturma **

Zabbix sunucu ve proxy artalan süreçleri için bir veritabanı gereklidir. Zabbix aracısını çalıştırmak için gerekli değildir.

Zabbix sunucusu ve proxysi aynı ana bilgisayara kurulursa, veritabanları farklı isimlerle oluşturulmalıdır!

MySQL/PostgreSQL için sunulan veritabanı oluşturma betiklerini kullanarak veritabanını oluşturun.

Şimdi MySQL ile sunucu için ilk şema ve verileri içe aktarın:

# zcat /usr/share/doc/zabbix-server-mysql-3.4.0/create.sql.gz | mysql -uzabbix -p zabbix

Yeni oluşturulan veritabanı parolanızı girmeniz istenir.

PostgreSQL ile:

# zcat /usr/share/doc/zabbix-server-pgsql-3.4.0/create.sql.gz | psql -U <username> zabbix

Proxy için ilk şemayı içe aktarın:

# zcat /usr/share/doc/zabbix-proxy-mysql-3.4.0/schema.sql.gz | mysql -uzabbix -p zabbix

PostgreSQL (veya SQLite) ile proxy için:

# zcat /usr/share/doc/zabbix-proxy-pgsql-3.4.0/schema.sql.gz | psql -U <username> zabbix
       # zcat /usr/share/doc/zabbix-proxy-sqlite-3.4.0/schema.sql.gz | sqlite3 zabbix.db

Komutlara doğru Zabbix sürümünü eklediğinizden emin olun (öntanımlı olarak 3.4.0). Paketinizin doğru sunucu/proxy sürümünü kontrol etmek için şunu çalıştırın:

# rpm -q zabbix-server-mysql
       # rpm -q zabbix-proxy-mysql

Komuttaki 'mysql' ifadesini PostgreSQL'i kullanıyorsanız 'pgsql' ile veya SQLite3 kullanıyorsanız (yalnızca proxyde) 'sqlite' ile değiştirin.

** Zabbix sunucu/proxy için veritabanını yapılandırma **

Oluşturulan veritabanını kullanmak için zabbix_server.conf veya zabbix_proxy.conf dosyalarını düzenleyin. Örneğin:

# vi /etc/zabbix/zabbix_server.conf
       DBHost=localhost
       DBName=zabbix
       DBUser=zabbix
       DBPassword=<parola>

DBPassword değerinde MySQL için Zabbix veritabanı parolasını; PosgreSQL için PosgreSQL kullanıcı parolasını kullanın.

DBHost='u PostgreSQL ile kullanın. DBHost=localhost (veya bir IP adresi) öntanımlı ayarını tutmak isteyebilirsiniz, ancak bu PostgreSQL'in Zabbix'e bağlanmak için bir ağ soketi kullanmasını neden olacaktır. Yönergeler için aşağıdaki SELinux yapılandırmasına bakın.

** Zabbix sunucu sürecini başlatma **

Zabbix sunucu sürecini başlatmanın ve sistem önyüklenmesiyle birlikte başlamasının sağlanmasının zamanı geldi:

# systemctl start zabbix-server
       # systemctl enable zabbix-server

Zabbix proxy sürecini başlatmak için 'zabbix-server' öğesini 'zabbix-proxy' ile değiştirin.

** Zabbix önyüzü için PHP yapılandırması **

Zabbix önyüzünün Apache yapılandırma dosyası /etc/httpd/conf.d/zabbix.conf dosyasında bulunmaktadır. Bazı PHP ayarları halihazırda yapılandırılmıştır. Ancak, "date.timezone" ayarını yorumdan çıkarmanız ve sizin için doğru saat dilimini ayarlamanız gereklidir.

php_value max_execution_time 300
       php_value memory_limit 128M
       php_value post_max_size 16M
       php_value upload_max_filesize 2M
       php_value max_input_time 300
       php_value always_populate_raw_post_data -1
       # php_value date.timezone Europe/Riga
SELinux yapılandırması

SELinux durumu enforcing modda etkinse, Zabbix önyüzünün sunucuya başarıyla bağlanmasını sağlamak için aşağıdaki komutu çalıştırmanız gerekir:

# setsebool -P httpd_can_connect_zabbix on

PostgreSQL ile eğer 'localhost' veya bir IP adresi DBHost= için ayarlanmışsa, zabbix_server.conf içinde, Zabbix önyüzü ve veritabanı arasında da bağlantıya izin vermeniz gerekir:

# setsebool -P httpd_can_network_connect_db on

Önyüz ve SELinux yapılandırması yapıldığında, Apache web sunucusunu yeniden başlatmanız gerekir:

# systemctl start httpd

** Önyüz kurulumu **

Şimdi, yeni kurulan Zabbix'e erişmenizi sağlayacak olan önyüz yükleme adımlarına devam etmeye hazırsınız.

Zabbix resmi deposu; fping, iksemel, libssh2 paketlerini de sunmaktadır. Bu paketler non-supported dizininde bulunur.

Aracı kurulumu

Aracıyı kurmak için şunu çalıştırın:

# yum install zabbix-agent

Aracıyı başlatmak için şunu çalıştırın:

# service zabbix-agent start

Importing data

Now import initial schema and data for the server with MySQL:

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

You will be prompted to enter your newly created database password.

With PostgreSQL:

# zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix

For proxy, import initial schema:

# zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix

For proxy with PostgreSQL (or SQLite):

# zcat /usr/share/doc/zabbix-proxy-pgsql*/schema.sql.gz | sudo -u zabbix psql zabbix
       # zcat /usr/share/doc/zabbix-proxy-sqlite3*/schema.sql.gz | sqlite3 zabbix.db

Configure database for Zabbix server/proxy

Edit zabbix_server.conf (and zabbix_proxy.conf) to use their respective databases. For example:

# vi /etc/zabbix/zabbix_server.conf
       DBHost=localhost
       DBName=zabbix
       DBUser=zabbix
       DBPassword=<password>

In DBPassword use Zabbix database password for MySQL; PosgreSQL user password for PosgreSQL.

Use DBHost= with PostgreSQL. You might want to keep the default setting DBHost=localhost (or an IP address), but this would make PostgreSQL use a network socket for connecting to Zabbix. See SELinux configuration below for instructions.

Starting Zabbix server process

It's time to start Zabbix server process:

# service zabbix-server start

and make it start at system boot:

RHEL 7 and later:

# systemctl enable zabbix-server

RHEL prior to 7:

# chkconfig --level 12345 zabbix-server on

Substitute 'zabbix-server' with 'zabbix-proxy' if you are installing Zabbix proxy.

Zabbix frontend configuration

For RHEL 7 and later the Apache configuration file for Zabbix frontend is located in /etc/httpd/conf.d/zabbix.conf.

If you use RHEL 6 please read the section about using Zabbix frontend on RHEL 6 on how to configure the frontend.

Some PHP settings are already configured. But it's necessary to uncomment the "date.timezone" setting and set the right timezone for you.

php_value max_execution_time 300
       php_value memory_limit 128M
       php_value post_max_size 16M
       php_value upload_max_filesize 2M
       php_value max_input_time 300
       php_value max_input_vars 10000
       php_value always_populate_raw_post_data -1
       # php_value date.timezone Europe/Riga

Now you are ready to proceed with frontend installation steps which will allow you to access your newly installed Zabbix.

Note that a Zabbix proxy does not have a frontend; it communicates with Zabbix server only.

Zabbix official repository provides fping, iksemel, libssh2 packages as well. These packages are located in the non-supported directory.

SELinux configuration

Having SELinux status enabled in enforcing mode, you need to execute the following commands to enable communication between Zabbix frontend and server:

RHEL 7 and later:

# setsebool -P httpd_can_connect_zabbix on
       If the database is accessible over network (including 'localhost' in case of PostgreSQL), you need to allow Zabbix frontend to connect to the database too:
       # setsebool -P httpd_can_network_connect_db on

RHEL prior to 7:

# setsebool -P httpd_can_network_connect on
       # setsebool -P zabbix_can_network on

As frontend and SELinux configuration is done, you need to restart Apache web server:

# service httpd restart

Zabbix frontend and server on RHEL 6

Zabbix frontend on RHEL 6 is not supported because of PHP version. Since Zabbix 3.0 the requirements are to have PHP 5.4.0 or later while RHEL 6 latest version is 5.3.3 .

In most cases Zabbix server and frontend are installed on the same machine. When upgrading 2.2 to 3.0 Zabbix server will perform database upgrade and frontend will stop working. There is no way to roll back the database changes so users will be forced to upgrade PHP using 3rd party packages. This is why Zabbix server is also deprecated on RHEL 6.

If you still want to use Zabbix frontend on RHEL 6 and upgraded your PHP using 3rd party packages you would need to enable zabbix-deprecated repository first:

  • open file /etc/yum.repos.d/zabbix.repo
  • find section [zabbix-deprecated]
  • set enabled=1
  • save the file

You will have to do some more manual configuration. This is because we cannot identify the Apache version required for your PHP which makes it impossible for us to provide proper Apache configuration for Zabbix frontend. We have included 2 Apache configuration files to our zabbix-web package, one for Apache 2.2 and another for 2.4, which you would need to integrate with the Apache configuration yourself:

  • httpd22-example.conf
  • httpd24-example.conf

To get the full path to the files execute:

$ rpm -ql zabbix-web | grep example.conf

Agent installation

To install the agent, run

# yum install zabbix-agent

To start the agent, run:

# service zabbix-agent start

If you want to run Zabbix agent as root, see here.

Java gateway installation

It is required to install Java gateway only if you want to monitor JMX applications. Java gateway is lightweight and does not require a database.

Once the required repository is added, you can install Zabbix Java gateway by running:

# yum install zabbix-java-gateway

Proceed to setup for more details on configuring and running Java gateway.

Installing debuginfo packages

::: noteclassic Debuginfo packages are currently available for RHEL/CentOS versions 7, 6 and 5. ::: To enable debuginfo repository edit /etc/yum.repos.d/zabbix.repo file. Change enabled=0 to enabled=1 for zabbix-debuginfo repository.

[zabbix-debuginfo]
       name=Zabbix Official Repository debuginfo - $basearch
       baseurl=http://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/debuginfo/
       enabled=0
       gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
       gpgcheck=1

This will allow you to install the zabbix-debuginfo package.

# yum install zabbix-debuginfo

This single package contains debug information for all binary Zabbix components.