Official Zabbix packages are available for:
|Debian 10 (Buster)||Download|
|Debian 9 (Stretch)||Download|
|Debian 8 (Jessie)||Download|
|Ubuntu 20.04 (Focal Fossa) LTS||Download|
|Ubuntu 18.04 (Bionic Beaver) LTS||Download|
|Ubuntu 16.04 (Xenial Xerus) LTS||Download|
|Ubuntu 14.04 (Trusty Tahr) LTS||Download|
Install the repository configuration package. This package contains apt (software package manager) configuration files.
For Debian 10, run the following commands:
Note! For Debian 9, substitute 'buster' with 'stretch' in the commands. For Debian 8, substitute 'buster' with 'jessie' in the commands.
For Ubuntu 20.04 (focal), run the following commands:
For Raspbian, run the following commands:
To install Zabbix server with MySQL support:
To install Zabbix proxy with MySQL support:
Substitute 'mysql' in the commands with 'pgsql' to use PostgreSQL, or with 'sqlite3' to use SQLite3 (proxy only).
To install Zabbix frontend:
Substitute 'apache' in the command with 'nginx' if using the Nginx web server.
Separate databases are needed for Zabbix server and Zabbix proxy; they cannot use the same database. Therefore, if they are installed on the same host, their databases must be created with different names!
Now import initial schema and data for the server with MySQL:
You will be prompted to enter your newly created database password.
With TimescaleDB, in addition to the previous command, also run:
TimescaleDB is supported with Zabbix server only.
For proxy, import initial schema:
For proxy with PostgreSQL (or SQLite):
Edit zabbix_server.conf (and zabbix_proxy.conf) to use their respective databases. For example:
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. Refer to the respective section for RHEL/CentOS for instructions.
It's time to start Zabbix server process and make it start at system boot:
Substitute 'zabbix-server' with 'zabbix-proxy' to start Zabbix proxy process. Substitute 'apache2' with 'nginx' for Nginx web server.
Refer to the respective section for RHEL/CentOS.
As frontend and SELinux configuration is done, you need to restart Apache web server:
Depending on the web server used (Apache/Nginx) edit the corresponding configuration file for Zabbix frontend:
/etc/zabbix/apache.conf. Some PHP settings are already configured. But it's necessary to uncomment the "date.timezone" setting and set the right timezone for you.
/etc/zabbix/nginx.conf. For Zabbix frontend to work, it's necessary to uncomment and set
Its configuration file is located in
/etc/zabbix/php-fpm.conf. Some PHP settings are already configured. But it's necessary to set the right date.timezone setting for you.
Now you are ready to proceed with frontend installation steps which will allow you to access your newly installed Zabbix.
Note that a Zabbix proxy does not have a frontend; it communicates with Zabbix server only.
To install the agent, run
To start the agent, run:
Substitute 'zabbix-agent' with 'zabbix-agent2' in these commands if using Zabbix agent 2 (only Debian 9/10, Ubuntu 18.04/20.04).
If you want to run Zabbix agent as root, see here https://www.zabbix.com/documentation/4.4/manual/appendix/install/run_agent_as_root.
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.