1 server

Overzicht

Zabbix-server is het centrale proces van Zabbix-software.

De server voert de polling en trapping van gegevens uit, hij berekent triggers, stuurt meldingen naar gebruikers. Het is het centrale onderdeel om welke Zabbix-agenten en -proxy's gegevens over beschikbaarheid en integriteit van systemen rapporteren. De server kan zelf op afstand het netwerk controleren services (zoals webservers en mailservers) met behulp van eenvoudige service controles.

De server is de centrale opslagplaats waarin alle configuratie, statistische en operationele gegevens worden opgeslagen, en het is de entiteit in Zabbix die beheerders actief waarschuwt wanneer zich problemen voordoen in een van de bewaakte systemen.

Het functioneren van een basis Zabbix-server is onderverdeeld in drie verschillende componenten; dit zijn: Zabbix-server, web frontend en databaseopslag.

Alle configuratie-informatie voor Zabbix wordt opgeslagen in de database, waarmee zowel de server als de web-frontend communiceren. Bijvoorbeeld, wanneer u een nieuw item maakt met behulp van de web-frontend (of API) wordt deze toegevoegd aan de items tabel in de database. Dan, ongeveer een keer per minuut Zabbix-server zal de items tabel doorzoeken voor een lijst met items die actief zijn die vervolgens worden opgeslagen in een cache op de Zabbix-server. Daarom kan het tot twee minuten duren voor eventuele wijzigingen in Zabbix frontend om te verschijnen in de laatste gegevenssectie.

Server draaien

Indien geïnstalleerd als pakket

De Zabbix-server wordt uitgevoerd als een daemonproces. De server kan worden gestart door het volgende uit te voeren:

service zabbix-server start

Dit werkt op de meeste GNU/Linux-systemen. Op andere systemen moet je mogelijk het volgende uitvoeren:

/etc/init.d/zabbix-server start

Voor het stoppen/herstarten/controleren van de status, gebruik je de volgende commando's:

service zabbix-server stop
       service zabbix-server restart
       service zabbix-server status
Handmatig opstarten

Als het bovenstaande niet werkt, moet je het handmatig starten. Zoek het pad naar het zabbix_server-uitvoerbaar bestand en voer het volgende uit:

zabbix_server

Je kunt de volgende opdrachtregelparameters gebruiken met de Zabbix-server:

  • -c --config <file>: pad naar het configuratiebestand (standaard is /usr/local/etc/zabbix_server.conf)
  • -f --foreground: Zabbix-server uitvoeren in de voorgrond
  • -R --runtime-control <option>: uitvoeren van administratieve functies
  • -h --help: toon deze hulp
  • -V --version: toon het versienummer

Voorbeelden van het uitvoeren van de Zabbix-server met opdrachtregelparameters:

zabbix_server -c /usr/local/etc/zabbix_server.conf
       zabbix_server --help
       zabbix_server -V
Runtime-besturing

Opties voor runtime-besturing:

Optie Beschrijving Doel
config_cache_reload Herlaad de configuratiecache. Wordt genegeerd als de cache momenteel wordt geladen.
diaginfo[=<sectie>] Verzamel diagnostische informatie in het serverlogbestand. historycache - statistieken van de geschiedeniscache
valuecache - statistieken van de waardencache
preprocessing - statistieken van de voorverwerkingbeheerder
alerting - statistieken van de alarmbeheerder
lld - statistieken van de LLD-beheerder
locks - lijst van mutexen (is leeg op **BSD*-systemen)
ha_status Log de status van de cluster voor hoge beschikbaarheid (HA).
ha_remove_node=doel Verwijder de knoop voor hoge beschikbaarheid (HA) opgegeven door de naam of het ID.
Houd er rekening mee dat actieve/standby-knopen niet kunnen worden verwijderd.
doel - naam of ID van de knoop (kan worden verkregen door ha_status uit te voeren)
ha_set_failover_delay=vertraging Stel het uitvalvertraging voor hoge beschikbaarheid (HA) in.
Tijdssuffixen worden ondersteund, bijvoorbeeld 10s, 1m.
secrets_reload Herlaad geheimen van Vault.
service_cache_reload Herlaad de cachemanager voor services.
snmp_cache_reload Herlaad SNMP-cache, verwijder de SNMP-eigenschappen (engine time, engine boots, engine id, referenties) voor alle hosts.
housekeeper_execute Start de housekeeping-procedure. Wordt genegeerd als de housekeeping-procedure momenteel wordt uitgevoerd.
trigger_housekeeper_execute Start de trigger housekeeping-procedure. Wordt genegeerd als de trigger housekeeping-procedure momenteel wordt uitgevoerd.
log_level_increase[=<doel>] Verhoog het logniveau, beïnvloedt alle processen als het doel niet is gespecificeerd.
Niet ondersteund op BSD-systemen.
proces type - Alle processen van het gespecificeerde type (bijv. poller)
Zie alle serverprocestypes.
proces type,N - Procestype en nummer (bijv. poller,3)
pid - Procesidentificatie (1 tot 65535). Voor grotere waarden geef het doel op als 'proces type,N'.
log_level_decrease[=<doel>] Verlaag het logniveau, beïnvloedt alle processen als het doel niet is gespecificeerd.
Niet ondersteund op BSD-systemen.
prof_enable[=<doel>] Profilering inschakelen.
Beïnvloedt alle processen als het doel niet is gespecificeerd.
Ingeschakelde profilering geeft details van alle rwlocks/mutexen weer op basis van functienaam.
Ondersteund sinds Zabbix 6.0.13.
proces type - Alle processen van het gespecificeerde type (bijv. history syncer)
Ondersteunde procestypen als profilering-doelen: alerter, alarmbeheerder, beschikbaarheidsbeheerder, configuratiesynchronisator, ontdekker, escalator, geschiedenispoller, geschiedenissynchronisator, housekeeper, http-poller, icmp-pinger, ipmi-beheerder, ipmi-poller, java-poller, lld-manager, lld-werker, odbc-poller, poller, voorverwerkingsbeheerder, voorverwerkingswerker, proxypoller, zelfmonitoring, servicemanager, snmp-trapper, taakbeheerder, timer, trapper, niet-bereikbaar-poller, vmware-collector
proces type,N - Procestype en nummer (bijv. history syncer,1)
pid - Procesidentificatie (1 tot 65535). Voor grotere waarden geef het doel op als 'proces type,N'.
scope - rwlock, mutex, processing kunnen worden gebruikt met het procestype en nummer (bijv. history syncer,1,processing) of alle processen van het type (bijv. history syncer,rwlock)
prof_disable[=<doel>] Profilering uitschakelen.
Beïnvloedt alle processen als het doel niet is gespecificeerd.
Ondersteund sinds Zabbix 6.0.13.
proces type - Alle processen van het gespecificeerde type (bijv. history syncer)
Ondersteunde procestypen als profilering-doelen: zie prof_enable
proces type,N - Procestype en nummer (bijv. history syncer,1)
pid - Procesidentificatie (1 tot 65535). Voor grotere waarden geef het doel op als 'proces type,N'.

Voorbeeld van het gebruik van runtime-besturing om de serverconfiguratiecache te herladen:

zabbix_server -c /usr/local/etc/zabbix_server.conf -R config_cache_reload

Voorbeelden van het gebruik van runtime-besturing om diagnostische informatie te verzamelen:

# Verzamel alle beschikbare diagnostische informatie in het serverlogbestand:
       zabbix_server -R diaginfo
       
       # Verzamel geschiedeniscache-statistieken in het serverlogbestand:
       zabbix_server -R diaginfo=historycache

Voorbeeld van het gebruik van runtime-besturing om de SNMP-cache te herladen:

zabbix_server -R snmp_cache_reload

Voorbeeld van het gebruik van runtime-besturing om de uitvoering van de housekeeper te triggeren:

zabbix_server -c /usr/local/etc/zabbix_server.conf -R housekeeper_execute

Voorbeelden van het gebruik van runtime-besturing om het logniveau te wijzigen:

# Verhoog het logniveau van alle processen:
       zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase
       
       # Verhoog het logniveau van het tweede poller-proces:
       zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=poller,2
       
       # Verhoog het logniveau van het proces met PID 1234:
       zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=1234
       
       # Verlaag het logniveau van alle http-poller-processen:
       zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_decrease="http poller"

Voorbeeld van het instellen van de uitvalvertraging voor HA op het minimum van 10 seconden:

zabbix_server -R ha_set_failover_delay=10s
Gebruiker verwerken

Zabbix-server is ontworpen om als niet-root gebruiker te worden uitgevoerd. Het zal lopen als ongeacht welke niet-root gebruiker het is gestart. U kunt de server dus als elke uitvoeren niet-root gebruiker zonder problemen.

Als je het probeert uit te voeren als 'root', zal het overschakelen naar een hardcoded 'zabbix'-gebruiker, die aanwezig op . moet staan jouw systeem. U kunt de server alleen als 'root' uitvoeren als u de 'AllowRoot'-parameter in het server configuratiebestand dienovereenkomstig.

Als Zabbix-server en agent op dezelfde machine worden uitgevoerd, is het: aanbevolen om een andere gebruiker te gebruiken voor het uitvoeren van de server dan voor het runnen van de agent. Anders, als beide worden uitgevoerd als dezelfde gebruiker, wordt de agent heeft toegang tot het server configuratiebestand en elke gebruiker op Admin-niveau in Zabbix kan vrij eenvoudig bijvoorbeeld het database wachtwoord worden opgehaald.

Configuratiebestand

Zie het configuratiebestand opties voor details over het configureren van zabbix_server.

Opstartscripts

De scripts worden gebruikt om Zabbix-processen automatisch te starten/stoppen tijdens: opstarten/afsluiten van het systeem. De scripts bevinden zich onder directory misc/init.d.

Here is a list of various types of Zabbix server processes and their descriptions:

  • alert manager: Alert queue manager.
  • alert syncer: Alert DB writer.
  • alerter: Process for sending notifications.
  • availability manager: Process for host availability updates.
  • configuration syncer: Process for managing in-memory cache of configuration data.
  • discoverer: Process for discovery of devices.
  • escalator: Process for escalation of actions.
  • ha manager: Process for managing high availability.
  • history poller: Process for handling calculated and internal checks requiring a database connection.
  • history syncer: History DB writer.
  • housekeeper: Process for removal of old historical data.
  • http poller: Web monitoring poller.
  • icmp pinger: Poller for icmpping checks.
  • ipmi manager: IPMI poller manager.
  • ipmi poller: Poller for IPMI checks.
  • java poller: Poller for Java checks.
  • lld manager: Manager process of low-level discovery tasks.
  • lld worker: Worker process of low-level discovery tasks.
  • odbc poller: Poller for ODBC checks.
  • poller: Normal poller for passive checks.
  • preprocessing manager: Manager of preprocessing tasks.
  • preprocessing worker: Process for data preprocessing.
  • proxy poller: Poller for passive proxies.
  • report manager: Manager of scheduled report generation tasks.
  • report writer: Process for generating scheduled reports.
  • self-monitoring: Process for collecting internal server statistics.
  • service manager: Process for managing services by receiving information about problems, problem tags, and problem recovery from history syncer, task manager, and alert manager.
  • snmp trapper: Trapper for SNMP traps.
  • task manager: Process for remote execution of tasks requested by other components (e.g., close problem, acknowledge problem, check item value now, remote command functionality).
  • timer: Timer for processing maintenances.
  • trapper: Trapper for active checks, traps, proxy communication.
  • trigger housekeeper: Process for removing problems generated by triggers that have been deleted.
  • unreachable poller: Poller for unreachable devices.
  • vmware collector: VMware data collector responsible for data gathering from VMware services.

You can monitor various types of Zabbix server processes using the zabbix[process,<type>,<mode>,<state>] internal item type.

Ondersteunde platforms

Vanwege de beveiligingsvereisten en de missiekritieke aard van de server werking, is UNIX het enige besturingssysteem dat consistent de nodige prestaties, fouttolerantie en veerkracht te leveren. Zabbix werkt op marktleidende versies.

Zabbix-server is getest op de volgende platforms:

  • Linux
  • Solaris
  • AIX
  • HP-UX
  • Mac OS X
  • FreeBSD
  • OpenBSD
  • NetBSD
  • SCO Open Server
  • Tru64/OSF1

Zabbix werkt mogelijk op andere Unix-achtige besturingssystemen ook goed.

Lokaal

Merk op dat de server een UTF-8-landinstelling vereist, zodat sommige tekstuele items correct kan worden geïnterpreteerd. De meeste moderne Unix-achtige systemen hebben een UTF-8 locale als standaard, er zijn echter enkele systemen waar dat nodig kan zijn specifiek in te stellen.