You can get the very latest version of Áú»¢¶Ä²© by compiling it from the sources.
A step-by-step tutorial for installing Áú»¢¶Ä²© from the sources is provided here.
Go to the and download the source archive. Once downloaded, extract the sources, by running:
Enter the correct Áú»¢¶Ä²© version in the command. It must match the name of the downloaded archive.
All Áú»¢¶Ä²© daemon processes run under unprivileged system users. If a Áú»¢¶Ä²© daemon is started from an unprivileged user account, it will continue running as that user.
In the default configuration, if a daemon is started as root
, it will switch to the zabbix
user account, which must be present. To create a zabbix
system user and group, run the commands listed below.
RedHat-based system:
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Áú»¢¶Ä²© Monitoring System" zabbix
Debian-based system:
addgroup --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix
There is no need to create a separate user account for Áú»¢¶Ä²© frontend.
If the Áú»¢¶Ä²© server and agent run on the same machine, it is recommended to run them under separate user accounts. Running both as the same user allows the agent to access the server's configuration file, which could expose sensitive information¡ªsuch as the database password¡ªto any Admin-level user in Áú»¢¶Ä²©.
Running Áú»¢¶Ä²© as root
, bin
, or any other account with special rights is a security risk.
Áú»¢¶Ä²© processes do not require a home directory, so creating one is generally not recommended. However, if you need functionality that requires a home directory (for example, storing MySQL credentials in $HOME/.my.cnf), you can create it using the commands listed below.
On RedHat-based systems, run:
On Debian-based systems, run:
For Áú»¢¶Ä²© server and proxy daemons, as well as Áú»¢¶Ä²© frontend, a database is required. It is not needed to run Áú»¢¶Ä²© agent.
SQL scripts are provided for creating database schema and inserting the dataset. Áú»¢¶Ä²© proxy database needs only the schema while Áú»¢¶Ä²© server database requires also the dataset on top of the schema.
Having created a Áú»¢¶Ä²© database, proceed to the following steps of compiling Áú»¢¶Ä²©.
C99 with GNU extensions is required for building Áú»¢¶Ä²© server, Áú»¢¶Ä²© proxy or Áú»¢¶Ä²© agent. This version can be explicitly specified by setting CFLAGS="-std=gnu99":
If installing from , it is required to run first:
./bootstrap.sh
When configuring the sources for a Áú»¢¶Ä²© server or proxy, you must specify the database type to be used. Only one database type can be compiled with a server or proxy process at a time.
To see all of the supported configuration options, inside the extracted Áú»¢¶Ä²© source directory run:
To configure the sources for a Áú»¢¶Ä²© server and agent, you may run something like:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-ares
To configure the sources for a Áú»¢¶Ä²© server (with PostgreSQL etc.), you may run:
To configure the sources for a Áú»¢¶Ä²© proxy (with SQLite etc.), you may run:
To configure the sources for a Áú»¢¶Ä²© agent, you may run:
or, for Áú»¢¶Ä²© agent 2:
A configured Go environment with a currently supported is required for building Áú»¢¶Ä²© agent 2. See for installation instructions.
Notes on compilation options:
web.page.*
Áú»¢¶Ä²© agent items. Note that cURL 7.20.0 or higher is required with the --with-libcurl configuration option.If ./configure fails due to missing libraries or some other circumstance, please see the config.log
file for more details on the error. For example, if libssl
is missing, the immediate error message may be misleading:
While config.log
has a more detailed description:
See also:
If installing from , it is required to run first:
$ make dbschema
This step should be run as a user with sufficient permissions (commonly 'root', or by using sudo
).
Running make install
will by default install the daemon binaries (zabbix_server, zabbix_agentd, zabbix_proxy) in /usr/local/sbin and the client binaries (zabbix_get, zabbix_sender) in /usr/local/bin.
To specify a different location than /usr/local, use a --prefix key in the previous step of configuring sources, for example --prefix=/home/zabbix. In this case daemon binaries will be installed under <prefix>/sbin, while utilities under <prefix>/bin. Man pages will be installed under <prefix>/share.
You need to configure this file for every host with zabbix_agentd installed.
You must specify the Áú»¢¶Ä²© server IP address in the file. Connections from other hosts will be denied.
You must specify the database name, user and password (if using any).
The rest of the parameters will suit you with their defaults if you have a small installation (up to ten monitored hosts). You should change the default parameters if you want to maximize the performance of Áú»¢¶Ä²© server (or proxy) though.
You must specify the server IP address and proxy hostname (must be known to the server), as well as the database name, user and password (if using any).
With SQLite the full path to database file must be specified; DB user and password are not required.
Run zabbix_server on the server side.
Make sure that your system allows allocation of 36MB (or a bit more) of shared memory, otherwise the server may not start and you will see "Cannot allocate shared memory for <type of cache>." in the server log file. This may happen on FreeBSD, Solaris 8.
Run zabbix_agentd on all the monitored machines.
Make sure that your system allows allocation of 2MB of shared memory, otherwise the agent may not start and you will see "Cannot allocate shared memory for collector." in the agent log file. This may happen on Solaris 8.
If you have installed Áú»¢¶Ä²© proxy, run zabbix_proxy.
Áú»¢¶Ä²© frontend is written in PHP, so to run it a PHP supported webserver is needed. Installation is done by simply copying the PHP files from the ui directory to the webserver HTML documents directory.
Common locations of HTML documents directories for Apache web servers include:
It is suggested to use a subdirectory instead of the HTML root. To create a subdirectory and copy Áú»¢¶Ä²© frontend files into it, execute the following commands, replacing the <htdocs> with actual directory:
If planning to use any other language than English, see Installation of additional frontend languages for instructions.
Please see Web interface installation page for information about Áú»¢¶Ä²© frontend installation wizard.
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.
To install from sources, first download and extract the source archive.
To compile Java gateway, run the ./configure
script with --enable-java
option. It is advisable that you specify the --prefix
option to request installation path other than the default /usr/local, because installing Java gateway will create a whole directory tree, not just a single executable.
To compile and package Java gateway into a JAR file, run make
. Note that for this step you will need javac
and jar
executables in your path.
Now you have a zabbix-java-gateway-$VERSION.jar file in src/zabbix_java/bin. If you are comfortable with running Java gateway from src/zabbix_java in the distribution directory, then you can proceed to instructions for configuring and running Java gateway. Otherwise, make sure you have enough privileges and run make install
.
Proceed to setup for more details on configuring and running Java gateway.
Installing Áú»¢¶Ä²© web service is only required if you want to use scheduled reports.
To install from sources, first download and extract the source archive.
To compile Áú»¢¶Ä²© web service, run the ./configure
script with --enable-webservice
option.
A configured version 1.13+ environment is required for building Áú»¢¶Ä²© web service.
Run zabbix_web_service on the machine, where the web service is installed:
Proceed to setup for more details on configuring Scheduled reports generation.