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

3 Installatie vanuit bronnen

Je kunt de allernieuwste versie van Zabbix krijgen door het te compileren vanuit de bronnen.

Een stapsgewijze handleiding voor het installeren van Zabbix vanuit de bronnen wordt hier gegeven.

1 Zabbix-daemons installeren

1 Download de bronarchief

Ga naar de Zabbix download pagina en download het bronarchief. Eenmaal gedownload, pak je de bronnen uit door het volgende commando uit te voeren:

$ tar -zxvf zabbix-6.4.0.tar.gz

Vul de juiste Zabbix-versie in in het commando. Dit moet overeenkomen met de naam van het gedownloade archief.

2 Gebruikersaccount aanmaken

Voor alle Zabbix-daemonprocessen is een niet-geprivilegieerde gebruiker vereist. Als een Zabbix-daemon wordt gestart vanuit een niet-geprivilegieerd gebruikersaccount, zal het als die gebruiker uitvoeren.

Echter, als een daemon wordt gestart vanuit een 'root'-account, zal het overschakelen naar een 'zabbix'-gebruikersaccount, die aanwezig moet zijn. Om zo'n gebruikersaccount te maken (in zijn eigen groep, "zabbix"),

op een RedHat-gebaseerd systeem, voer uit:

groupadd --system zabbix
       useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

op een Debian-gebaseerd systeem, voer uit:

addgroup --system --quiet zabbix
       adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix

Zabbix-processen hebben geen thuismap nodig, daarom raden we niet aan deze aan te maken. Als je echter functionaliteit gebruikt die het vereist (bijvoorbeeld MySQL referenties opslaan in $HOME/.my.cnf), dan ben je vrij om het aan te maken met behulp van de volgende opdrachten.

Op RedHat-gebaseerde systemen, voer uit:

mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
       chown zabbix:zabbix /usr/lib/zabbix

Op Debian-gebaseerde systemen, voer uit:

mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
       chown zabbix:zabbix /var/lib/zabbix

Een apart gebruikersaccount is niet vereist voor de installatie van de Zabbix frontend.

Als de Zabbix server en agent op dezelfde machine worden uitgevoerd, wordt aangeraden een andere gebruiker te gebruiken voor het uitvoeren van de server dan voor het uitvoeren van de agent. Als beide worden uitgevoerd als dezelfde gebruiker, kan de agent toegang krijgen tot het serverconfiguratiebestand en kan elke gebruiker met het Admin-niveau in Zabbix vrij gemakkelijk bijvoorbeeld het database-wachtwoord ophalen.

Zabbix uitvoeren als root, bin, of een andere account met speciale rechten vormt een beveiligingsrisico.

3 Maak Zabbix-database

Voor de Zabbix server en proxy daemons, evenals de Zabbix-frontend, is een database vereist. Het is niet nodig om de Zabbix agent uit te voeren.

SQL-scripts worden verstrekt om het databaseschema te maken en de dataset in te voegen. Voor de Zabbix proxy-database is alleen het schema nodig, terwijl de Zabbix server-database ook de dataset bovenop het schema vereist.

Nadat je een Zabbix-database hebt aangemaakt, ga je verder met de volgende stappen om Zabbix te compileren.

4 Configureer de bronnen

Voor het bouwen van de Zabbix-server, Zabbix-proxy of Zabbix-agent is C99 met GNU-uitbreidingen vereist. Deze versie kan expliciet worden gespecificeerd door CFLAGS="-std=gnu99" in te stellen:

export CFLAGS="-std=gnu99"

Als je installeert vanuit de Zabbix Git-repository, moet je eerst uitvoeren:

./bootstrap.sh

Bij het configureren van de bronnen voor een Zabbix-server of -proxy, moet je het type database opgeven dat moet worden gebruikt. Slechts één database type kan tegelijkertijd worden gecompileerd met een server- of proxyproces.

Om alle ondersteunde configuratieopties te zien, voer je binnen de uitgepakte Zabbix-bronmap uit:

./configure --help

Om de bronnen te configureren voor een Zabbix-server en agent, kun je bijvoorbeeld het volgende uitvoeren:

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi

Om de bronnen te configureren voor een Zabbix-server (met PostgreSQL, enz.), kun je het volgende uitvoeren:

./configure --enable-server --with-postgresql --with-net-snmp

Om de bronnen te configureren voor een Zabbix-proxy (met SQLite, enz.), kun je het volgende uitvoeren:

./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2

Om de bronnen te configureren voor een Zabbix-agent, kun je het volgende uitvoeren:

./configure --enable-agent

of, voor Zabbix-agent 2:

./configure --enable-agent2

Een geconfigureerde Go-omgeving met een momenteel ondersteunde Go versie is vereist voor het bouwen van Zabbix-agent 2. Zie golang.org voor installatie-instructies.

Opmerkingen over compilatieopties:

  • De opdrachtregelhulpprogramma's zabbix_get en zabbix_sender worden gecompileerd als de optie --enable-agent wordt gebruikt.
  • De configuratieopties --with-libcurl en --with-libxml2 zijn vereist voor het monitoren van virtuele machines; --with-libcurl is ook vereist voor SMTP-authenticatie en Zabbix-agent items van het type web.page.*. Merk op dat cURL 7.20.0 of hoger is vereist met de --with-libcurl configuratieoptie.
  • Zabbix wordt altijd gecompileerd met de PCRE-bibliotheek (sinds versie 3.4.0); het installeren ervan is niet optioneel. De optie --with-libpcre=[DIR] maakt alleen het wijzen naar een specifieke basisinstallatiemap mogelijk in plaats van het zoeken door een aantal veelvoorkomende locaties voor de libpcre-bestanden.
  • Je kunt de --enable-static vlag gebruiken om bibliotheken statisch te koppelen. Als je van plan bent om gecompileerde binaries tussen verschillende servers te verspreiden, moet je deze vlag gebruiken om ervoor te zorgen dat deze binaries werken zonder de benodigde bibliotheken. Merk op dat --enable-static niet werkt in Solaris.
  • Het gebruik van de --enable-static optie wordt niet aanbevolen bij het bouwen van de server. Om de server statisch te bouwen, moet je een statische versie hebben van elke externe bibliotheek die nodig is. Er is geen strikte controle hiervoor in het configure-script.
  • Voeg het optionele pad naar het MySQL-configuratiebestand toe --with-mysql=/<pad_naar_het_bestand>/mysql_config om de gewenste MySQL-clientbibliotheek te selecteren wanneer je er een moet gebruiken die zich niet in de standaardlocatie bevindt. Dit is nuttig als er verschillende versies van MySQL zijn geïnstalleerd of als MariaDB is geïnstalleerd naast MySQL op hetzelfde systeem.
  • Gebruik de --with-oracle vlag om de locatie van de OCI API te specificeren.

Als ./configure mislukt vanwege ontbrekende bibliotheken of omstandigheden, raadpleeg dan het bestand config.log voor meer details over de fout. Als bijvoorbeeld libssl ontbreekt, kan de onmiddellijke foutmelding misleidend zijn:

checking for main in -lmysqlclient... no
       configure: error: Not found mysqlclient library

Terwijl config.log een gedetailleerdere beschrijving heeft:

/usr/bin/ld: cannot find -lssl
       /usr/bin/ld: cannot find -lcrypto

Zie ook:

5 Alles compileren en installeren

Als je installeert vanuit de Zabbix Git-repository, dan is het vereist om eerst het volgende uit te voeren:

$ make dbschema

make install

Deze stap moet worden uitgevoerd als een gebruiker met voldoende rechten (vaak 'root', of door sudo te gebruiken).

Het uitvoeren van make install zal standaard de daemon-binaries (zabbix_server, zabbix_agentd, zabbix_proxy) installeren in /usr/local/sbin en de client-binaries (zabbix_get, zabbix_sender) in /usr/local/bin.

Om een andere locatie dan /usr/local op te geven, gebruik je een --prefix sleutel in de vorige stap van het configureren van de bronnen, bijvoorbeeld --prefix=/home/zabbix. In dat geval worden de daemon-binaries geïnstalleerd onder <prefix>/sbin, terwijl hulpprogramma's worden geïnstalleerd onder <prefix>/bin. Man-pagina's worden geïnstalleerd onder <prefix>/share.

6 Beoordeel en bewerk configuratiebestanden
  • Bewerk het Zabbix-agent configuratiebestand /usr/local/etc/zabbix_agentd.conf

Je moet dit bestand configureren voor elke host waarop zabbix_agentd is geïnstalleerd.

Je moet het IP-adres van de Zabbix-server opgeven in het bestand. Verbindingen vanaf andere hosts worden geweigerd.

  • Bewerk het Zabbix-server configuratiebestand /usr/local/etc/zabbix_server.conf

Je moet de naam van de database, de gebruiker en het wachtwoord specificeren (indien van toepassing).

De rest van de parameters zijn standaard geschikt voor kleinere installaties (tot tien bewaakte hosts). Je moet de standaardparameters wijzigen als je de prestaties van de Zabbix-server (of proxy) wilt maximaliseren.

  • Als je een Zabbix-proxy hebt geïnstalleerd, bewerk dan het proxy-configuratiebestand /usr/local/etc/zabbix_proxy.conf

Je moet het IP-adres van de server en de hostnaam van de proxy (die bekend moet zijn bij de server), evenals de naam van de database, de gebruiker en het wachtwoord specificeren (indien van toepassing).

Met SQLite moet het volledige pad naar het databasebestand worden opgegeven; DB-gebruiker en wachtwoord zijn niet vereist.

7 Start de daemons op

Start zabbix_server aan de serverzijde.

shell> zabbix_server

Zorg ervoor dat je systeem 36 MB (of iets meer) gedeeld geheugen kan toewijzen, anders kan de server niet starten en krijg je "Cannot allocate shared memory for <type of cache>." te zien in het server logbestand. Dit kan gebeuren op FreeBSD, Solaris 8.

Start zabbix_agentd op alle bewaakte machines.

shell> zabbix_agentd

Zorg ervoor dat je systeem 2 MB gedeeld geheugen kan toewijzen, anders kan de agent niet starten en krijg je "Cannot allocate shared memory for collector." te zien in het agent logbestand. Dit kan gebeuren op Solaris 8.

Als je Zabbix-proxy hebt geïnstalleerd, start dan zabbix_proxy.

shell> zabbix_proxy

2 Zabbix-webinterface installeren

PHP-bestanden kopiëren

De Zabbix frontend is geschreven in PHP, dus om deze uit te voeren is een webserver met PHP-ondersteuning nodig. De installatie wordt eenvoudigweg uitgevoerd door de PHP-bestanden van de ui-map naar de HTML-documentenmap van de webserver te kopiëren.

Veelvoorkomende locaties van HTML-documentenmappen voor Apache-webservers zijn:

  • /usr/local/apache2/htdocs (standaardmap bij het installeren van Apache vanaf de broncode)
  • /srv/www/htdocs (OpenSUSE, SLES)
  • /var/www/html (Debian, Ubuntu, Fedora, RHEL)

Het wordt aanbevolen om een submap te gebruiken in plaats van de HTML-root. Om een submap te maken en Zabbix frontend-bestanden erin te kopiëren, voer je de volgende opdrachten uit en vervang je de werkelijke map:

mkdir <htdocs>/zabbix
       cd ui
       cp -a . <htdocs>/zabbix

Als je van plan bent om een andere taal dan Engels te gebruiken, raadpleeg dan Installatie van aanvullende frontend-talen voor instructies.

Frontend installeren

Raadpleeg de pagina Webinterface installatie voor informatie over de installatiewizard voor de Zabbix-frontend.

3 Java-gateway installeren

Het is alleen nodig om de Java-gateway te installeren als je JMX-toepassingen wilt bewaken. De Java-gateway is lichtgewicht en vereist geen database.

Om te installeren vanuit bronnen, download en pak eerst het bronarchief uit.

Om de Java-gateway te compileren, voer je het ./configure script uit met de --enable-java optie. Het is raadzaam dat je de --prefix optie opgeeft om een installatiepad aan te vragen dat anders is dan de standaard /usr/local, omdat het installeren van de Java-gateway een hele directorystructuur zal maken, niet alleen een enkele uitvoerbare file.

$ ./configure --enable-java --prefix=$PREFIX

Om de Java-gateway te compileren en te verpakken in een JAR-bestand, voer je make uit. Let op dat je voor deze stap de javac en jar uitvoerbare bestanden in je pad moet hebben.

$ make

Nu heb je een zabbix-java-gateway-$VERSION.jar bestand in de map src/zabbix_java/bin. Als je comfortabel bent met het uitvoeren van de Java-gateway vanuit src/zabbix_java in de distributiemap, kun je doorgaan naar de instructies voor het configureren en uitvoeren van Java-gateway. Anders, zorg ervoor dat je voldoende rechten hebt en voer make install uit.

$ make install

Ga verder naar setup voor meer details over het configureren en uitvoeren van de Java-gateway.

4 Zabbix web service installeren

Het installeren van de Zabbix web service is alleen nodig als je geplande rapporten wilt gebruiken.

Om te installeren vanuit bronnen, download en pak eerst het bronarchief uit.

Om de Zabbix web service te compileren, voer je het ./configure script uit met de --enable-webservice optie.

Voor het bouwen van de Zabbix web service is een geconfigureerde Go versie 1.13+ omgeving vereist.

Voer op de machine waar de web service is geïnstalleerd het volgende uit:

shell> zabbix_web_service

Ga verder naar setup voor meer details over het configureren van de generatie van geplande rapporten.