Меморија
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 кориснички интерфејс кода:
Колачићи и 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 или новија. |
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.
Ако сте 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 бајтова по вредности.
Zabbix чува скуп вредности од 1 сата за максимум/минимум/просек/број за сваку ставку у табели трендови. Подаци се користе за графиконе трендова и дугог периода. Период од једног сата се не може прилагодити.
Zabbix база података, у зависности од типа базе података, захтева око 90 бајтова за сваки збир. Претпоставимо да желимо да чувамо податке о трендовима 5 година. Вредности за 3000 ставки захтеваће 3000*24*365* 90 = 2,2 ГБ годишње, или 11 ГБ током 5 година.
Сваки 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 везе обично не захтевају експлицитна подешавања заштитног зида.