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