Sidebar

#12 Prestaties afstemmen

Dit is een werk in uitvoering.

Overzicht

Het is erg belangrijk om het Zabbix-systeem goed afgesteld te hebben voor maximaal prestatie.

Hardware

Algemeen advies over hardware:

  • Gebruik de snelste beschikbare processor
  • SCSI of SAS is beter dan IDE (prestaties van IDE-schijven kunnen zijn): aanzienlijk verbeterd door het gebruik van hulpprogramma hdparm) en SATA
  • 15K RPM is beter dan 10K RPM, wat beter is dan 7200 RPM
  • Gebruik snelle RAID-opslag
  • Gebruik een snelle Ethernet-adapter
  • Meer geheugen hebben is altijd beter

Besturingssysteem

  • Gebruik de nieuwste (stabiele!) versie van OS
  • Sluit onnodige functionaliteit uit van de kernel
  • Kernparameters afstemmen

Zabbix-configuratieparameters

Veel parameters kunnen worden afgestemd om optimale prestaties te krijgen.

Om de beste prestatie te bereiken (d.w.z. wanneer pollers niet concurreren met) geschiedenis synchronisatie programma's voor algemene bronnen in de configuratie cache) het is aanbevolen om lage aantallen historische pollers, pollers, onbereikbaar te houden pollers, Java pollers, ODBC pollers op Zabbix server en maak ze zo gratis mogelijk door alle peilingen te delegeren aan Zabbix-proxy's.

zabbix_server

Start Pollers

Algemene regel - houd de waarde van deze parameter zo laag mogelijk. Elk extra instantie van zabbix_server voegt tegelijkertijd bekende overhead toe tijd neemt het parallellisme toe. Optimaal aantal instanties is bereikt wanneer de itemwachtrij gemiddeld een minimum aantal parameters bevat (idealiter 0 op een bepaald moment). Deze waarde kan worden gecontroleerd met behulp van interne controle zabbix[wachtrij].

Zie het gedeelte "Zie ook" onderaan deze pagina voor meer informatie over het configureren van het optimale aantal zabbix processen.

StartGeschiedenis Pollers

Deze waarde moet zo laag mogelijk worden gehouden om onnodige verbindingen met de database. Elke geschiedenis poller vereist een verbinding met: de databank.

Zie ook: Serverproces typen

Debugniveau

Optimale waarde is 3.

DBSocket

Alleen MySQL. Het wordt aanbevolen om DBSocket te gebruiken voor verbinding met de databank. Dat is de snelste en veiligste manier.

Database-engine

Dit is waarschijnlijk het belangrijkste onderdeel van Zabbix-tuning. Zabbix hangt sterk af van de beschikbaarheid en prestaties van de database-engine.

  • gebruik de snelste database-engine, d.w.z. MySQL of PostgreSQL
  • gebruik stabiele release van een database-engine
  • herbouw MySQL of PostgreSQL vanuit bronnen om maximale prestaties te krijgen
  • volg de instructies voor het afstemmen van prestaties uit MySQL of PostgreSQL-documentatie
  • gebruik voor MySQL de InnoDB-tabel structuur
  • ZABBIX werkt minimaal 1,5 keer sneller (vergeleken met MyISAM) als InnoDB wordt gebruikt. Dit komt door het toegenomen parallellisme. Echter, InnoDB vereist meer CPU-kracht.
  • het afstemmen van de databaseserver voor de beste prestaties is zeer belangrijk aanbevolen.
  • databasetabellen op verschillende harde schijven bewaren
  • 'geschiedenis', 'geschiedenis_str, 'items' 'functies', triggers', en 'trends' zijn de meest gebruikte tabellen.
  • voor grote installaties is het bewaren van tijdelijke MySQL-bestanden in tmpfs:

GUI debuggen

Problemen met betrekking tot de frontend-prestaties kunnen worden gediagnosticeerd met behulp van de frontend foutopsporingsmodus.

Algemeen advies

  • bewaak alleen de vereiste parameters
  • tune 'Update interval' voor alle items. Een kleine update houden interval kan goed zijn voor mooie grafieken, dit kan echter overbelast raken Zabbix
  • parameters afstemmen voor standaardsjablonen
  • huishoudelijke parameters afstemmen
  • controleer geen parameters die dezelfde informatie retourneren.
  • vermijd het gebruik van triggers met een lange periode die als functie wordt gegeven argument. Max(/host/key,1h) wordt bijvoorbeeld berekend aanzienlijk langzamer dan max(/host/key,1m).

Zabbix-procesprestaties bekijken met "ps" en "top"

Aangezien Zabbix 2.2-processen hun opdrachtregels wijzigen om de huidige weer te geven activiteit en zinvolle statistieken, zoals:

UID PID PPID C STIME TTY TIME CMD
       zabbix22 4584 1 0 14:55 ? 00:00:00 zabbix_server -c /home/zabbix22/zabbix_server.conf
       zabbix22 4587 4584 0 14:55 ? 00:00:00 zabbix_server: configuratie syncer [gesynchroniseerde configuratie in 0.041169 sec, inactief 60 sec]
       zabbix22 4588 4584 0 14:55 ? 00:00:00 zabbix_server: db watchdog [gesynchroniseerde waarschuwingsconfiguratie in 0,018748 sec, inactief 60 sec]
       zabbix22 4608 4584 0 14:55 ? 00:00:00 zabbix_server: timer #1 [0 hosts bijgewerkt, 0 gebeurtenissen onderdrukt in 0.000472 sec, inactief 59 sec]
       zabbix22 4637 4584 0 14:55 ? 00:00:01 zabbix_server: geschiedenis syncer #3 [verwerkte 0 waarden, 0 triggers in 0,000036 sec, inactief 1 sec]
       zabbix22 4657 4584 0 14:55 ? 00:00:00 zabbix_server: vmware collector #1 [bijgewerkt 0, 0 VMware-services verwijderd in 0.000004 sec, inactief 5 sec]
       zabbix22 4670 1 0 14:55 ? 00:00:00 zabbix_proxy -c /home/zabbix22/zabbix_proxy.conf
       zabbix22 4673 4670 0 14:55 ? 00:00:00 zabbix_proxy: configuratie syncer [gesynchroniseerde configuratie 15251 bytes in 0.111861 sec, inactief 60 sec]
       zabbix22 4674 4670 0 14:55 ? 00:00:00 zabbix_proxy: hartslagzender [verzenden hartslagbericht succesvol in 0,013643 sec, inactief 30 sec]
       zabbix22 4688 4670 0 14:55 ? 00:00:00 zabbix_proxy: icmp pinger #1 [kreeg 1-waarden in 1.811128 sec, inactief 5 sec]
       zabbix22 4690 4670 0 14:55 ? 00:00:00 zabbix_proxy: huishoudster [verwijderde 9870 records in 0,233491 sec, inactief 3599 sec]
       zabbix22 4701 4670 0 14:55 ? 00:00:08 zabbix_proxy: http poller #2 [kreeg 1 waarden in 0.024105 sec, inactief 1 sec]
       zabbix22 4707 4670 0 14:55 ? 00:00:00 zabbix_proxy: geschiedenis syncer #4 [verwerkte 0 waarden, 0 triggers in 0,000039 sec, inactief 1 sec]
       zabbix22 4738 1 0 14:55 ? 00:00:00 zabbix_agentd -c /home/zabbix22/zabbix_agentd.conf
       zabbix22 4739 4738 0 14:55 ? 00:00:00 zabbix_agentd: verzamelaar [inactief 1 sec]
       zabbix22 4740 4738 0 14:55 ? 00:00:00 zabbix_agentd: luisteraar #1 [wacht op verbinding]
       zabbix22 4741 4738 0 14:55 ? 00:00:00 zabbix_agentd: luisteraar #2 [verwerkingsverzoek]

Het hoofdproces is een uitzondering. In plaats van de huidige activiteit de originele opdrachtregel wordt weergegeven. Dit helpt om processen te onderscheiden op systemen met meerdere Zabbix-instanties.

Deze functie is niet geïmplementeerd voor Microsoft Windows.

Als het logniveau is ingesteld op DebugLevel=4 deze activiteit en statistische berichten worden ook in het logbestand geschreven.

Linux

Op Linux-systemen kan het ps-commando samen met het watch-commando worden gebruikt om te observeren hoe het met Zabbix gaat. Om bijvoorbeeld het ps-commando 5 . uit te voeren keer per seconde om procesactiviteiten te zien:

kijk -n 0.2 ps -fu zabbix

Alleen Zabbix-proxy- en agentprocessen weergeven:

bekijk -tn 0.2 'ps -f -C zabbix_proxy -C zabbix_agentd'

Alleen geschiedenis synchronisatie processen weergeven:

bekijk -tn 0.2 'ps -fC zabbix_server | grep geschiedenis'

De opdracht ps produceert een brede uitvoer (ongeveer 190 kolommen) als sommige activiteitsberichten zijn lang. Als uw terminal minder dan 190 . heeft kolommen met tekst die u kunt proberen

bekijk -tn 0.2 'ps -o cmd -C zabbix_server -C zabbix_proxy -C zabbix_agentd'

om alleen commandoregels weer te geven zonder UID, PID, starttijd etc.

Het top-commando kan ook worden gebruikt voor het observeren van Zabbix-prestaties. Door in top op de 'c'-toets te drukken, worden processen met hun opdrachtregels weergegeven. In onze tests op Linux top en atop correct weergegeven veranderend activiteiten van Zabbix-processen, maar htop vertoonde geen verandering activiteiten.

BSD-systemen

Als het watch-commando niet is geïnstalleerd, kan een soortgelijk effect worden bereikt met

terwijl [ 1 ]; doe ps x; slaap 0,2; Doorzichtig; gedaan
AIX, HP-UX

Als het watch commando niet beschikbaar is, kan men proberen

terwijl [ 1 ]; doe ps -fu zabbix; slaap 1; Doorzichtig; gedaan
Solaris

Standaard toont het ps commando geen wisselende activiteiten. Een optie is om in plaats daarvan /usr/ucb/ps te gebruiken. Als het watch-commando niet is geïnstalleerd, kan een periodiek bijgewerkte lijst van processen worden getoond met

terwijl [ 1 ]; doe /usr/ucb/ps gxww; slaap 1; Doorzichtig; gedaan

Op Solaris 11:

  • /usr/ucb/ps is niet standaard geïnstalleerd. Mogelijk moet u installeren ucb pakket, b.v. pkg-installatiecompatibiliteit/ucb,
  • als de Zabbix-daemon is gestart door een bevoorrechte gebruiker, zijn activiteiten worden niet getoond aan niet-bevoorrechte gebruikers.
  • het sleep commando accepteert niet alleen hele seconden maar ook fracties van seconden (bijv. 'slaap 0,2').

Zie ook

  1. Het optimale aantal zabbix configureren processen