This is an old revision of the document!
Official Zabbix packages are available for:
Packages are available with either MySQL/PostgreSQL database and Apache/Nginx webserver support.
Zabbix official repository provides fping, iksemel, libssh2 packages as well. These packages are located in the non-supported directory.
See installation instructions per platform in the download page for:
If you want to run Zabbix agent as root, see Running agent as root.
With TimescaleDB, in addition to the import command for PostgreSQL, also run:
# zcat /usr/share/doc/zabbix-server-pgsql*/timescaledb.sql.gz | sudo -u zabbix psql zabbix
Zabbix frontend requires additional packages not available in basic installation. You need to enable repository of optional rpms in the system you will run Zabbix frontend on:
# yum-config-manager --enable rhel-7-server-optional-rpms
Zabbix frontend requires PHP version 7.2 or newer starting with Zabbix 5.0.
Note that RHEL/CentOS 7 only provide PHP 5.4. See instructions for installing Zabbix frontend on Red Hat Enterprise Linux/CentOS 7.
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
After the frontend and SELinux configuration is done, restart the Apache web server:
# service httpd restart
Once the required repository is added, you can install Zabbix proxy by running:
# yum install zabbix-proxy-mysql
Substitute 'mysql' in the commands with 'pgsql' to use PostgreSQL, or with 'sqlite3' to use SQLite3 (proxy only).
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:
# 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
# vi /etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=<password>
In DBName for Zabbix proxy use a separate database from Zabbix server.
In DBPassword use Zabbix database password for MySQL; PosgreSQL user password for PosgreSQL.
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:
# service zabbix-proxy start # systemctl enable zabbix-proxy
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:
# yum install zabbix-java-gateway
Proceed to setup for more details on configuring and running Java gateway.
To enable debuginfo repository edit /etc/yum.repos.d/zabbix.repo file.
enabled=1 for zabbix-debuginfo repository.
[zabbix-debuginfo] name=Zabbix Official Repository debuginfo - $basearch baseurl=http://repo.zabbix.com/zabbix/4.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.
# yum install zabbix-debuginfo
This single packages contains debug information for all binary Zabbix componets.