2 Debian/Ubuntu/Raspbian

Overview

Official Zabbix packages are available for:

Debian 10 (Buster)Download
Debian 9 (Stretch)Download
Debian 8 (Jessie)Download
Ubuntu 20.04 (Focal Fossa) LTSDownload
Ubuntu 18.04 (Bionic Beaver) LTSDownload
Ubuntu 16.04 (Xenial Xerus) LTSDownload
Ubuntu 14.04 (Trusty Tahr) LTSDownload
Raspbian (Buster)Download
Raspbian (Stretch)Download

Packages are available with either MySQL/PostgreSQL database and Apache/Nginx webserver 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

Zabbix agent 2 (zabbix-agent2) is supported only on Debian 9/10 and Ubuntu 18.04/20.04.

If you want to run Zabbix agent as root, see Running agent as root.

Debian-based distributions usually provide their own Zabbix packages in their repositories. These are not supported by Zabbix. Only the ones from Zabbix Official Repository are.

Importing data with Timescale DB

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

  1. # zcat /usr/share/doc/zabbix-server-pgsql*/timescaledb.sql.gz | sudo -u zabbix psql zabbix

TimescaleDB is supported with Zabbix server only.

PHP 7.2

Zabbix frontend requires PHP version 7.2 or newer starting with Zabbix 5.0.

See instructions for installing Zabbix frontend on distributions with PHP versions below 7.2.

SELinux configuration

See SELinux configuration for RHEL/CentOS.

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

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

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. # zcat /usr/share/doc/zabbix-proxy-mysql/schema.sql.gz | mysql -uzabbix -p zabbix

For proxy with PostgreSQL (or SQLite):

  1. # zcat /usr/share/doc/zabbix-proxy-pgsql/schema.sql.gz | sudo -u zabbix psql zabbix
  2. # zcat /usr/share/doc/zabbix-proxy-sqlite3/schema.sql.gz | sqlite3 zabbix.db
Configure database for Zabbix proxy

Edit zabbix_proxy.conf:

  1. # vi /etc/zabbix/zabbix_server.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; PosgreSQL user password for PosgreSQL.

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/CentOS 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.