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 het bronarchief

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

tar -zxvf zabbix-6.0.0.tar.gz

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

2 Maak een gebruikersaccount aan

Voor alle Zabbix daemon-processen is een niet-bevoorrechte gebruiker vereist. Als een Zabbix daemon wordt gestart vanuit een niet-bevoorrechte gebruikersaccount, wordt deze uitgevoerd als die gebruiker.

Als een daemon echter wordt gestart vanuit een 'root'-account, wordt deze overgeschakeld naar een 'zabbix'-gebruikersaccount, die aanwezig moet zijn. Om zo'n gebruikersaccount aan te maken (in zijn eigen groep "zabbix"),

op een RedHat-gebaseerd systeem, voer het volgende 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 het volgende uit:

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

Zabbix-processen hebben geen home-directory nodig, daarom raden we het niet aan om deze aan te maken. Als je echter functionaliteit gebruikt die dit vereist (bijvoorbeeld het opslaan van MySQL-inloggegevens in $HOME/.my.cnf), dan ben je vrij om deze 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

Voor Zabbix server en agent is geen apart gebruikersaccount vereist.

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

Het uitvoeren van Zabbix als root, bin of elke 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, dan is het vereist om eerst het volgende uit te voeren:

./bootstrap.sh

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

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

./configure --help

Om de bronnen te configureren voor een Zabbix-server en agent, kun je zoiets uitvoeren als:

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

Notities over compilatieopties:

  • De command-line hulpprogramma'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 web.page.* Zabbix-agent items. Merk op dat cURL 7.20.0 of hoger vereist is met de --with-libcurl configuratieoptie.
  • Zabbix compileert altijd met de PCRE-bibliotheek (sinds versie 3.4.0); deze installeren is niet optioneel. De --with-libpcre=[DIR] optie staat alleen toe om te wijzen naar een specifieke basisinstallatiedirectory, in plaats van te zoeken in verschillende 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 te distribueren tussen verschillende servers, moet je deze vlag gebruiken zodat deze binaries werken zonder de vereiste bibliotheken. Merk op dat --enable-static niet werkt in Solaris.
  • Het gebruik van de --enable-static optie wordt niet aanbevolen bij het bouwen van een server. Om de server statisch te bouwen, moet je een statische versie hebben van elke externe bibliotheek die nodig is. Hier wordt geen strikte controle op uitgevoerd in het configure script.
  • Voeg het optionele pad naar het MySQL-configuratiebestand toe --with-mysql=/<path_to_the_file>/mysql_config om de gewenste MySQL-clientbibliotheek te selecteren als er een nodig is die zich niet op de standaardlocatie bevindt. Dit is handig wanneer er meerdere versies van MySQL zijn geïnstalleerd of MariaDB geïnstalleerd is naast MySQL op hetzelfde systeem.
  • Gebruik de --with-oracle vlag om de locatie van de OCI API aan te geven.

Als ./configure mislukt vanwege ontbrekende bibliotheken of omstandigheden, raadpleeg dan het config.log bestand voor meer details over de fout. Bijvoorbeeld, als libssl ontbreekt, kan het directe foutbericht 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 Configuratiebestanden controleren en bewerken
  • Bewerk het Zabbix agent configuratiebestand /usr/local/etc/zabbix_agentd.conf

Dit bestand moet geconfigureerd worden voor elke host waarop zabbix_agentd is geïnstalleerd.

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

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

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

De rest van de parameters zijn geschikt met hun standaardwaarden als je een kleine installatie hebt (tot tien gemonitorde 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 (moet bekend zijn bij de server) opgeven, evenals de naam van de database, gebruiker en wachtwoord (indien van toepassing).

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

7 Start de daemons op

Voer zabbix_server uit aan de serverzijde.

zabbix_server

Zorg ervoor dat je systeem de toewijzing van 36MB (of iets meer) gedeeld geheugen toestaat, anders start de server mogelijk niet op en zie je "Cannot allocate shared memory for <type of cache>." in het serverlogboek. Dit kan gebeuren op FreeBSD, Solaris 8.

Voer zabbix_agentd uit op alle gemonitorde machines.

zabbix_agentd

Zorg ervoor dat je systeem de toewijzing van 2MB gedeeld geheugen toestaat, anders start de agent mogelijk niet op en zie je "Cannot allocate shared memory for collector." in het agentlogboek. Dit kan gebeuren op Solaris 8.

Als je Zabbix proxy hebt geïnstalleerd, voer dan zabbix_proxy uit.

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 vereist om de Java gateway te installeren als je JMX-toepassingen wilt monitoren. De Java gateway is lichtgewicht en vereist geen database.

Om vanuit bronnen te installeren, 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 om de --prefix optie te specificeren 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 creëren, niet alleen een enkele uitvoerbare.

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

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

make

Nu heb je een zabbix-java-gateway-$VERSIE.jar bestand in 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 met de instructies voor het configureren en uitvoeren van de Java gateway. Anders, zorg ervoor dat je voldoende rechten hebt en voer make install uit.

make install

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

4 Zabbix webdienst installeren

Het installeren van de Zabbix webdienst is alleen vereist als je geplande rapporten wilt gebruiken.

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

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

Er is een geconfigureerde Go versie 1.13+ omgeving vereist voor het bouwen van de Zabbix webdienst.

Voer zabbix_web_service uit op de machine waarop de webdienst is geïnstalleerd:

zabbix_web_service

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