1 Proxies

Overzicht

Een Zabbix-proxy kan prestatie- en beschikbaarheidsgegevens verzamelen namens de Zabbix-server. Op deze manier kan een proxy een deel van de belasting van het verzamelen van gegevens op zich nemen en de Zabbix-server ontlasten.

Bovendien is het gebruik van een proxy de eenvoudigste manier om gecentraliseerde en gedistribueerde monitoring te implementeren, waarbij alle agents en proxies rapporteren aan één Zabbix-server en alle gegevens centraal worden verzameld.

Een Zabbix-proxy kan worden gebruikt om:

  • Afgelegen locaties te bewaken
  • Locaties met onbetrouwbare communicatie te bewaken
  • De Zabbix-server te ontlasten bij het bewaken van duizenden apparaten
  • Het onderhoud van gedistribueerde monitoring te vereenvoudigen

De proxy vereist slechts één TCP-verbinding met de Zabbix-server. Op deze manier is het gemakkelijker om een firewall te omzeilen, omdat je slechts één firewallregel hoeft te configureren.

Een Zabbix-proxy moet een aparte database gebruiken. Als je deze naar de Zabbix-serverdatabase verwijst, zal de configuratie worden verbroken.

Alle gegevens die door de proxy worden verzameld, worden lokaal opgeslagen voordat ze naar de server worden verzonden. Op deze manier gaan er geen gegevens verloren door tijdelijke communicatieproblemen met de server. De parameters ProxyLocalBuffer en ProxyOfflineBuffer in het configuratiebestand van de proxy regelen hoe lang de gegevens lokaal worden bewaard.

Het kan gebeuren dat een proxy, die de laatste configuratiewijzigingen direct vanuit de Zabbix-serverdatabase ontvangt, een meer up-to-date configuratie heeft dan de Zabbix-server, waarvan de configuratie mogelijk niet zo snel wordt bijgewerkt vanwege de waarde van CacheUpdateFrequency. Als gevolg hiervan kan de proxy beginnen met het verzamelen van gegevens en deze naar de Zabbix-server sturen, die deze gegevens negeert.

Zabbix-proxy is een gegevensverzamelaar. Het berekent geen triggervoorwaarden, verwerkt geen gebeurtenissen en stuurt geen meldingen. Voor een overzicht van de functionaliteit van de proxy, raadpleeg de volgende tabel:

Functie Ondersteund door proxy
Items
Controles met Zabbix-agent Ja
Controles met Zabbix-agent (actief) Ja 1
Eenvoudige controles Ja
Trapper-items Ja
SNMP-controles Ja
SNMP-traps Ja
IPMI-controles Ja
JMX-controles Ja
Monitoring van logbestanden Ja
Interne controles Ja
SSH-controles Ja
Telnet-controles Ja
Externe controles Ja
Afhankelijke items Ja
Script-items Ja
Ingebouwde webmonitoring Ja
Voorverwerking van itemwaarden Ja
Netwerkontdekking Ja
Actieve agentautoregistratie Ja
Low-level discovery Ja
Externe opdrachten Ja
Triggervoorwaarden berekenen Nee
Verwerken van gebeurtenissen Nee
Gebeurteniscorrelatie Nee
Meldingen verzenden Nee

[1] Om ervoor te zorgen dat een agent de proxy (en niet de server) vraagt om actieve controles uit te voeren, moet de proxy worden vermeld in de ServerActive parameter in het configuratiebestand van de agent.

Bescherming tegen overbelasting

Als de Zabbix-server gedurende enige tijd niet beschikbaar was en de proxies veel gegevens hebben verzameld, en vervolgens de server weer wordt gestart, kan deze overbelast raken (het gebruik van de geschiedeniscache blijft gedurende enige tijd op 95-100%). Deze overbelasting kan leiden tot verminderde prestaties, waarbij controles trager worden verwerkt dan ze zouden moeten zijn. Om problemen te voorkomen die ontstaan door overbelasting van de geschiedeniscache, is bescherming tegen dit scenario geïmplementeerd.

Wanneer de geschiedeniscache van de Zabbix-server vol is, wordt de schrijftoegang tot de geschiedeniscache vertraagd, wat leidt tot vertraging van de gegevensverzamelingsprocessen van de server. Het meest voorkomende geval van overbelasting van de geschiedeniscache doet zich voor na uitval van de server, wanneer proxies verzamelde gegevens uploaden. Om dit te voorkomen, is een vertraging voor proxies toegevoegd (dit kan momenteel niet worden uitgeschakeld).

De Zabbix-server stopt met het accepteren van gegevens van proxies wanneer het gebruik van de geschiedeniscache 80% bereikt. In plaats daarvan worden die proxies op een vertragingslijst geplaatst. Dit blijft doorgaan totdat het cachegebruik daalt naar 60%. Nu zal de server gegevens van proxies één voor één beginnen te accepteren, zoals bepaald door de vertragingslijst. Dit betekent dat de eerste proxy die tijdens de vertragingperiode probeerde gegevens te uploaden, als eerste wordt bediend en dat de server geen gegevens van andere proxies zal accepteren totdat dit is voltooid.

Deze vertragingsmodus blijft doorgaan totdat het cachegebruik weer 80% bereikt of daalt naar 20%, of totdat de vertragingslijst leeg is. In het eerste geval stopt de server opnieuw met het accepteren van gegevens van de proxy. In de andere twee gevallen zal de server normaal gaan werken en gegevens van alle proxies accepteren.

De bovenstaande informatie kan worden geïllustreerd in de volgende tabel:

Geschreven cachegebruik geschiedenis Zabbix servermodus Actie van Zabbix server
Bereikt 80% Wachten Stopt met het accepteren van gegevens van proxies, maar behoudt een vertragingslijst (geprioriteerde lijst van proxies die later worden gecontacteerd).
Daalt naar 60% Vertraagd Begint met het verwerken van de vertragingslijst, maar accepteert nog steeds geen gegevens van proxies.
Daalt naar 20% Normaal Verwijdert de vertragingslijst en begint normaal gegevens van proxies te accepteren.

Je kunt het interne item zabbix[wcache,history,pused] gebruiken om het gedrag van de Zabbix-server in verband met deze metriek te correleren.

Configuratie

Nadat u een proxy hebt geïnstalleerd en geconfigureerd, is het tijd om deze in te stellen in de Zabbix-webinterface.

Proxies toevoegen

Om een proxy te configureren in de Zabbix-frontend:

  • Ga naar: Administratie → Proxies
  • Klik op Proxy maken

Proxy maken

Parameter Omschrijving
Proxy-naam Voer de proxy-naam in. Het moet dezelfde naam zijn als in de parameter Hostname in het configuratiebestand van de proxy.
Proxy-modus Selecteer de proxy-modus.
Actief - de proxy maakt verbinding met de Zabbix-server en vraagt configuratiegegevens op
Passief - Zabbix-server maakt verbinding met de proxy
Opmerking dat zonder versleutelde communicatie (gevoelig) configuratiegegevens van de proxy mogelijk beschikbaar kunnen worden gesteld aan partijen die toegang hebben tot de trapper-poort van de Zabbix-server bij gebruik van een actieve proxy. Dit is mogelijk omdat iedereen zich kan voordoen als een actieve proxy en configuratiegegevens kan opvragen als er geen authenticatie plaatsvindt of proxy-adressen niet zijn beperkt in het veld Proxy-adres.
Proxy-adres Indien gespecificeerd, worden actieve proxy-verzoeken alleen geaccepteerd vanuit deze lijst met komma-gescheiden IP-adressen, optioneel in CIDR-notatie, of DNS-namen van actieve Zabbix-proxy.
Dit veld is alleen beschikbaar als een actieve proxy is geselecteerd in het veld Proxy-modus. Macro's worden niet ondersteund.
Deze optie wordt ondersteund sinds Zabbix 4.0.0.
Interface Voer interfacegegevens in voor de passieve proxy.
Dit veld is alleen beschikbaar als een passieve proxy is geselecteerd in het veld Proxy-modus.
IP-adres IP-adres van de passieve proxy (optioneel).
DNS-naam DNS-naam van de passieve proxy (optioneel).
Verbinden met Door op de respectieve knop te klikken, vertelt u de Zabbix-server wat te gebruiken om gegevens van de proxy op te halen:
IP - Maak verbinding met het IP-adres van de proxy (aanbevolen)
DNS - Maak verbinding met de DNS-naam van de proxy
Poort TCP-poortnummer van de passieve proxy (standaard 10051).
Omschrijving Voer de proxy-omschrijving in.

Het tabblad Encryptie stelt je in staat om versleutelde verbindingen met de proxy te vereisen.

Parameter Omschrijving
Verbindingen met proxy Hoe de server verbinding maakt met de passieve proxy: geen versleuteling (standaard), gebruik van PSK (pre-shared key) of certificaat.
Verbindingen van proxy Selecteer welk type verbindingen zijn toegestaan vanuit de actieve proxy. Verschillende verbindingstypen kunnen tegelijkertijd worden geselecteerd (handig voor testen en overschakelen naar een ander verbindingstype). Standaard is "Geen versleuteling".
Uitgever Toegestane uitgever van certificaat. Certificaat wordt eerst gevalideerd met de CA (certificate authority). Als het geldig is, ondertekend door de CA, kan het veld Uitgever worden gebruikt om de toegestane CA verder te beperken. Dit veld is optioneel en bedoeld om te gebruiken als jouw Zabbix-installatie certificaten van meerdere CAs gebruikt.
Onderwerp Toegestaan onderwerp van certificaat. Certificaat wordt eerst gevalideerd met de CA. Als het geldig is, ondertekend door de CA, kan het veld Onderwerp worden gebruikt om alleen één waarde van de Onderwerp-tekenreeks toe te staan. Als dit veld leeg is, wordt elk geldig certificaat ondertekend door de geconfigureerde CA geaccepteerd.
PSK-identiteit Vooraf gedefinieerde identiteit van de pre-shared key (PSK) string.
Plaats geen gevoelige informatie in de PSK-identiteit, deze wordt onversleuteld over het netwerk verzonden om de ontvanger te informeren welke PSK moet worden gebruikt.
PSK Vooraf gedeelde sleutel (hexadecimale tekenreeks). Maximale lengte: 512 hexadecimale cijfers (256-byte PSK) als Zabbix de GnuTLS of OpenSSL-bibliotheek gebruikt, 64 hexadecimale cijfers (32-byte PSK) als Zabbix de mbed TLS (PolarSSL) bibliotheek gebruikt. Voorbeeld: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952.

Het bewerkingsformulier van een bestaande proxy heeft de volgende extra knoppen:

  • Configuratie vernieuwen - vernieuw de configuratie van de proxy
  • Klonen - maak een nieuwe proxy op basis van de eigenschappen van de bestaande proxy
  • Verwijderen - verwijder de proxy
Hostconfiguratie

Je kunt aangeven dat een individuele host moet worden gemonitord door een proxy in het hostconfiguratie-formulier, met behulp van het veld Gemonitord door proxy.

Gemonitord door proxy

Massa-update van hosts is een andere manier om aan te geven dat hosts moeten worden gemonitord door een proxy.