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

2 Vereisten

Hardware

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.

Voorbeelden van hardwareconfiguratie

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.

Ondersteunde platforms

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.

Vereiste software

Zabbix is gebaseerd op moderne webservers, toonaangevende database-engines en de PHP-scripttaal.

Externe software van derden

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.

Frontend

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).
Webbrowser aan de kant van de gebruiker

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.

Server/proxy

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

Agent 2
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:

Java-gateway

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

Standaard poortnummers

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.

Database grootte

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:

  • Aantal verwerkte waarden per seconde

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.

  • Housekeeper-instellingen voor geschiedenis

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.

  • Housekeeper-instellingen voor trends

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.

  • Housekeeper-instellingen voor gebeurtenissen

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.

Tijd synchronisatie

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.

Netwerkvereisten

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.