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:
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.
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.
Nadat u een proxy hebt geïnstalleerd en geconfigureerd, is het tijd om deze in te stellen in de Zabbix-webinterface.
Om een proxy te configureren in de Zabbix-frontend:
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:
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.
Massa-update van hosts is een andere manier om aan te geven dat hosts moeten worden gemonitord door een proxy.