2 Debian/Ubuntu/Raspbian

Overview

Official Zabbix 6.4 packages for Debian, Ubuntu, and Raspberry Pi OS (Raspbian) are available on Zabbix website.

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

Notes on installation

See the 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 Zabbix server
  • configuring PHP for Zabbix frontend
  • starting server/agent processes
  • configuring Zabbix frontend

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.

Importing data with Timescale DB

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

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

TimescaleDB is supported with Zabbix server only.

SELinux configuration

See SELinux configuration for RHEL.

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

  1. # service apache2 restart

Proxy installation

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

  1. # apt install zabbix-proxy-mysql zabbix-sql-scripts

Substitute ‘mysql’ in the command with ‘pgsql’ to use PostgreSQL, or with ‘sqlite3’ to use SQLite3.

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.

Creating database

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.

Importing data

Import initial schema:

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

For proxy with PostgreSQL (or SQLite):

  1. # cat /usr/share/zabbix-sql-scripts/postgresql/proxy.sql | sudo -u zabbix psql zabbix
  2. # cat /usr/share/zabbix-sql-scripts/sqlite3/proxy.sql | sqlite3 zabbix.db
Configure database for Zabbix proxy

Edit zabbix_proxy.conf:

  1. # vi /etc/zabbix/zabbix_proxy.conf
  2. DBHost=localhost
  3. DBName=zabbix
  4. DBUser=zabbix
  5. DBPassword=<password>

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. Refer to the respective section for RHEL for instructions.

Starting Zabbix proxy process

To start a Zabbix proxy process and make it start at system boot:

  1. # systemctl restart zabbix-proxy
  2. # systemctl enable zabbix-proxy
Frontend configuration

A Zabbix proxy does not have a frontend; it communicates with Zabbix 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 Zabbix Java gateway by running:

  1. # apt install zabbix-java-gateway

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