Skip to content

Beregn den total netværkstrafik på en gruppe af servere i Zabbix

Nogle gange er det bare nemmere med en smart funktion som gør tingen for dig!

For at beregen den totale mængde af netværkstrafik for en gruppe af hosts i Zabbix, kan du bruge en ‘Calculated Item’.
I den definere du en ‘beregning’ som kan involvere flere hosts og items.
På den måde kunne du lave en beregning hvor du blot finde de host og items du vil ligge samme og skrive en formels som eksmpel denne:

last("Host1:net.if.in[eth0]") + last("Host1:net.if.out[eth0]") + last("Host2:net.if.in[eth0]") + last("Host2:net.if.out[eth0]")

Men dette kan hurtigt blive uoverkommeligt at holde styr på hvis man f.eks. har 100 servere i en gruppe og at antallet ændre sig løbende.
Derfor en en meget nemmere måde at benytte ‘foreach’ funktioner.

Foreach funktioner

Foreach-funktioner i Zabbix bruges til at udføre aggregerede beregninger på tværs af items ved at hente data fra disse items. Funktionerne returnerer en aggregeret værdi for hvert item, der er udvalgt ved hjælp af et filter.

Du kan læse mere om de forskellige foreach funktioner her.

For at beregne den samlede trafik på interfaces for en hostgruppe i Zabbix ved hjælp af foreach-funktioner, kan du følge disse trin:

  1. Opret et item på Zabbix-serveren, der bruger en foreach-funktion til at indsamle trafikdata fra alle hosts i gruppen.
  2. Giv den et navn og en sigende key.
  3. For at beregne udgående trafik for hostgruppen ‘Linux servere’ kan du bruge følgende formular som eksempel:sum(last_foreach(/*/net.if.out[*]?[group="Linux servere"]))

    Denne formular vil:

    1. Iterere over alle hosts markeret med *, men med brug af et filter som angiver gruppen ‘Linux servere’
    2. Indsamle udgående trafik for alle interfaces på hver host
    3. Foreach funktionen retunere en liste med alle værdier, som vi kan lave en sum på.

For at inkludere udgående trafik, kan du tilføje et lignende item med net.if.out i stedet for net.if.in.
Opret et beregnet item, der kombinerer indgående og udgående trafik for at få den samlede trafik.

Back To Top