Official Zabbix 7.2 packages for Red Hat Enterprise Linux as well as for AlmaLinux, Oracle Linux, Rocky Linux, AmazonLinux, and CentOS are available on Zabbix website.
Zabbix packages for Red Hat Enterprise Linux systems are intended only for RHEL systems. Alternative environments, such as Red Hat Universal Base Image, 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 Zabbix installation from packages. For more information, see Known issues.
Packages are available with:
Zabbix agent packages, as well as Zabbix get and Zabbix sender utilities are also available in Zabbix Official Repository for the following OS:
The official Zabbix repository provides fping
, iksemel
and libssh2
packages as well. These packages are located in the third-party directory.
The EPEL repository for EL9 also provides Zabbix packages. If both the official Zabbix repository and EPEL repositories are installed, then the Zabbix packages in EPEL must be excluded by adding the following clause to the EPEL repo configuration file under /etc/yum.repos.d/
:
See installation instructions per platform in the download page for:
If you want to run Zabbix agent as root, see Running agent as root.
Zabbix 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.
With TimescaleDB, in addition to the import command for PostgreSQL, also run:
TimescaleDB is supported with Zabbix server only.
Zabbix uses socket-based inter-process communication. On systems where SELinux is enabled, it may be required to add SELinux rules to allow Zabbix 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 Zabbix frontend and server:
RHEL 7 and later or AlmaLinux, CentOS Stream, Oracle Linux, Rocky Linux 8 and later:
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:
RHEL prior to 7:
After the frontend and SELinux configuration is done, restart the Apache web server:
Optionally, you can download a pre-defined zabbix-selinux-policy package from Zabbix repository. This package is provided for all supported OS versions to speed up Zabbix deployment and configuration and prevent users from turning off SELinux because of the configuration complexity.
For maximum security level, it is recommended to set custom SELinux settings.
zabbix-selinux-policy package contains a basic default policy for SELinux allowing Zabbix 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;
Once the required repository is added, you can install Zabbix proxy by running:
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 Zabbix server and Zabbix proxy and will be used for data import.
Create a separate database for Zabbix proxy.
Zabbix server and Zabbix proxy cannot use the same database. If they are installed on the same host, the proxy database must have a different name.
Import initial schema:
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
Edit Zabbix proxy configuration file (/etc/zabbix/zabbix_proxy.conf
):
In DBName for Zabbix proxy use a separate database from Zabbix server.
In DBPassword use Zabbix 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 Zabbix. See SELinux configuration for instructions.
To start a Zabbix proxy process and make it start at system boot:
A Zabbix proxy does not have a frontend; it communicates with Zabbix server only.
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:
Proceed to setup for more details on configuring and running Java gateway.
Debuginfo package is currently available for RHEL 7.
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/7.2/stable/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.
This single package contains debug information for all binary Zabbix components.