Geheugen
Zabbix vereist zowel fysiek geheugen als schijfgeheugen. De hoeveelheid benodigd schijfgeheugen is uiteraard afhankelijk van het aantal hosts en parameters dat wordt gemonitord. Als je van plan bent om een lange geschiedenis van gemonitorde parameters te bewaren, moet je rekenen op minstens enkele gigabytes om voldoende ruimte te hebben om de geschiedenis in de database op te slaan. Elk Zabbix-daemonproces vereist meerdere verbindingen met een databaseserver. De hoeveelheid geheugen die wordt toegewezen voor de verbinding is afhankelijk van de configuratie van de database-engine.
Hoe meer fysiek geheugen je hebt, des te sneller werkt de database (en daarmee Zabbix).
CPU
Zabbix en vooral de Zabbix-database kunnen aanzienlijke CPU-bronnen vereisen, afhankelijk van het aantal gemonitorde parameters en de gekozen database-engine.
Andere hardware
Een seriële communicatiepoort en een seriële GSM-modem zijn vereist voor het gebruik van SMS-meldingsondersteuning in Zabbix. Een USB-naar-seriële converter werkt ook.
De tabel geeft voorbeelden van hardwareconfiguratie, uitgaande van een Linux/BSD/Unix platform.
Dit zijn voorbeelden van grootte en hardwareconfiguratie om mee te beginnen. Elke Zabbix-installatie is uniek. Zorg ervoor dat je de prestaties van je Zabbix-systeem benchmarkt in een staging- of ontwikkelingsomgeving, zodat je je eisen volledig begrijpt voordat je de Zabbix-installatie implementeert in de productieomgeving.
Installatiegrootte | Gemonitorde metrics1 | CPU/vCPU-cores | Geheugen (GiB) |
Database | Amazon EC22 |
---|---|---|---|---|---|
Klein | 1 000 | 2 | 8 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL |
m6i.large/m6g.large |
Middelgroot | 10 000 | 4 | 16 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL |
m6i.xlarge/m6g.xlarge |
Groot | 100 000 | 16 | 64 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL, Oracle |
m6i.4xlarge/m6g.4xlarge |
Zeer groot | 1 000 000 | 32 | 96 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL, Oracle |
m6i.8xlarge/m6g.8xlarge |
1 1 metric = 1 item + 1 trigger + 1 graph
2 Voorbeeld met Amazon EC2-instances voor algemeen gebruik, gebruikmakend van de ARM64- of x86_64-architectuur. Een geschikt instancetype, zoals Compute/Memory/Storage optimized, moet worden geselecteerd tijdens de evaluatie en testen van de Zabbix-installatie voordat deze in de productieomgeving wordt geïnstalleerd.
De werkelijke configuratie hangt sterk af van het aantal actieve items en verversingsfrequenties (zie het gedeelte databasegrootte op deze pagina voor details). Het wordt sterk aanbevolen om de database op een aparte server te draaien voor grote installaties.
Vanwege de beveiligingseisen en het kritieke karakter van de monitorserver kan UNIX als enig besturingssysteem consequent de vereiste prestaties, fouttolerantie en veerkracht leveren. Zabbix werkt op toonaangevende versies.
Zabbix-componenten zijn beschikbaar en getest voor de volgende platforms:
Platform | Server | Agent | Agent2 |
---|---|---|---|
Linux | x | x | x |
IBM AIX | x | x | - |
FreeBSD | x | x | - |
NetBSD | x | x | - |
OpenBSD | x | x | - |
HP-UX | x | x | - |
Mac OS X | x | x | - |
Solaris | x | x | - |
Windows | - | x | x |
Zabbix server/agent kan ook werken op andere Unix-achtige besturingssystemen. Zabbix-agent wordt ondersteund op alle Windows-desktop- en serverversies sinds XP (XP 64-bit versie, sinds Zabbix 6.2).
Zabbix schakelt kernbestanden uit als het gecompileerd is met versleuteling en start niet als het systeem het uitschakelen van kernbestanden niet toestaat.
Zabbix is gebaseerd op moderne webservers, toonaangevende database-engines en de PHP-scripttaal.
Indien aangegeven als verplicht, is de vereiste software/bibliotheek strikt noodzakelijk. Optionele zijn nodig ter ondersteuning van specifieke functies.
Software | Verplichte status | Ondersteunde versies | Opmerkingen |
---|---|---|---|
MySQL/Percona | Een van de | 8.0.30-8.1.X | Vereist als MySQL (of Percona) wordt gebruikt als Zabbix-backenddatabase. De InnoDB-engine is vereist. MySQL 8.1 wordt ondersteund sinds Zabbix 6.4.6. We raden aan om de C API (libmysqlclient) bibliotheek te gebruiken voor het bouwen van server/proxy. |
MariaDB | 10.5.00-11.0.X | De InnoDB-engine is vereist. De aanbevolen versie is 10.5. We raden aan om de MariaDB Connector/C bibliotheek te gebruiken voor het bouwen van server/proxy. Ondersteuning toegevoegd voor MariaDB-versies: - 10.11.X sinds Zabbix 6.4.1; - 11.0.X sinds Zabbix 6.4.6. Zie ook: Mogelijke deadlocks met MariaDB. |
|
Oracle | 19c - 21c | Vereist als Oracle wordt gebruikt als Zabbix-backenddatabase. | |
PostgreSQL | 13.0-15.X | Vereist als PostgreSQL wordt gebruikt als Zabbix-backenddatabase. Afhankelijk van de installatiegrootte kan het nodig zijn om de PostgreSQL-configuratie-eigenschap work_mem te verhogen (standaardwaarde is 4 MB), zodat de hoeveelheid geheugen die door de database wordt gebruikt voor een bepaalde operatie voldoende is en de query-uitvoering niet te veel tijd in beslag neemt. |
|
TimescaleDB voor PostgreSQL | 2.0.1-2.11 | Vereist als TimescaleDB wordt gebruikt als een PostgreSQL-database-extensie. Zorg ervoor dat je TimescaleDB Community Edition installeert, die compressie ondersteunt. Houd er rekening mee dat PostgreSQL 15 wordt ondersteund sinds TimescaleDB 2.10. Je kunt ook de officiële documentatie raadplegen voor details over compatibiliteit tussen PostgreSQL en TimescaleDB-versies. Ondersteuning toegevoegd voor TimescaleDB-versies: - 2.10 sinds Zabbix 6.4.1. - 2.11 sinds Zabbix 6.4.4. |
|
SQLite | Optioneel | 3.3.5-3.34.X | SQLite wordt alleen ondersteund bij Zabbix-proxies. Vereist als SQLite wordt gebruikt als Zabbix-proxydatabase. |
smartmontools | 7.1 of later | Vereist voor Zabbix-agent 2. | |
who | Vereist voor de gebruikersaantal-plugin. | ||
dpkg | Vereist voor de system.sw.packages-plugin. | ||
pkgtool | Vereist voor de system.sw.packages-plugin. | ||
rpm | Vereist voor de system.sw.packages-plugin. | ||
pacman | Vereist voor de system.sw.packages-plugin. |
Hoewel Zabbix kan werken met databases die beschikbaar zijn in de besturingssystemen, raden we voor de beste ervaring aan om databases te gebruiken die zijn geïnstalleerd vanuit de officiële repositories van de databaseontwikkelaar.
De minimale ondersteunde schermresolutie voor de Zabbix-frontend is 1200px.
Indien vermeld als verplicht, is de vereiste software/bibliotheek strikt noodzakelijk. Optionele zijn nodig ter ondersteuning van specifieke functies.
Software | Verplichte status | Versie | Opmerkingen |
---|---|---|---|
Apache | Een van | 2.4 of later | |
Nginx | 1.20 of later | ||
PHP | Ja | 7.4.0 - 8.2.X | Het wordt aanbevolen om PHP 8.0 of nieuwer te gebruiken, omdat PHP 7.4 niet langer wordt ondersteund door de leverancier. |
PHP-extensies: | |||
gd | Ja | 2.0.28 of later | De PHP GD-extensie moet PNG-afbeeldingen (--with-png-dir), JPEG (--with-jpeg-dir) afbeeldingen en FreeType 2 (--with-freetype-dir) ondersteunen. Versie 2.3.0 of later kan vereist zijn om mogelijke tekstoverlap in grafieken voor sommige frontend-talen te voorkomen. |
bcmath | php-bcmath (--enable-bcmath) | ||
ctype | php-ctype (--enable-ctype) | ||
libXML | 2.6.15 of later | php-xml, indien apart aangeboden door de distributeur. | |
xmlreader | php-xmlreader, indien apart aangeboden door de distributeur. | ||
xmlwriter | php-xmlwriter, indien apart aangeboden door de distributeur. | ||
session | php-session, indien apart aangeboden door de distributeur. | ||
sockets | php-net-socket (--enable-sockets). Vereist voor ondersteuning van gebruikerscripts. | ||
mbstring | php-mbstring (--enable-mbstring) | ||
gettext | php-gettext (--with-gettext). Vereist voor vertalingen. | ||
ldap | Nee | php-ldap. Alleen vereist als LDAP-authenticatie wordt gebruikt in de frontend. | |
openssl | php-openssl. Alleen vereist als SAML-authenticatie wordt gebruikt in de frontend. | ||
mysqli | Vereist als MySQL wordt gebruikt als Zabbix-backenddatabase. | ||
oci8 | Vereist als Oracle wordt gebruikt als Zabbix-backenddatabase. | ||
pgsql | Vereist als PostgreSQL wordt gebruikt als Zabbix-backenddatabase. |
Derde partij frontend-bibliotheken die met Zabbix worden meegeleverd:
Bibliotheek | Verplichte status | Minimale versie | Opmerkingen |
---|---|---|---|
jQuery JavaScript-bibliotheek | Ja | 3.6.0 | JavaScript-bibliotheek die het proces van cross-browserontwikkeling vereenvoudigt. |
jQuery UI | 1.12.1 | Een set gebruikersinterface-interacties, effecten, widgets en thema's gebouwd bovenop jQuery. | |
OneLogin's SAML PHP Toolkit | 4.0.0 | Een PHP toolkit die SAML 2.0-authenticatie-ondersteuning toevoegt om aan te melden bij Zabbix. | |
Symfony Yaml-component | 5.1.0 | Voegt ondersteuning toe om Zabbix-configuratie-elementen te exporteren en te importeren in het YAML-formaat. |
Zabbix kan mogelijk ook werken op eerdere versies van Apache, MySQL, Oracle en PostgreSQL.
Voor andere lettertypen dan het standaardlettertype DejaVu kan de PHP-functie imagerotate vereist zijn. Als deze ontbreekt, kunnen deze lettertypen mogelijk verkeerd worden weergegeven wanneer een grafiek wordt weergegeven. Deze functie is alleen beschikbaar als PHP is gecompileerd met bijgevoegd GD, wat niet het geval is in Debian en andere distributies.
Derde partij bibliotheken die worden gebruikt voor het schrijven en debuggen van Zabbix frontend-code:
Bibliotheek | Verplichte status | Minimale versie | Beschrijving |
---|---|---|---|
Composer | Nee | 2.4.1 | Een toepassingsniveau pakketbeheerder voor PHP die een standaardindeling biedt voor het beheren van afhankelijkheden van PHP-software en vereiste bibliotheken. |
PHPUnit | 8.5.29 | Een PHP-unit-testkader voor het testen van de Zabbix-frontend. | |
SASS | 3.4.22 | Een preprocessor scripttaal die wordt geïnterpreteerd en gecompileerd tot Cascading Style Sheets (CSS). |
Cookies en JavaScript moeten zijn ingeschakeld.
De nieuwste stabiele versies van Google Chrome, Mozilla Firefox, Microsoft Edge, Apple Safari en Opera worden ondersteund.
Hetzelfde-oorsprongbeleid voor IFrames is geïmplementeerd, wat betekent dat Zabbix niet in frames op een ander domein kan worden geplaatst.
Niettemin hebben pagina's die in een Zabbix-frame worden geplaatst, toegang tot de Zabbix-frontend (via JavaScript) als de pagina die in het frame wordt geplaatst en de Zabbix-frontend zich op hetzelfde domein bevinden. Een pagina zoals http://secure-zabbix.com/cms/pagina.html
, indien geplaatst in dashboards op http://secure-zabbix.com/zabbix/
, krijgt volledige JS-toegang tot Zabbix.
Indien aangeduid als verplicht, is de vereiste software/bibliotheek strikt noodzakelijk. Optionele zijn nodig om bepaalde specifieke functies te ondersteunen.
Vereiste | Mandatory status | Omschrijving |
---|---|---|
libpcre/libpcre2 | Eén van | De PCRE/PCRE2-bibliotheek is vereist voor ondersteuning van Perl Compatible Regular Expression (PCRE). De naamgeving kan verschillen afhankelijk van de GNU/Linux-distributie, bijvoorbeeld 'libpcre3' of 'libpcre1'. PCRE v8.x en PCRE2 v10.x (vanaf Zabbix 6.0.0) worden ondersteund. |
libevent | Ja | Vereist voor inter-proces communicatie. Versie 1.4 of hoger. |
libevent-pthreads | Vereist voor inter-proces communicatie. | |
libpthread | Vereist voor mutex en read-write lock-ondersteuning (kan deel uitmaken van libc). | |
libresolv | Vereist voor DNS-resolutie (kan deel uitmaken van libc). | |
libiconv | Vereist voor tekstcodering/-opmaakconversie (kan deel uitmaken van libc). Verplicht voor de Zabbix-server op Linux. | |
libz | Vereist voor ondersteuning van compressie. | |
libm | Math-bibliotheek. Alleen vereist door de Zabbix-server. | |
libmysqlclient | Eén van | Vereist indien MySQL wordt gebruikt. |
libmariadb | Vereist indien MariaDB wordt gebruikt. | |
libclntsh | Vereist indien Oracle wordt gebruikt; de versie van libclntsh moet overeenkomen met of hoger zijn dan de versie van de gebruikte Oracle-database. | |
libpq5 | Vereist indien PostgreSQL wordt gebruikt; de versie van libpq5 moet overeenkomen met of hoger zijn dan de versie van de gebruikte PostgreSQL-database. | |
libsqlite3 | Vereist indien Sqlite wordt gebruikt. Verplicht voor de Zabbix-proxy. | |
libOpenIPMI | Nee | Vereist voor IPMI-ondersteuning. Alleen vereist voor de Zabbix-server. |
libssh2 of libssh | Vereist voor SSH-controles. Versie 1.0 of hoger (libssh2); 0.9.0 of hoger (libssh). libssh wordt ondersteund vanaf Zabbix 4.4.6. |
|
libcurl | Vereist voor webmonitoring, VMware-monitoring, SMTP-authenticatie, Zabbix-agent items, HTTP-agent-items en Elasticsearch (indien gebruikt). Versie 7.28.0 of hoger wordt aanbevolen. Vereisten voor Libcurl-versies: - SMTP-authenticatie: versie 7.20.0 of hoger - Elasticsearch: versie 7.28.0 of hoger |
|
libxml2 | Vereist voor VMware-monitoring en XML XPath-preprocessing. | |
net-snmp | Vereist voor SNMP-ondersteuning. Versie 5.3.0 of hoger. Ondersteuning voor sterke versleutelingsprotocollen (AES192/AES192C, AES256/AES256C) is beschikbaar vanaf de net-snmp-bibliotheekversie 5.8; op op RHEL 8+ gebaseerde systemen wordt aanbevolen om net-snmp 5.8.15 of later te gebruiken. |
|
libunixodbc | Vereist voor database-monitoring. | |
libgnutls of libopenssl | Vereist bij gebruik van versleuteling. Minimale versies: libgnutls - 3.1.18, libopenssl - 1.0.1 |
|
libldap | Vereist voor LDAP-ondersteuning. | |
fping | Vereist voor ICMP ping-items. |
Vereiste | Mandatory status | Omschrijving |
---|---|---|
libpcre/libpcre2 | Eén van | De PCRE/PCRE2-bibliotheek is vereist voor ondersteuning van Perl Compatible Regular Expression (PCRE). De naamgeving kan verschillen afhankelijk van de GNU/Linux-distributie, bijvoorbeeld 'libpcre3' of 'libpcre1'. PCRE v8.x en PCRE2 v10.x (vanaf Zabbix 6.0.0) worden ondersteund. Vereist voor logmonitoring. Ook vereist op Windows. |
libpthread | Ja | Vereist voor mutex en read-write lock-ondersteuning (kan deel uitmaken van libc). Niet vereist op Windows. |
libresolv | Vereist voor DNS-resolutie (kan deel uitmaken van libc). Niet vereist op Windows. | |
libiconv | Vereist voor tekstcodering/-opmaakconversie naar UTF-8 in logitems, bestandsinhoud, bestandsregex en regmatchitems (kan deel uitmaken van libc). Niet vereist op Windows. | |
libgnutls of libopenssl | Nee | Vereist bij gebruik van versleuteling. Minimale versies: libgnutls - 3.1.18, libopenssl - 1.0.1 Op Microsoft Windows is OpenSSL 1.1.1 of hoger vereist. |
libldap | Vereist indien LDAP wordt gebruikt. Niet ondersteund op Windows. | |
libcurl | Vereist voor web.page.* Zabbix-agent items. Niet ondersteund op Windows.Versie 7.28.0 of hoger wordt aanbevolen. |
|
libmodbus | Alleen vereist indien Modbus-monitoring wordt gebruikt. Versie 3.0 of hoger. |
Vanaf versie 5.0.3 zal de Zabbix-agent niet werken op AIX-platforms onder versies 6.1 TL07 / AIX 7.1 TL01.
Vereiste | Verplichte status | Beschrijving |
---|---|---|
libpcre/libpcre2 | Een van | De PCRE/PCRE2-bibliotheek is vereist voor Perl Compatible Regular Expression (PCRE) ondersteuning. De naamgeving kan verschillen afhankelijk van de GNU/Linux-distributie, bijvoorbeeld 'libpcre3' of 'libpcre1'. PCRE v8.x en PCRE2 v10.x (vanaf Zabbix 6.0.0) worden ondersteund. Vereist voor logboekbewaking. Ook vereist op Windows. |
libopenssl | Nee | Vereist bij gebruik van versleuteling. OpenSSL 1.0.1 of hoger is vereist op UNIX-platforms. De OpenSSL-bibliotheek moet PSK-ondersteuning ingeschakeld hebben. LibreSSL wordt niet ondersteund. Op Microsoft Windows-systemen is OpenSSL 1.1.1 of hoger vereist. |
Go-bibliotheken
Vereiste | Verplichte status | Minimale versie | Beschrijving |
---|---|---|---|
git.zabbix.com/ap/plugin-support | Ja | 1.X.X | Zabbix eigen ondersteuningsbibliotheek. Voornamelijk voor plugins. |
github.com/BurntSushi/locker | 0.0.0 | Genoemde lees/schrijf-vergrendelingen, toegangssynchronisatie. | |
github.com/chromedp/cdproto | 0.0.0 | Gegenereerde opdrachten, typen en gebeurtenissen voor de Chrome DevTools Protocol-domeinen. | |
github.com/chromedp/chromedp | 0.6.0 | Ondersteuning voor Chrome DevTools Protocol (rapportgeneratie). | |
github.com/dustin/gomemcached | 0.0.0 | Een toolkit voor het memcached binair protocol voor go. | |
github.com/eclipse/paho.mqtt.golang | 1.2.0 | Een bibliotheek om MQTT-verbindingen te beheren. | |
github.com/fsnotify/fsnotify | 1.4.9 | Cross-platform bestandssysteemnotificaties voor Go. | |
github.com/go-ldap/ldap | 3.0.3 | Basale LDAP v3-functionaliteit voor de Go-programmeertaal. | |
github.com/go-ole/go-ole | 1.2.4 | Win32 ole-implementatie voor Go. | |
github.com/godbus/dbus | 4.1.0 | Natte Go-bindings voor D-Bus. | |
github.com/go-sql-driver/mysql | 1.5.0 | MySQL-stuurprogramma. | |
github.com/godror/godror | 0.20.1 | Oracle DB-stuurprogramma. | |
github.com/mattn/go-sqlite3 | 2.0.3 | Sqlite3-stuurprogramma. | |
github.com/mediocregopher/radix/v3 | 3.5.0 | Redis-client. | |
github.com/memcachier/mc/v3 | 3.0.1 | Binaire Memcached-client. | |
github.com/miekg/dns | 1.1.43 | DNS-bibliotheek. | |
github.com/omeid/go-yarn | 0.0.1 | In te sluiten bestandssysteem met gemapte sleutel-tekenreeksopslag. | |
github.com/goburrow/modbus | 0.1.0 | Fouttolerante implementatie van Modbus. | |
golang.org/x/sys | 0.0.0 | Go-pakketten voor lage-niveauinteracties met het besturingssysteem. Ook gebruikt in ondersteuningsbibliotheek voor plugins. Gebruikt in MongoDB- en PostgreSQL-plugins. |
|
github.com/Microsoft/go-winio | Op Windows. Ja, indirect1 |
0.6.0 | Implementatie van Windows genoemd pijpje. Ook gebruikt in ondersteuningsbibliotheek voor plugins. Gebruikt in MongoDB- en PostgreSQL-plugins. |
github.com/goburrow/serial | Ja, indirect1 | 0.1.0 | Seriële bibliotheek voor Modbus. |
golang.org/x/xerrors | 0.0.0 | Functies om fouten te manipuleren. | |
gopkg.in/asn1-ber.v1 | 1.0.0 | Codering/decodering-bibliotheek voor ASN1 BER. | |
github.com/go-stack/stack | Nee, indirect1 | 1.8.0 | |
github.com/golang/snappy | 0.0.1 | ||
github.com/klauspost/compress | 1.13.6 | ||
github.com/xdg-go/pbkdf2 | 1.0.0 | ||
github.com/xdg-go/scram | 1.0.2 | ||
github.com/xdg-go/stringprep | 1.0.2 | ||
github.com/youmark/pkcs8 | 0.0.0 |
1 "Indirect" betekent dat het wordt gebruikt in een van de bibliotheken die de agent gebruikt. Het is vereist omdat Zabbix de bibliotheek gebruikt die het pakket gebruikt.
Zie ook afhankelijkheden voor inlaadbaar plugins:
Indien u Zabbix heeft verkregen uit de bronrepository of een archief, dan zijn de vereiste afhankelijkheden al opgenomen in de broncode.
Indien u Zabbix heeft verkregen via het pakket van uw distributie, dan zijn de vereiste afhankelijkheden al voorzien door het verpakkingssysteem.
In beide bovenstaande gevallen is de software klaar voor gebruik en zijn er geen aanvullende downloads nodig.
Als u echter uw eigen versies van deze afhankelijkheden wilt verstrekken (bijvoorbeeld als u een pakket voor een Linux-distributie voorbereidt), is hieronder de lijst van bibliotheekversies die bekend zijn om te werken met de Java-gateway van Zabbix. Zabbix kan ook werken met andere versies van deze bibliotheken.
De volgende tabel vermeldt JAR-bestanden die momenteel zijn meegeleverd met de Java-gateway in de oorspronkelijke code:
Bibliotheek | Verplichte status | Minimumversie | Opmerkingen |
---|---|---|---|
android-json | Ja | 4.3r1 | JSON (JavaScript Object Notation) is een lichtgewicht gegevensuitwisselingsformaat. Dit is de org.json-compatibele Android-implementatie geëxtraheerd uit de Android SDK. |
logback-classic | 1.2.9 | ||
logback-core | 1.2.9 | ||
slf4j-api | 1.7.32 |
De Java-gateway kan worden gebouwd met zowel Oracle Java als open-source OpenJDK (versie 1.6 of nieuwer). Pakketten geleverd door Zabbix zijn gecompileerd met behulp van OpenJDK. De onderstaande tabel geeft informatie over de OpenJDK-versies die worden gebruikt voor het bouwen van Zabbix-pakketten per distributie:
Distributie | OpenJDK-versie |
---|---|
RHEL 8 | 1.8.0 |
RHEL 7 | 1.8.0 |
SLES 15 | 11.0.4 |
SLES 12 | 1.8.0 |
Debian 10 | 11.0.8 |
Ubuntu 20.04 | 11.0.8 |
Ubuntu 18.04 | 11.0.8 |
De volgende lijst met open poorten per component is van toepassing op de standaardconfiguratie:
Zabbix-component | Poortnummer | Protocol | Soort verbinding |
---|---|---|---|
Zabbix-agent | 10050 | TCP | op aanvraag |
Zabbix-agent 2 | 10050 | TCP | op aanvraag |
Zabbix-server | 10051 | TCP | op aanvraag |
Zabbix-proxy | 10051 | TCP | op aanvraag |
Zabbix Java-gateway | 10052 | TCP | op aanvraag |
Zabbix webservice | 10053 | TCP | op aanvraag |
Zabbix frontend | 80 | HTTP | op aanvraag |
443 | HTTPS | op aanvraag | |
Zabbix trapper | 10051 | TCP | op aanvraag |
De poortnummers moeten open zijn in de firewall om Zabbix-communicatie mogelijk te maken. Uitgaande TCP-verbindingen vereisen meestal geen expliciete firewall-instellingen.
Zabbix configuratiegegevens vereisen een vaste hoeveelheid schijfruimte en groeien doorgaans niet veel.
De grootte van de Zabbix-database is voornamelijk afhankelijk van deze variabelen, die de hoeveelheid opgeslagen historische gegevens definiëren:
Dit is het gemiddelde aantal nieuwe waarden dat de Zabbix-server elke seconde ontvangt. Als we bijvoorbeeld 3000 items hebben voor monitoring met een verversingssnelheid van 60 seconden, wordt het aantal waarden per seconde berekend als 3000/60 = 50.
Dit betekent dat er elke seconde 50 nieuwe waarden aan de Zabbix-database worden toegevoegd.
Zabbix bewaart waarden gedurende een vaste periode, meestal enkele weken of maanden. Elke nieuwe waarde vereist een bepaalde hoeveelheid schijfruimte voor gegevens en index.
Dus, als we 30 dagen geschiedenis willen bewaren en we ontvangen 50 waarden per seconde, zal het totale aantal waarden ongeveer (30*24*3600)* 50 = 129.600.000 bedragen, of ongeveer 130 miljoen waarden.
Afhankelijk van het gebruikte databasesysteem, het type ontvangen waarden (getallen, gehele getallen, tekenreeksen, logbestanden, enzovoort), kan de schijfruimte voor het bewaren van één enkele waarde variëren van 40 bytes tot honderden bytes. Normaal gesproken is het ongeveer 90 bytes per waarde voor numerieke items2. In ons geval betekent dit dat 130 miljoen waarden 130 miljoen * 90 bytes = 10,9 GB schijfruimte vereisen.
De grootte van tekst-/logitemwaarden is onmogelijk exact te voorspellen, maar u kunt rekenen op ongeveer 500 bytes per waarde.
Zabbix bewaart een set max/min/gemiddelde/tellingswaarden van elk item in de tabel trends gedurende 1 uur. Deze gegevens worden gebruikt voor trends en grafieken over lange perioden. De periode van één uur kan niet worden aangepast.
Afhankelijk van het type databasesysteem dat wordt gebruikt, vereist Zabbix ongeveer 90 bytes per totale waarde. Stel dat we trendgegevens voor 5 jaar willen bewaren. Waarden voor 3000 items zullen 3000*24*365* 90 = 2,2 GB per jaar vereisen, of 11 GB voor 5 jaar.
Elke Zabbix-gebeurtenis vereist ongeveer 250 bytes schijfruimte1. Het is moeilijk om het aantal gebeurtenissen dat dagelijks door Zabbix wordt gegenereerd exact te schatten. In het ergste geval kunnen we aannemen dat Zabbix één gebeurtenis per seconde genereert.
Voor elke herstelde gebeurtenis wordt een event_recovery-record aangemaakt. Normaal gesproken worden de meeste gebeurtenissen hersteld, dus we kunnen aannemen dat er één event_recovery-record per gebeurtenis is. Dit betekent een extra 80 bytes per gebeurtenis.
Optioneel kunnen gebeurtenissen tags hebben, waarvoor elke tag-record ongeveer 100 bytes schijfruimte vereist1. Het aantal tags per gebeurtenis (#tags) hangt af van de configuratie. Dus elke gebeurtenis heeft extra #tags * 100 bytes schijfruimte nodig.
Dit betekent dat als we 3 jaar aan gebeurtenissen willen bewaren, dit ongeveer 3*365*24*3600* (250+80+#tags*100) = ~30 GB+#tags*100B schijfruimte vereist2.
1 Meer wanneer er gebeurtenisnamen, tags en waarden met niet-ASCII-tekens zijn.
2 De groottebenaderingen zijn gebaseerd op MySQL en kunnen verschillen voor andere databases.
In de tabel staan formules die kunnen worden gebruikt om de benodigde schijfruimte voor het Zabbix-systeem te berekenen:
Parameter | Formule voor benodigde schijfruimte (in bytes) |
---|---|
Zabbix-configuratie | Vaste grootte. Normaal gesproken 10 MB of minder. |
Geschiedenis | dagen*(items/verversingssnelheid)*24*3600*bytes items: aantal items dagen: aantal dagen om geschiedenis te bewaren verversingssnelheid: gemiddelde verversingssnelheid van items bytes: aantal bytes vereist om een enkele waarde te bewaren, afhankelijk van het databasesysteem, normaal gesproken ongeveer 90 bytes. |
Trends | dagen*(items/3600)*24*3600*bytes items: aantal items dagen: aantal dagen om geschiedenis te bewaren bytes: aantal bytes vereist om een enkele trend te bewaren, afhankelijk van het databasesysteem, normaal gesproken ongeveer 90 bytes. |
Gebeurtenissen | dagen*gebeurtenissen*24*3600*bytes gebeurtenissen: aantal gebeurtenissen per seconde. Eén (1) gebeurtenis per seconde in het ergste geval. dagen: aantal dagen om geschiedenis te bewaren bytes: aantal bytes vereist om een enkele trend te bewaren, afhankelijk van het databasesysteem, normaal gesproken ongeveer 330 + gemiddeld aantal tags per gebeurtenis |
* 100 bytes.|
Dus, de totale benodigde schijfruimte kan worden berekend als:
Configuratie + Geschiedenis + Trends + Gebeurtenissen
De schijfruimte wordt NIET onmiddellijk na de installatie van Zabbix gebruikt. De databasegrootte zal groeien en op een bepaald moment stoppen met groeien, afhankelijk van de instellingen van de housekeeper.
Het is zeer belangrijk om een nauwkeurige systeemtijd te hebben op de server waarop Zabbix wordt uitgevoerd. ntpd is de meest populaire daemon die de tijd van het host-systeem synchroniseert met de tijd van andere machines. Het wordt ten zeerste aanbevolen om gesynchroniseerde systeemtijd te handhaven op alle systemen waarop Zabbix-componenten worden uitgevoerd.
De volgende lijst van open poorten per component is van toepassing op de standaardconfiguratie.
Poort | Componenten |
---|---|
Frontend | http op 80, https op 443 |
Server | 10051 (voor gebruik met actieve proxy's/agents) |
Actieve Proxy | 10051 |
Passieve Proxy | 10051 |
Agent2 | 10050 |
Trapper | |
JavaGateway | 10053 |
WebService | 10053 |
De poortnummers moeten in de firewall worden geopend om externe communicatie met Zabbix mogelijk te maken. Uitgaande TCP-verbindingen vereisen meestal geen expliciete firewall-instellingen.