2 Requirements

    Hardware

    Memory

    The more physical memory you have, the faster the database (and therefore Zabbix) works!

    CPU

    Zabbix and especially Zabbix database may require significant CPU resources depending on number of monitored parameters and chosen database engine.

    Other hardware

    A serial communication port and a serial GSM modem are required for using SMS notification support in Zabbix. USB-to-serial converter will also work.

    Examples of hardware configuration

    The table provides several examples of hardware configurations:

    Actual configuration depends on the number of active items and refresh rates very much (see section of this page for details). It is highly recommended to run the database on a separate box for large installations.

    Supported platforms

    Due to security requirements and the mission-critical nature of the monitoring server, UNIX is the only operating system that can consistently deliver the necessary performance, fault tolerance, and resilience. Zabbix operates on market-leading versions.

    Zabbix components are available and tested for the following platforms:

    PlatformServerAgentAgent2
    Linuxxxx
    IBM AIXxx-
    FreeBSDxx-
    NetBSDxx-
    OpenBSDxx-
    HP-UXxx-
    Mac OS Xxx-
    Solarisxx-
    Windows-xx

    Zabbix server/agent may work on other Unix-like operating systems as well. Zabbix agent is supported on all Windows desktop and server versions since XP.

    Zabbix disables core dumps if compiled with encryption and does not start if the system does not allow disabling of core dumps.

    Required software

    Zabbix is built around modern web servers, leading database engines, and PHP scripting language.

    Database management system
    SoftwareSupported versionsComments
    MySQL/Percona8.0.XRequired if MySQL (or Percona) is used as Zabbix backend database. InnoDB engine is required. We recommend using the library for building server/proxy.
    MariaDB10.5.00-10.6.XInnoDB engine is required. We recommend using the MariaDB Connector/C library for building server/proxy.
    Oracle19c - 21cRequired if Oracle is used as Zabbix backend database.
    PostgreSQL13.XRequired if PostgreSQL is used as Zabbix backend database.
    TimescaleDB for PostgreSQL2.0.1-2.3Required if TimescaleDB is used as Zabbix backend database. Make sure to install the distribution of TimescaleDB with the compression supported.
    SQLite3.3.5-3.34.XSQLite is only supported with Zabbix proxies. Required if SQLite is used as Zabbix proxy database.

    Although Zabbix can work with databases available in the operating systems, for the best experience, we recommend using databases installed from the official database developer repositories.

    Frontend

    The minimum supported screen width for Zabbix frontend is 1200px.

    Zabbix may work on previous versions of Apache, MySQL, Oracle, and PostgreSQL as well.

    For other fonts than the default DejaVu, PHP function imagerotate might be required. If it is missing, these fonts might be rendered incorrectly when a graph is displayed. This function is only available if PHP is compiled with bundled GD, which is not the case in Debian and other distributions.

    Web browser on client side

    The latest stable versions of Google Chrome, Mozilla Firefox, Microsoft Edge, Apple Safari, and Opera are supported.

    The same-origin policy for IFrames is implemented, which means that Zabbix cannot be placed in frames on a different domain.

    Still, pages placed into a Zabbix frame will have access to Zabbix frontend (through JavaScript) if the page that is placed in the frame and Zabbix frontend are on the same domain. A page like , if placed into dashboards on , will have full JS access to Zabbix.

    Server

    Mandatory requirements are needed always. Optional requirements are needed for the support of the specific function.

    RequirementStatusDescription
    libpcreMandatoryPCRE library is required for (PCRE) support.
    The naming may differ depending on the GNU/Linux distribution, for example ‘libpcre3’ or ‘libpcre1’. PCRE v8.x and PCRE2 v10.x (from Zabbix 6.0.0) are supported.
    libeventRequired for bulk metric support and IPMI monitoring. Version 1.4 or higher.
    Note that for Zabbix proxy this requirement is optional; it is needed for IPMI monitoring support.
    libpthreadRequired for mutex and read-write lock support.
    zlibRequired for compression support.
    OpenIPMIOptionalRequired for IPMI support.
    libssh2 or libsshRequired for SSH checks. Version 1.0 or higher (libssh2); 0.6.0 or higher (libssh).
    libssh is supported since Zabbix 4.4.6.
    fpingRequired for .
    libcurlRequired for web monitoring, VMware monitoring, SMTP authentication, Zabbix agent items, HTTP agent items and Elasticsearch (if used). Version 7.28.0 or higher is recommended.
    Libcurl version requirements:
    - SMTP authentication: version 7.20.0 or higher
    - Elasticsearch: version 7.28.0 or higher
    libxml2Required for VMware monitoring and XML XPath preprocessing.
    net-snmpRequired for SNMP support. Version 5.3.0 or higher.
    GnuTLS, OpenSSL or LibreSSLRequired when using .
    Agent
    RequirementStatusDescription
    libpcreMandatoryPCRE library is required for (PCRE) support.
    The naming may differ depending on the GNU/Linux distribution, for example ‘libpcre3’ or ‘libpcre1’. PCRE v8.x and PCRE2 v10.x (from Zabbix 6.0.0) are supported.
    GnuTLS, OpenSSL or LibreSSLOptionalRequired when using encryption.
    On Microsoft Windows systems OpenSSL 1.1.1 or later is required.

    Starting from version 5.0.3, Zabbix agent will not work on AIX platforms below versions 6.1 TL07 / AIX 7.1 TL01.

    Agent 2
    Java gateway

    If you obtained Zabbix from the source repository or an archive, then the necessary dependencies are already included in the source tree.

    If you obtained Zabbix from your distribution’s package, then the necessary dependencies are already provided by the packaging system.

    In both cases above, the software is ready to be used and no additional downloads are necessary.

    If, however, you wish to provide your versions of these dependencies (for instance, if you are preparing a package for some Linux distribution), below is the list of library versions that Java gateway is known to work with. Zabbix may work with other versions of these libraries, too.

    The following table lists JAR files that are currently bundled with Java gateway in the original code:

    LibraryLicenseWebsiteComments
    logback-core-1.2.3.jarEPL 1.0, LGPL 2.1Tested with 0.9.27, 1.0.13, 1.1.1 and 1.2.3.
    logback-classic-1.2.3.jarEPL 1.0, LGPL 2.1http://logback.qos.ch/Tested with 0.9.27, 1.0.13, 1.1.1 and 1.2.3.
    slf4j-api-1.7.30.jarMIT LicenseTested with 1.6.1, 1.6.6, 1.7.6 and 1.7.30.
    android-json-4.3_r3.1.jarApache License 2.0https://android.googlesource.com/platform/libcore/+/master/jsonTested with 2.3.3_r1.1 and 4.3_r3.1. See src/zabbix_java/lib/README for instructions on creating a JAR file.

    Java gateway can be built using either Oracle Java or open-source OpenJDK (version 1.6 or newer). Packages provided by Zabbix are compiled using OpenJDK. The table below provides information about OpenJDK versions used for building Zabbix packages by distribution:

    DistributionOpenJDK version
    RHEL/CentOS 81.8.0
    RHEL/CentOS 71.8.0
    SLES 1511.0.4
    SLES 121.8.0
    Debian 1011.0.8
    Ubuntu 20.0411.0.8
    Ubuntu 18.0411.0.8

    Database size

    Zabbix configuration data require a fixed amount of disk space and do not grow much.

    Zabbix database size mainly depends on these variables, which define the amount of stored historical data:

    • Number of processed values per second

    This is the average number of new values Zabbix server receives every second. For example, if we have 3000 items for monitoring with a refresh rate of 60 seconds, the number of values per second is calculated as 3000/60 = 50.

    • Housekeeper settings for history

    Zabbix keeps values for a fixed period of time, normally several weeks or months. Each new value requires a certain amount of disk space for data and index.

    So, if we would like to keep 30 days of history and we receive 50 values per second, the total number of values will be around (30*24*3600)* 50 = 129.600.000, or about 130M of values.

    Depending on the database engine used, type of received values (floats, integers, strings, log files, etc), the disk space for keeping a single value may vary from 40 bytes to hundreds of bytes. Normally it is around 90 bytes per value for numeric items2. In our case, it means that 130M of values will require 130M * 90 bytes = 10.9GB of disk space.

    The size of text/log item values is impossible to predict exactly, but you may expect around 500 bytes per value.

    • Housekeeper setting for trends

    Zabbix keeps a 1-hour max/min/avg/count set of values for each item in the table trends. The data is used for trending and long period graphs. The one hour period can not be customized.

    Zabbix database, depending on the database type, requires about 90 bytes per each total. Suppose we would like to keep trend data for 5 years. Values for 3000 items will require 3000*24*365* 90 = 2.2GB per year, or 11GB for 5 years.

    • Housekeeper settings for events

    Each Zabbix event requires approximately 250 bytes of disk space1. It is hard to estimate the number of events generated by Zabbix daily. In the worst-case scenario, we may assume that Zabbix generates one event per second.

    For each recovered event, an event_recovery record is created. Normally most of the events will be recovered so we can assume one event_recovery record per event. That means additional 80 bytes per event.

    Optionally events can have tags, each tag record requiring approximately 100 bytes of disk space1. The number of tags per event (#tags) depends on configuration. So each will need an additional #tags * 100 bytes of disk space.

    It means that if we want to keep 3 years of events, this would require 3*365*24*3600* (250+80+#tags*100) = ~30GB+#tags*100B disk space2.

    1 More when having non-ASCII event names, tags and values.

    2 The size approximations are based on MySQL and might be different for other databases.

    The table contains formulas that can be used to calculate the disk space required for Zabbix system:

    So, the total required disk space can be calculated as:
    Configuration + History + Trends + Events
    The disk space will NOT be used immediately after Zabbix installation. Database size will grow then it will stop growing at some point, which depends on housekeeper settings.

    Time synchronization