This is a translation of the original English documentation page. Help us make it better.

2 Захтеви

Hardware

Меморија

Zabbix захтева и физичку и диск меморију. Количина потребног диска меморија очигледно зависи од броја домаћина и параметара који су се прати. Ако планирате да задржите дугу историју праћења параметара, требало би да мислите на најмање пар гигабајта имају довољно простора за чување историје у бази података. Сваки Zabbix демон процес захтева неколико веза са сервером базе података. Износ од меморија додељена за везу зависи од конфигурације механизам базе података.

Што више физичке меморије имате, брже ради база података (а самим тим и Zabbix).

CPU

Zabbix и посебно Zabbix база података могу захтевати значајан CPU ресурса у зависности од броја праћених параметара и изабраних механизам базе података.

Други хардвер

За серијски комуникациони порт и серијски GSM модем су потребни користећи подршку за SMS обавештења у Zabbix-у. USB-серијски претварач ће такође раде.

Примери конфигурације хардвера

Табела даје примере конфигурације хардвера, под претпоставком да је у питању платформа Linux/BSD/Unix.

Ово су примери величине и конфигурације хардвера за почетак. Свака Zabbix инсталација је јединствена.

Обавезно упоредите перформансе вашег Zabbix система у припремном или развојном окружењу, како бисте могли у потпуности да разумете своје захтеве пре него што инсталирате Zabbix у његово продукционо окружење.

Installation size Monitored metrics1 CPU/vCPU cores Memory
(GiB)
Database Amazon EC22
Small 1 000 2 8 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.large/m6g.large
Medium 10 000 4 16 MySQL Сервер,
Percona Сервер,
MariaDB Сервер,
PostgreSQL
m6i.xlarge/m6g.xlarge
Large 100 000 16 64 MySQL Сервер,
Percona Сервер,
MariaDB Сервер,
PostgreSQL
m6i.4xlarge/m6g.4xlarge
Very large 1 000 000 32 96 MySQL Сервер,
Percona Сервер,
MariaDB Сервер,
PostgreSQL
m6i.8xlarge/m6g.8xlarge

1 1 метрика = 1 ставка + 1 окидач + 1 графикон
2 Пример са Amazon EC2 инстанцама опште намене, користећи ARM64 или x86_64 архитектуру, одговарајући тип инстанце као што је оптимизована за рачунарство/меморију/складиштење треба изабрати током евалуације и тестирања Zabbix-а пре инсталирања у производном окружењу.

Стварна конфигурација у великој мери зависи од броја активних ставки и брзине освежавања (погледајте одељак величина базе података ове странице за детаље). Топло се препоручује покретање базе података на одвојеном серверу за велике инсталације.

Подржане платформе

Због безбедносних захтева и критичне природе сервера за праћење, UNIX је једини оперативни систем који може доследно да испоручи потребне перформансе, толеранцију на грешке и отпорност. Zabbix ради на водећим верзијама на тржишту.

Zabbix компоненте су доступне и тестиране за следеће платформе:

Platform Server Agent Agent 2 Comments
Линукс x x x x
Виндоус - x x Zabbix агент је подржан на свим десктоп и сервер верзијама од Windows XP (64-битни)/Server 2003.

Zabbix агент 2 је подржан на свим десктоп и сервер верзијама од Windows 10 (32-битни)/Server 2016, јер је компајлиран само са подржаним Go издањима како би се спречиле критичне безбедносне рањивости. Од верзије Go 1.21, минимално потребне верзије Windows-а су подигнуте, што Windows 10/Server 2016 чини минималном верзијом за Zabbix агента 2.
macOS x x -
IBM AIX x x - Zabbix агент не ради на AIX платформама испод верзија 6.1 TL07 / 7.1 TL01.
FreeBSD x x -
OpenBSD x x -
Solaris x x -
NetBSD x x -
HP-UX x x -

Zabbix сервер/агент може радити на другим Unix-сличним оперативним системима.

Zabbix онемогућава избацивање основних података ако је компајлиран са енкрипцијом и не покреће се ако систем не дозвољава онемогућавање избацивање основних података.

Потребан софтвер

Zabbix је изграђен око модерних веб сервера, водећих машина за базе података и PHP скрипт језик.

Спољни софтвер за окружење треће стране

Ако је наведено као обавезно, потребан софтвер/библиотека је строго неопходна. Опциони су потребни за подршку неких специфичних функција.

Software Mandatory status Supported versions
MySQL/Percona Једна од 8.0.30-9.0.X
MariaDB 10.5.00-11.5.X
PostgreSQL 13.0-17.X
TimescaleDB за PostgreSQL 2.13.0-2.19.X
SQLite Опционо 3.3.5-3.34.X
smartmontools 7.1 или новија
who
dpkg
pkgtool
rpm
pacman
q аплети

Иако Zabbix може да ради са базама података доступним у оперативним системима, за најбоље искуство препоручујемо коришћење база података инсталираних из званичних репозиторијума програмера база података.

Фронтенд

Минимална подржана ширина екрана за Zabbix фронтенд је 1200 пиксела.

Ако је наведено као обавезно, потребан софтвер/библиотека је строго неопходна. Опциони су потребни за подршку неких специфичних функција.

Software Mandatory status Supported versions
PHP Да 8.0.0 - 8.4.X
Apache Један од 2.4 или новији
Nginx 1.20 или новији
MySQL Један од
PostgreSQL
PHP екстензије
mysqli Да
pgsql
bcmath
mbstring
sockets
gd 2.0.28 или новији
libxml 2.6.15 или новија
xmlwriter
xmlreader
ctype
session
ldap Не
openssl
gettext
curl

Библиотеке трећих страна за фронтенд које се испоручују са Zabbix-ом:

Library Mandatory status Minimum version
jQuery JavaScript библиотека Да 3.6.0
jQuery UI 1.12.1
SAML PHP комплет алата 4.0.0
Symfony Yaml компонента 5.1.0

Zabbix може да ради и на претходним верзијама Apache-а, MySQL-а и PostgreSQL-а.

За друге фонтове осим подразумеваног DejaVu-а, PHP функција imagerotate може бити потребна. Ако недостаје, ови фонтови могу бити погрешно приказани када се прикаже графикон. Ова функција је доступна само ако је PHP компајлиран са укљученим GD-ом, што није случај у Дебијану и другим дистрибуцијама.

Библиотеке трећих страна које се користе за писање и дебаговање Zabbix кориснички интерфејс кода:

Library Mandatory status Minimum version
Composer Не 2.4.1
PHPUnit 8.5.29
SASS 3.4.22
Веб претраживач на страни клијента

Колачићи и JavaScript морају бити омогућени.

Најновије стабилне верзије Google Chrome-а, Mozilla Firefox-a, Microsoft-а Подржани су Edge, Apple Safari и Opera.

Примењује се политика истог порекла за IFrames, што значи да се Zabbix не може поставити у оквире на другом домен.

Ипак, странице смештене у Zabbix оквир имаће приступ Zabbix-у фронтенд (преко JavaScript) ако је страница која је смештена у оквир и Zabbix корисничком интерфејсу су на истом домену. Свиђа ми се страница http://secure-zabbix.com/cms/page.html, ако се постави на контролне табле на http://secure-zabbix.com/zabbix/, имаће пун JS приступ Zabbix.

Сервер/прокси

Ако је наведено као обавезно, потребан софтвер/библиотека је строго неопходна. Опциони су потребни за подршку неких специфичних функција.

Requirement Mandatory status Description
libpcre/libpcre2 Једна од PCRE/PCRE2 библиотека је потребна за подршку за Perl Compatible Regular Expression (PCRE).
Именовање се може разликовати у зависности од ГНУ/Линукс дистрибуције, на пример 'libpcre3' или 'libpcre1'. Подржани су PCRE v8.x и PCRE2 v10.x.
libevent Да Потребно за комуникацију између процеса. Верзија 2.0.10 или новија.
libevent-pthreads Потребно за комуникацију између процеса.
libpthread Потребно за подршку за mutex и закључавање читања и писања (може бити део libc-а).
libresolv Потребно за DNS разрешавање (може бити део libc-а).
libiconv Потребно за кодирање текста/конверзију формата (може бити део libc-а). Обавезно за Zabbix сервер на Linux-у.
libz Потребно за подршку компресије.
libm Математичка библиотека. Потребно само за Zabbix сервер.
libmysqlclient Једно од Потребно ако се користи MySQL.
libmariadb Потребно ако се користи MariaDB.
libpq5 Потребно ако се користи PostgreSQL; Верзија libpq5 мора да се подудара са или да буде новија од верзије коришћене PostgreSQL базе података.
libsqlite3 Потребно ако се користи SQLite. Потребно само за Zabbix прокси.
libOpenIPMI Не Потребно за IPMI подршку. Потребно само за Zabbix сервер.
libssh2 или libssh Потребно за SSH провере. Верзија 1.0 или новија (libssh2); 0.9.0 или новија (libssh).
libcurl Потребно за веб праћење, VMware праћење, SMTP аутентификацију, web.page.* Zabbix агент items, HTTP агент ставке и Elasticsearch (ако се користи). Потребна је верзија 7.19.1 или новија (препоручује се 7.28.0 или новија).
Захтеви за верзију Libcurl-а:
- SMTP аутентификација: верзија 7.20.0 или новија
- Elasticsearch: верзија 7.28.0 или новија
Да бисте користили надограђене cURL функције, поново покрените Zabbix сервер/прокси и агента (за ставке web.page.*).
libxml2 Потребно за VMware праћење и XML XPath претходну обраду.
net-snmp Потребно за SNMP подршку. Верзија 5.3.0 или новија.
Подршка за протоколе јаког шифровања (AES192/AES192C, AES256/AES256C) је доступна почев од библиотеке net-snmp 5.8; на системима заснованим на RHEL 8+ препоручује се коришћење net-snmp 5.8.15 или новије верзије.
libunixodbc Потребно за праћење базе података.
libgnutls или libopenssl Потребно када се користи encryption.
Минималне верзије: libgnutls - 3.1.18, libopenssl - 1.0.1
libldap Потребно за LDAP подршку.
fping Потребно за ICMP ping ставке.
c-ares Потребно за асинхроно DNS решавање ако је Zabbix конфигурисан са опцијом --with-ares. У супротном, користиће се libevent.
Подржано од Zabbix-а 7.2.5; минимална верзија: 1.16.0
Агент
Requirement Mandatory status Description
libpcre/libpcre2 Једна од PCRE/PCRE2 библиотека је потребна за подршку за Perl Compatible Regular Expression (PCRE).
Именовање се може разликовати у зависности од ГНУ/Линукс дистрибуције, на пример 'libpcre3' или 'libpcre1'. Подржани су PCRE v8.x и PCRE2 v10.x.
Потребно за праћење логова. Такође је потребно на Windows-у.
libpthread Да Потребно за подршку за mutex и закључавање читања и писања (може бити део libc-а). Није потребно на Windows-у.
libresolv Потребно за DNS разрешавање (може бити део libc-а). Није потребно на Windows-у.
libiconv Потребно за кодирање текста/конверзију формата у UTF-8 у ставкама дневника, садржају датотеке, регуларним изразима датотеке и ставкама regmatch (могу бити део libc-а). Није потребно на Windows-у.
libgnutls или libopenssl Не Потребно ако се користи encryption.
Минималне верзије: libgnutls - 3.1.18, libopenssl - 1.0.1
На Microsoft Windows-у је потребан OpenSSL 1.1.1 или новији.
libldap Потребно ако се користи LDAP. Није подржано на Windows-у.
libcurl Потребно за web.page.* Zabbix агент items. Није подржано на Windows-у.
Потребна је верзија 7.19.1 или новија (препоручује се 7.28.0 или новија).
Да бисте користили надограђене cURL функције, поново покрените Zabbix агента.
libmodbus Потребно само ако се користи Modbus праћење.
Верзија 3.0 или новија.
Агент 2
Requirement Mandatory status Description
libpcre/libpcre2 Једна од PCRE/PCRE2 библиотека је потребна за подршку за Perl Compatible Regular Expression (PCRE).
Именовање се може разликовати у зависности од GNU/Linux дистрибуције, на пример 'libpcre3' или 'libpcre1'. Подржани су PCRE v8.x и PCRE2 v10.x.
Потребно за праћење логова. Такође потребно на Windows-у.
libopenssl Не Потребно када се користи шифровање.
OpenSSL 1.0.1 или новији је потребан на UNIX платформама.
OpenSSL библиотека мора имати омогућену PSK подршку. LibreSSL није подржан.
На Microsoft Windows системима је потребан OpenSSL 1.1.1 или новији.

Go библиотеке

1 "Индиректно" значи да се користи у једној од библиотека које агент користи. Потребно је јер Zabbix користи библиотеку која користи пакет.

Погледајте и зависности за учитавајуће додатке:

Веб сервис

Најновија стабилна верзија Google Chrome-а је подржана за генерисање планираних извештаја уз помоћ Zabbix веб сервиса.

Java gateway

Ако сте Zabbix добили из изворног репозиторијума или архиве, онда су потребне зависности већ укључене у изворно стабло.

Ако сте Zabbix добили из пакета ваше дистрибуције, онда су потребне зависности већ обезбеђене од стране система паковања.

У оба горе наведена случаја, софтвер је спреман за употребу и нису потребна додатна преузимања.

Међутим, ако желите да обезбедите своје верзије ових зависности (на пример, ако припремате пакет за неку Linux дистрибуцију), испод је листа верзија библиотека са којима Јава гејтвеј ради. Zabbix може да ради и са другим верзијама ових библиотека.

Следећа табела наводи JAR датотеке које су тренутно у пакету са Java гејтвејем у оригиналном коду:

Library Mandatory status Minimum version Comments
android-json Да 4.3r1 JSON (JavaScript објектна нотација) је лагани формат за размену података. Ово је Android имплементација компатибилна са org.json издвојена из Android SDK-а.
logback-classic 1.5.16
logback-core 1.5.16
slf4j-api 2.0.16

Java гејтвеј може бити изграђен коришћењем Oracle Java-е или OpenJDK-а отвореног кода (верзија 1.6 или новија). Пакети које пружа Zabbix су компајлирани користећи OpenJDK. Следећа табела наводи OpenJDK пакете који се користе за изградњу Zabbix пакета по дистрибуцији:

Distribution OpenJDK package
AlmaLinux 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3)
AlmaLinux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.332.b09-2; arm64: 1.8.0.382.b05-2)
Amazon Linux 2023 java-22-amazon-corretto-devel (amd64, arm64: 22.0.2+9-1)
CentOS Stream 9 java-11-openjdk-devel (amd64, arm64: 11.0.18.0.10-3)
CentOS Stream 8 java-1.8.0-openjdk-devel (amd64, arm64: 1.8.0.362.b08-3)
CentOS 7 java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1)
Debian 12 default-jdk-headless (amd64, arm64: 2:1.17-74)
Debian 11 default-jdk-headless (amd64: 2:1.11-72)
OpenSUSE Leap 15 java-17-openjdk-devel (amd64: 17.0.5.0-150400.3.9.3; arm64: 17.0.8.0-150400.3.27.1)
Oracle Linux 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4.0.1; arm64: 11.0.20.0.8-2.0.1)
Oracle Linux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4.0.1); java-11-openjdk-devel (arm64: 11.0.20.0.8-3.0.1)
Oracle Linux 7 java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1)
Raspberry Pi OS 12 default-jdk-headless (arm64, armhf: 2:1.17-74)
Raspberry Pi OS 11 default-jdk-headless (arm64: 2:1.11-72; armhf: 2:1.11-72+b4)
RHEL 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3)
RHEL 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2)
RHEL 7 java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1)
Rocky Linux 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3)
Rocky Linux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2)
SLES 15 java-17-openjdk-devel (amd64: 17.0.5.0-150400.3.9.3; arm64: 17.0.8.0-150400.3.27.1)
Ubuntu 24.04 default-jdk-headless (amd64, arm64: 2:1.21-75+exp1)
Ubuntu 22.04 default-jdk-headless (amd64, arm64: 2:1.11-72build2)
Ubuntu 20.04 default-jdk-headless (amd64, arm64: 2:1.11-72)

Подразумевани бројеви портова

Следећа листа отворених портова по компоненти важи за подразумевану конфигурацију:

Zabbix component Port number Protocol Type of connection
Zabbix агент 10050 TCP на захтев
Zabbix агент 2 10050 TCP на захтев
Zabbix сервер 10051 TCP на захтев
Zabbix прокси 10051 TCP на захтев
Zabbix Јава гејтвеј 10052 TCP на захтев
Zabbix веб сервис 10053 TCP на захтев
Zabbix фронтенд 80 HTTP на захтев
443 HTTPS на захтев
Zabbix trapper 10051 TCP на захтев

Бројеви портова треба да буду отворени у заштитном зиду (firewall) да би се омогућила Zabbix комуникација. Одлазне TCP везе обично не захтевају експлицитна подешавања заштитног зида (firewall).

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.

It means that 50 new values are added to Zabbix database every second.

  • 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:

Parameter Formula for required disk space (in bytes)
Zabbix configuration Fixed size. Normally 10MB or less.
History days*(items/refresh rate)*24*3600*bytes
items : number of items
days : number of days to keep history
refresh rate : average refresh rate of items
bytes : number of bytes required to keep single value, depends on database engine, normally ~90 bytes.
Trends days*(items/3600)*24*3600*bytes
items : number of items
days : number of days to keep history
bytes : number of bytes required to keep single trend, depends on the database engine, normally ~90 bytes.
Events days*events*24*3600*bytes
events : number of event per second. One (1) event per second in worst-case scenario.
days : number of days to keep history
bytes : number of bytes required to keep single trend, depends on the database engine, normally ~330 + average number of tags per event * 100 bytes.

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.

Временска синхронизација

Веома је важно имати прецизно системско време на серверу са Zabbix ради. ntpd је најпопуларнији демон који синхронизује време домаћина са временом других машина. То је топло се препоручује одржавање синхронизованог системског времена на свим системима Zabbix компоненте раде на.

Мрежни захтеви

Следећа листа отворених портова по компоненти је применљива за подразумевану конфигурацију.

Port Components
Frontend http на 80, https на 443
Server 10051 (за употребу са активним проксијем/агентима)
Active Proxy 10051
Passive Proxy 10051
Agent2 10050
Trapper
JavaGateway 10052
WebService 10053

Бројеве портова треба отворити у заштитном зиду да би се омогућила спољна комуникација са Zabbix-ом. Одлазне TCP везе обично не захтевају експлицитна подешавања заштитног зида.