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
Linux x x x
Windows - 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.21.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
libpcre2 Да PCRE2 библиотека је потребна за подршку за Perl Compatible Regular Expression (PCRE).
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.8.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.
Минимална верзија: 1.16.0
Агент
Requirement Mandatory status Description
libpcre2 Да PCRE2 библиотека је потребна за подршку за Perl Compatible Regular Expression (PCRE).
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. Без libcurl-а, доступна је основна функционалност (нпр. web.page.get[http://example.com]). Са libcurl-ом, агент подржава додатне функције, као што су HTTP URL-ови са акредитивима (нпр. http://user:[email protected]) и HTTPS URL-ови.
Потребна је верзија 7.19.1 или новија (препоручује се 7.28.0 или новија).
Да бисте користили надограђене cURL функције, поново покрените Zabbix агента.
libmodbus Потребно само ако се користи Modbus праћење.
Верзија 3.0 или новија.
Агент 2
Requirement Mandatory status Description
Go Да Потребно за изградњу Zabbix агента 2 и његових додатака из изворног кода.
Подржан је Go 1.23 или новији. Погледајте go.dev за упутства за инсталацију.
Go библиотеке које користи Zabbix агент 2 и његови додаци су наведене у Zabbix Git репозиторијуму (библиотеке означене као indirect у репозиторијуму су зависности других потребних библиотека):
- Zabbix агент 2
- Подршка за додатке
- PostgreSQL
- MongoDB
- MSSQL
- Ember+
- NVIDIA ГПУ
- Пример додатка
libpcre2 Да Библиотека PCRE2 је потребна за подршку за Perl Compatible Regular Expression (PCRE).
PCRE2 v10.x је подржан.
Потребно за праћење логова. Такође је потребно на Windows-у.
libopenssl Не Потребно при коришћењу шифровања.
На UNIX платформама је потребан OpenSSL 1.0.1 или новији.
Библиотека OpenSSL мора имати омогућену PSK подршку. LibreSSL није подржан.
На Microsoft Windows системима је потребан OpenSSL 1.1.1 или новији.
Веб сервис

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

Потребна Go верзија за изградњу веб сервиса подудара се са оном која се користи за Zabbix агент 2.

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).

Величина базе података

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

Величина Zabbix базе података углавном зависи од ових променљивих, које дефинишу количину сачуваних историјских података:

  • Број обрађених вредности у секунди

Ово је просечан број нових вредности које Zabbix сервер прима сваке секунде. На пример, ако имамо 3000 ставки за праћење са брзином освежавања од 60 секунди, број вредности у секунди се израчунава као 3000/60 = 50.

То значи да се 50 нових вредности додаје у Zabbix базу података сваке секунде.

  • Подешавања кућног менаџера за историју

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

Дакле, ако желимо да чувамо 30 дана историје и примамо 50 вредности у секунди, укупан број вредности ће бити око (30*24*3600)* 50 = 129.600.000, или око 130 милиона вредности.

У зависности од коришћеног механизма базе података, типа примљених вредности (бројеви са покретним децималом, цели бројеви, стрингови, датотеке дневника итд.), простор на диску за чување једне вредности може варирати од 40 бајтова до стотина бајтова. Обично је то око 90 бајтова по вредности за нумеричке ставке2. У нашем случају, то значи да ће 130 милиона вредности захтевати 130M * 90 бајтова = 10,9GB простора на диску.

Величину текстуалних/вредности ставки дневника је немогуће тачно предвидети, али можете очекивати око 500 бајтова по вредности.

  • Подешавање Housekeeper-а за трендове

Zabbix чува скуп вредности од 1 сата за максимум/минимум/просек/број за сваку ставку у табели трендови. Подаци се користе за графиконе трендова и дугог периода. Период од једног сата се не може прилагодити.

Zabbix база података, у зависности од типа базе података, захтева око 90 бајтова за сваки збир. Претпоставимо да желимо да чувамо податке о трендовима 5 година. Вредности за 3000 ставки захтеваће 3000*24*365* 90 = 2,2 ГБ годишње, или 11 ГБ током 5 година.

  • Подешавања Housekeeper-а за догађаје

Сваки Zabbix догађај захтева приближно 250 бајтова простора на диску1. Тешко је проценити број догађаја које Zabbix генерише дневно. У најгорем случају, можемо претпоставити да Zabbix генерише један догађај у секунди.

За сваки опорављени догађај креира се запис event_recovery. Обично ће већина догађаја бити опорављена, тако да можемо претпоставити један запис event_recovery по догађају. То значи додатних 80 бајтова по догађају.

Опционо, догађаји могу имати ознаке, при чему сваки запис ознаке захтева приближно 100 бајтова простора на диску1. Број ознака по догађају (#tags) зависи од конфигурације. Дакле, сваком ће бити потребно додатних #tags * 100 бајтова простора на диску.

То значи да ако желимо да сачувамо 3 године догађаја, то би захтевало 3*365*24*3600* (250+80+#tags*100) = ~30GB+#tags*100B простора на диску2.

1 Више када имате имена, ознаке и вредности догађаја који нису ASCII.
2 Апроксимације величине су засноване на MySQL-у и могу се разликовати за друге базе података.

Табела садржи формуле које се могу користити за израчунавање простора на диску потребног за Zabbix систем:

Parameter Formula for required disk space (in bytes)
Zabbix конфигурација Фиксна величина. Обично 10MB или мање.
Историја дани*(ставке/брзина освежавања)*24*3600*бајтова
ставке : број ставки
дани : број дана за чување историје
брзина освежавања : просечна брзина освежавања ставки
бајтови : број бајтова потребних за чување једне вредности, зависи од механизма базе података, обично ~90 бајтова.
Трендови дани*(ставке/3600)*24*3600*бајтова
ставке : број ставки
дани : број дана за чување историје
бајтови : број бајтова потребан за чување једног тренда, зависи од механизма базе података, обично ~90 бајтова.
Догађаји дани*догађаји*24*3600*бајтова
догађаји : број догађаја у секунди. Један (1) догађај у секунди у најгорем случају.
дани : број дана за чување историје
бајтови : број бајтова потребан за чување једног тренда, зависи од механизма базе података, обично ~330 + просечан број ознака по догађају * 100 бајтова.

Дакле, укупан потребан простор на диску може се израчунати као:

Конфигурација + Историја + Трендови + Догађаји

Простор на диску НЕЋЕ бити коришћен одмах након инсталације Zabbix-а. Величина базе података ће расти, а затим ће у неком тренутку престати да расте, што зависи од подешавања домаћице.

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

Веома је важно имати прецизно системско време на серверу са 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 везе обично не захтевају експлицитна подешавања заштитног зида.