Zabbix 7.2 – instructions for installation in 5 minutes

What awaits us?

In this guide, we will show you how to install and configure the latest Zabbix version 7.2 with PostgreSQL 17 and TimescaleDB in just five minutes.

Operating System Selection

The guide includes instructions for RHEL platforms version 9, where you may only need to adjust the repositories if necessary. The Debian guide is prepared for version 12, which is currently the latest supported version.

Alma/CentOS/RHEL/Rocky 9
Debian 12

Before we start

For the purposes of this example, we will first switch SELinux to Permissive mode.

setenforce 0

PostgreSQL Installation

In the first step, we will install the PostgreSQL repositories and disable the default system PostgreSQL repositories.

dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
dnf -qy module disable postgresql

Next, we will install PostgreSQL, in this case, the currently supported version 17.

dnf install -y postgresql17-server

We will initialize the database and configure it to start automatically.

/usr/pgsql-17/bin/postgresql-17-setup initdb
systemctl enable postgresql-17 --now

Installation of Zabbix Server and Its Components

The database is now installed, so we can proceed with installing the Zabbix server and all its components.

First, we will exclude any installation packages related to Zabbix from the EPEL repository, assuming it is installed.

We do this by adding the following line to the end of the /etc/yum.repos.d/epel.repo file:

[epel]
...
excludepkgs=zabbix*

We will add the Zabbix repositories and clear the installation cache.

rpm -Uvh https://repo.zabbix.com/zabbix/7.2/release/rocky/9/noarch/zabbix-release-latest-7.2.el9.noarch.rpm
dnf clean all

And we will install all the necessary Zabbix components.

In this case, we will use Zabbix Agent 2 as the primary monitoring agent, which we recommend because it offers significantly more functionality.

dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-agent2 zabbix-web-service

Database Initialization

First, we will create a database user for Zabbix. You will be prompted to set its access password.

cd /tmp
sudo -u postgres createuser --pwprompt zabbix

At this point, we can import the default schema and data. You will again be prompted to enter the password.
Here, use the password from the previous step.

sudo -u postgres createdb -O zabbix zabbix
zcat /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

Firewall Configuration

Finally, we will allow the ports necessary for the operation of the Zabbix server on the firewall.

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-port=10051/tcp
firewall-cmd --reload

TimescaleDB Installation

Now we will proceed with the installation of TimescaleDB, starting by adding its official repository.

tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL
[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/$(rpm -E %{rhel})/\$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
EOL

Let’s install TimescaleDB.

dnf install timescaledb-2-postgresql-17 timescaledb-2-loader-postgresql-17

Run the timescaledb-tune utility, passing a higher maximum number of connections (--max-conns) as a parameter, which we will set to 125 for testing purposes.

This utility adjusts PostgreSQL’s default settings to optimize performance and configure PostgreSQL parameters appropriately for use with TimescaleDB.

Additionally, this utility, via an installation wizard, will help select the current and valid PostgreSQL configuration file and set up automatic loading of the TimescaleDB libraries.

Please answer “yes” (y) to all questions. Note that the automatic tuner assumes PostgreSQL is running on a dedicated server, so adjustments to the parameters may be necessary.

timescaledb-tune --pg-config /usr/pgsql-17/bin --max-conns=125

Next, restart the PostgreSQL system service:

systemctl restart postgresql-17.service

All that remains is to create and activate TimescaleDB itself:

Note: During development, the path changed from the original /usr/share/zabbix-sql-scripts/postgresql/timescaledb/schema.sql to the new /usr/share/zabbix/sql-scripts/postgresql/timescaledb/schema.sql.

echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
cat /usr/share/zabbix/sql-scripts/postgresql/timescaledb/schema.sql | sudo -u zabbix psql zabbix

Zabbix Server Configuration

Open the Zabbix server configuration file located at:

nano /etc/zabbix/zabbix_server.conf

In this configuration file, adjust the following parameters as shown in the template below:

...
DBPassword=password
StartReportWriters=1
WebServiceURL=http://localhost:10053/report
...

In the next step, we will configure all language packages for the Zabbix frontend:

dnf install glibc-langpack-en glibc-langpack-cs glibc-langpack-sk glibc-langpack-fr glibc-langpack-de glibc-langpack-es glibc-langpack-it glibc-langpack-zh glibc-langpack-pt glibc-langpack-da glibc-langpack-nb glibc-langpack-pl glibc-langpack-tr glibc-langpack-he glibc-langpack-ja glibc-langpack-ko glibc-langpack-ru glibc-langpack-uk glibc-langpack-ca glibc-langpack-ka glibc-langpack-vi

Finally, we restart all related services and configure them to start automatically at boot:

systemctl restart zabbix-server zabbix-web-service zabbix-agent2 httpd php-fpm
systemctl enable zabbix-server zabbix-web-service zabbix-agent2 httpd php-fpm

To verify that the Zabbix server has started correctly, we can, among other things, check its log file:

less /var/log/zabbix/zabbix_server.log

If you see a message in the log file stating that the TimescaleDB version is too new, it is not a major issue. Zabbix cannot respond quickly enough to the latest TimescaleDB versions to mark them as supported in its code. However, compatibility is guaranteed by Zabbix and verified by us.

In case of this error, simply open the Zabbix server configuration file located at /etc/zabbix/zabbix_server.conf and modify the following configuration parameter:

AllowUnsupportedDBVersions=1

Save the file with this configuration and restart the Zabbix server system service.

systemctl restart zabbix-server

Zabbix Frontend Configuration

In your browser, open the target URL where Zabbix is running, for example, http://192.168.0.50/zabbix. You will be greeted by the initial installation wizard.

After selecting the default language, click Next step to proceed to the page that checks the minimum requirements.

If the check is successful, click Next step to proceed to the next page where the database connection settings are configured.

Here, fill in only the Password field for database access; no other changes are necessary.

After entering the password, click Next step again.

On the next page with basic settings, fill in the server name and time zone, then click Next step to proceed to the configuration summary.

In this summary, review all the entered values, and click Next step to complete the installation.

Now, click the Finish button to proceed to the login screen.

After successfully logging in with the previously entered credentials, you can start using the latest Zabbix version 7.2 (Admin/zabbix).

And this is what the initial dashboard of the new Zabbix 7.2 looks like:

Zabbix Reporting Configuration

To ensure fully functional reporting with all its enhancements, we first need to install Google Chrome.

Use the following command to download the installation package and install it:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
dnf localinstall google-chrome-stable_current_x86_64.rpm

In the next step, we will update the “Frontend URL” parameter in the Zabbix frontend to the current valid value. This setting can be found here:

Administration -> General -> Other

An example of this configuration can be seen in the image below.


Installation of Dependencies

apt install sudo gpg curl wget

PostgreSQL Installation

In the first step, we will install the PostgreSQL repositories and disable the default system PostgreSQL repositories. When prompted with the message:
‘This script will enable the PostgreSQL APT repository on apt.postgresql.org on your system. The distribution codename used will be bookworm-pgdg.’
press Enter to continue and confirm the installation from the official repository.

apt install -y postgresql-common
/usr/share/postgresql-common/pgdg/apt.postgresql.org.sh

Next, we will install PostgreSQL, in this case, the currently supported version 17.

apt -y install postgresql-17

Starting PostgreSQL and configuring it to start automatically at system boot.

systemctl enable postgresql --now

Installation of Zabbix Server and Its Components

The database is now installed, so we can proceed with the installation of the Zabbix server and all its components.

We will add the Zabbix repositories and clear the installation cache.

wget https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.2+debian12_all.deb
dpkg -i zabbix-release_latest_7.2+debian12_all.deb
apt update

We will install all the necessary Zabbix components.

In this case, we will use Zabbix Agent 2 as the primary monitoring agent, which we recommend because it offers significantly more functionality.

apt install zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-agent2 zabbix-web-service

Database Initialization

First, we will create a database user for Zabbix. During the process, we will be prompted to enter its access password. Then, we will create an empty database and set the appropriate permissions for it.

sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix

At this point, we are ready to import the default schema and data. We will again be prompted to enter the password.

Here, we will use the password from the previous step.

zcat /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

TimescaleDB Installation

Now, we will proceed with the installation of TimescaleDB, starting by adding its official repository.

echo "deb https://packagecloud.io/timescale/timescaledb/debian/ $(lsb_release -c -s) main" | sudo tee /etc/apt/sources.list.d/timescaledb.list
wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/timescaledb.gpg

Let’s install TimescaleDB.

apt install timescaledb-2-postgresql-17 timescaledb-2-loader-postgresql-17

Run the timescaledb-tune utility, passing a higher value for the maximum number of connections (--max-conns), which we will set to 125 for testing purposes.

This utility adjusts the default PostgreSQL settings for performance and properly configures PostgreSQL parameters to work with TimescaleDB.

Additionally, the utility will help us select the current and valid PostgreSQL configuration file and automatically set up the loading of TimescaleDB libraries.

Please answer “yes” (y) to all questions. Note that the automatic tuner assumes PostgreSQL is running on a dedicated server, so some parameters may need to be adjusted.

timescaledb-tune --pg-config /usr/bin --max-conns=125

Next, we restart the PostgreSQL system service:

systemctl restart postgresql

All that remains is to create and activate TimescaleDB itself:

Note: During development, the path changed from the original /usr/share/zabbix-sql-scripts/postgresql/timescaledb/schema.sql to the new /usr/share/zabbix/sql-scripts/postgresql/timescaledb/schema.sql.

echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
cat /usr/share/zabbix/sql-scripts/postgresql/timescaledb/schema.sql | sudo -u zabbix psql zabbix

Zabbix Server Configuration

Open the Zabbix server configuration file located at:

nano /etc/zabbix/zabbix_server.conf

In this configuration file, we will modify the following parameters as shown in the template below:

...
DBPassword=password
StartReportWriters=1
WebServiceURL=http://localhost:10053/report
...

In the next step, we will configure the language packages for the Zabbix frontend. You can choose only the ones you need or enable all of them.

sed -i '/# en_US.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# en_GB.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# cs_CZ.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# sk_SK.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# fr_FR.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# de_DE.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# es_ES.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# it_IT.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# zh_CN.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# pt_PT.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# pt_BR.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# da_DK.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# nb_NO.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# pl_PL.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# tr_TR.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# he_IL.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# ja_JP.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# ko_KR.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# ru_RU.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# uk_UA.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# ca_ES.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# ka_GE.UTF-8 UTF-8/s/^# //' /etc/locale.gen
sed -i '/# vi_VN UTF-8/s/^# //' /etc/locale.gen
locale-gen

Finally, we will restart all related services and configure them to start automatically at boot:

systemctl restart zabbix-server zabbix-web-service zabbix-agent2 apache2
systemctl enable zabbix-server zabbix-web-service zabbix-agent2 apache2

To verify that the Zabbix server has started correctly, we can, among other things, check its log file:

less /var/log/zabbix/zabbix_server.log

If you see a message in the log file stating that the TimescaleDB version is too new, it is not a major issue. Zabbix cannot respond quickly enough to the latest TimescaleDB versions to mark them as supported in its code. However, compatibility is guaranteed by Zabbix and verified by us.

In case of this error, simply open the Zabbix server configuration file located at /etc/zabbix/zabbix_server.conf and modify the following configuration parameter:

AllowUnsupportedDBVersions=1

Save the file with this configuration and restart the Zabbix server system service.

systemctl restart zabbix-server

Zabbix Frontend Configuration

In your browser, open the target URL where Zabbix is running, for example, http://192.168.0.50/zabbix. You will be greeted by the initial installation wizard.

After selecting the default language, click Next step to proceed to the page that checks the minimum requirements.

If the check is successful, we can click Next step to proceed to the next page with the database connection settings.

Here, fill in only the Password field for database access; no other changes are necessary.

After entering the password, click Next step again.

On the next page with basic settings, fill in the server name and time zone, then click Next step to proceed to the configuration summary.

In this summary, review all the entered values, and click Next step to complete the installation.

Now, click the Finish button to proceed to the login screen.

After successfully logging in with the previously entered credentials, you can start using the latest Zabbix version 7.2 (Admin/zabbix).

And this is what the initial dashboard of the new Zabbix 7.2 looks like:

Zabbix Reporting Configuration

To ensure fully functional reporting with all its enhancements, we first need to install Google Chrome.

Use the following command to download the installation package and install it:

curl -fSsL https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/google-chrome.gpg >> /dev/null
echo deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main | sudo tee /etc/apt/sources.list.d/google-chrome.list
apt update
apt install google-chrome-stable

In the next step, we will update the “Frontend URL” parameter in the Zabbix frontend to the current valid value. This setting can be found here:

Administration -> General -> Other

An example of this configuration can be seen in the image below.

Finishing Touches

  • Verify that the Zabbix server and database server are running correctly and have the correct version.
  • Also, check if you encounter the following error when starting the server or proxy on the system:
  • ‘…the user limit of 1024 file descriptors is insufficient. The maximum number of concurrent checks per worker has been reduced…’ Instructions for resolving this issue can be found on our wiki.

Support for Item Browser

All the necessary steps can be found in a separate guide on our wiki.

Custom Rebranding

All the necessary steps can be found in a dedicated guide on our wiki.

×Shopping Cart

Your cart is empty.