Áú»¢¶Ä²©

1 Red Hat Enterprise Linux

Overview

Official Áú»¢¶Ä²© 6.0 LTS packages for Red Hat Enterprise Linux and Oracle Linux are available on Áú»¢¶Ä²© website.

Áú»¢¶Ä²© packages for Red Hat Enterprise Linux systems are intended only for RHEL systems. Alternative environments, such as , may lack the necessary dependencies and repository access requirements for successful installation. To address such issues, verify compatibility with the target environment and ensure access to required repositories and dependencies before proceeding with Áú»¢¶Ä²© installation from packages. For more information, see Known issues.

Packages are available with either MySQL/PostgreSQL database and Apache/Nginx web server support.

Áú»¢¶Ä²© agent packages and utilities Áú»¢¶Ä²© get and Áú»¢¶Ä²© sender are available on Áú»¢¶Ä²© Official Repository for , , , , and .

Since Áú»¢¶Ä²© 6.0.35, Áú»¢¶Ä²© agent 2 packages are no longer available for due to Go 1.22 (and newer) being incompatible with GCC 4.4.7 provided by RHEL 6, which results in compilation errors. Note, however, that Áú»¢¶Ä²© agent packages are still supported.

Áú»¢¶Ä²© Official Repository provides fping, iksemel and libssh2 packages as well. These packages are located in the directory.

The EPEL repository for EL9 also provides Áú»¢¶Ä²© packages. If both the official Áú»¢¶Ä²© repository and EPEL repositories are installed, then the Áú»¢¶Ä²© packages in EPEL must be excluded by adding the following clause to the EPEL repo configuration file under /etc/yum.repos.d/:

[epel]
       ...
       excludepkgs=zabbix*

See also: Accidental installation of EPEL Áú»¢¶Ä²© packages

Notes on installation

See installation instructions per platform in the download page for:

  • installing the repository
  • installing server/agent/frontend
  • creating initial database, importing initial data
  • configuring database for Áú»¢¶Ä²© server
  • configuring PHP for Áú»¢¶Ä²© frontend
  • starting server/agent processes
  • configuring Áú»¢¶Ä²© frontend

If you want to run Áú»¢¶Ä²© agent as root, see Running agent as root.

Áú»¢¶Ä²© web service process, which is used for scheduled report generation, requires Google Chrome browser. The browser is not included into packages and has to be installed manually.

Importing data with Timescale DB

With TimescaleDB, in addition to the import command for PostgreSQL, also run:

cat /usr/share/zabbix-sql-scripts/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix

TimescaleDB is supported with Áú»¢¶Ä²© server only.

PHP 7.2

Áú»¢¶Ä²© frontend requires PHP version 7.2 or newer.

SELinux configuration

Áú»¢¶Ä²© uses socket-based inter-process communication. On systems where SELinux is enabled, it may be required to add SELinux rules to allow Áú»¢¶Ä²© create/use UNIX domain sockets in the SocketDir directory. Currently socket files are used by server (alerter, preprocessing, IPMI) and proxy (IPMI). Socket files are persistent, meaning they are present while the process is running.

Having SELinux status enabled in enforcing mode, you need to execute the following commands to enable communication between Áú»¢¶Ä²© 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 Áú»¢¶Ä²© 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

After the frontend and SELinux configuration is done, restart the Apache web server:

systemctl restart httpd

In addition, Áú»¢¶Ä²© provides the zabbix-selinux-policy package as part of source RPM packages for and . This package provides a basic default policy for SELinux and makes zabbix components work out-of-the-box by allowing Áú»¢¶Ä²© to create and use sockets and enabling httpd connection to PostgreSQL (used by frontend).

The source zabbix_policy.te file contains the following rules:

module zabbix_policy 1.2;
       
       require {
         type zabbix_t;
         type zabbix_port_t;
         type zabbix_var_run_t;
         type postgresql_port_t;
         type httpd_t;
         class tcp_socket name_connect;
         class sock_file { create unlink };
         class unix_stream_socket connectto;
       }
       
       #============= zabbix_t ==============
       allow zabbix_t self:unix_stream_socket connectto;
       allow zabbix_t zabbix_port_t:tcp_socket name_connect;
       allow zabbix_t zabbix_var_run_t:sock_file create;
       allow zabbix_t zabbix_var_run_t:sock_file unlink;
       allow httpd_t zabbix_port_t:tcp_socket name_connect;
       
       #============= httpd_t ==============
       allow httpd_t postgresql_port_t:tcp_socket name_connect;

This package has been created to prevent users from turning off SELinux because of the configuration complexity. It contains the default policy that is sufficient to speed up Áú»¢¶Ä²© deployment and configuration. For maximum security level, it is recommended to set custom SELinux settings.

Proxy installation

Once the required repository is added, you can install Áú»¢¶Ä²© proxy by running:

dnf install zabbix-proxy-mysql zabbix-sql-scripts

Substitute 'mysql' in the commands with 'pgsql' to use PostgreSQL, or with 'sqlite3' to use SQLite3 (proxy only).

The package 'zabbix-sql-scripts' contains database schemas for all supported database management systems for both Áú»¢¶Ä²© server and Áú»¢¶Ä²© proxy and will be used for data import.

Creating database

Create a separate database for Áú»¢¶Ä²© proxy.

Áú»¢¶Ä²© server and Áú»¢¶Ä²© proxy cannot use the same database. If they are installed on the same host, the proxy database must have a different name.

Importing data

Import initial schema:

cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql -uzabbix -p zabbix

For proxy with PostgreSQL (or SQLite):

cat /usr/share/zabbix-sql-scripts/postgresql/proxy.sql | sudo -u zabbix psql zabbix
       cat /usr/share/zabbix-sql-scripts/sqlite3/proxy.sql | sqlite3 zabbix.db
Configure database for Áú»¢¶Ä²© proxy

Edit Áú»¢¶Ä²© proxy configuration file (/etc/zabbix/zabbix_proxy.conf):

DBHost=localhost
       DBName=zabbix
       DBUser=zabbix
       DBPassword=<password>

In DBName for Áú»¢¶Ä²© proxy use a separate database from Áú»¢¶Ä²© server.

In DBPassword use Áú»¢¶Ä²© database password for MySQL; PostgreSQL user password for PostgreSQL.

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 Áú»¢¶Ä²©. See SELinux configuration for instructions.

Starting Áú»¢¶Ä²© proxy process

To start a Áú»¢¶Ä²© proxy process and make it start at system boot:

systemctl start zabbix-proxy
       systemctl enable zabbix-proxy
Frontend configuration

A Áú»¢¶Ä²© proxy does not have a frontend; it communicates with Áú»¢¶Ä²© server only.

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 Áú»¢¶Ä²© Java gateway by running:

dnf install zabbix-java-gateway

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

Installing debuginfo packages

Debuginfo packages are currently available for RHE 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=Áú»¢¶Ä²© Official Repository debuginfo - $basearch
       baseurl=http://repo.zabbix.com/zabbix/5.5/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.

dnf install zabbix-debuginfo

This single package contains debug information for all binary Áú»¢¶Ä²© components.