[comment]: # translation:outdated

[comment]: # ({b8c65ad1-b8c65ad1})
# 7 Berekende items

[comment]: # ({/b8c65ad1-b8c65ad1})

[comment]: # ({fd827fa0-43ebe58c})
#### Overzicht

Een berekend item maakt het mogelijk om een berekening te maken op basis van de waarden van enkele bestaande items. Bijvoorbeeld, je wilt mogelijk het uurlijkse gemiddelde van een bepaalde itemwaarde berekenen of de totale waarde berekenen voor een groep items. Dat is waar een berekend item voor bedoeld is.

Berekeningen kunnen zowel gebruik maken van:

- enkele waarden van individuele items
- een complexe filter om meerdere items te selecteren voor aggregatie (zie [geaggregeerde berekeningen](/manual/config/items/itemtypes/calculated/aggregate) voor details)

Berekende items zijn een manier om virtuele gegevensbronnen te creëren. Alle berekeningen worden alleen door de Zabbix-server uitgevoerd. De waarden worden periodiek berekend op basis van de gebruikte rekenkundige expressie.

De resulterende gegevens worden opgeslagen in de Zabbix-database, net als bij elk ander item; zowel geschiedenis- als trendwaarden worden opgeslagen en grafieken kunnen worden gegenereerd.

::: noteclassic
Als het berekeningsresultaat een zwevende-komma-waarde oplevert, wordt deze afgekapt tot een geheel getal als het berekende itemtype van informatie *Numeriek (ongesigneerd)* is.
:::

Berekende items delen hun syntaxis met trigger- [expressies](/manual/config/triggers/expression). Vergelijkingen met tekenreeksen zijn toegestaan in berekende items. Berekende items kunnen worden gerefereerd door macro's of andere entiteiten, net als elk ander itemtype.

Om berekende items te gebruiken, kies het itemtype **Berekend**.

[comment]: # ({/fd827fa0-43ebe58c})

[comment]: # ({a44883dd-ddc35784})
#### Configureerbare velden

De **sleutel** is een unieke itemidentificatie (per host). Je kunt elke
sleutelnaam maken met ondersteunde symbolen.

De berekeningsdefinitie moet worden ingevoerd in het **Formule** veld.
Er is geen verbinding tussen de formule en de sleutel. De sleutelparameters
worden op geen enkele manier gebruikt in de formule.

De syntaxis van een eenvoudige formule is:

    functie(/host/sleutel,<parameter1>,<parameter2>,...)

waarbij:

|   |   |
|--|--------|
|*functie*|Een van de [ondersteunde functies](/manual/appendix/functions): laatste, min, max, gem, tel, enzovoort|
|*host*|Host van het item dat voor de berekening wordt gebruikt.<br>De huidige host kan worden weggelaten (d.w.z. zoals in `functie(//sleutel,parameter,...)`).|
|*sleutel*|Sleutel van het item dat voor de berekening wordt gebruikt.|
|*parameter(s)*|Parameters van de functie, indien vereist.|

::: notitieBelangrijk
[Gebruikersmacro's](/manual/config/macros/user_macros)
in de formule worden uitgebreid als ze worden gebruikt om naar een functieparameter, itemfilterparameter of een constante te verwijzen. Gebruikersmacro's worden NIET uitgebreid als ze verwijzen naar een functie, hostnaam, itemsleutel, itemsleutelparameter of operator.
:::

Een complexere formule kan een combinatie van functies, operatoren en
haakjes gebruiken. Je kunt alle functies en [operatoren](/manual/config/triggers/expression#operators) gebruiken die worden ondersteund in triggerexpressies. De logica en operatorprecedentie zijn precies hetzelfde.

In tegenstelling tot triggerexpressies verwerkt Zabbix berekende items op basis van het bijwerkinterval van het item, niet bij het ontvangen van een nieuwe waarde.

Alle items die worden genoemd in history functies in de formule van het berekende
item moeten bestaan en gegevens verzamelen. Ook als je de
itemsleutel van een genoemd item wijzigt, moet je eventuele formules die die sleutel gebruiken, handmatig bijwerken.

Een berekend item kan niet meer worden ondersteund in verschillende gevallen:

- verwezen item(s)
    - niet gevonden wordt
    - uitgeschakeld is
    - behoort tot een uitgeschakelde host
    - niet wordt ondersteund (behalve met de functie nodata() en
        [operatoren](/manual/config/triggers/expression#operators) met
        onbekende waarden)
- geen gegevens om een functie te berekenen
- deling door nul
- onjuiste syntaxis gebruikt

[comment]: # ({/a44883dd-ddc35784})

[comment]: # ({82c22f4f-82c22f4f})
#### Gebruiks voorbeelden

[comment]: # ({/82c22f4f-82c22f4f})

[comment]: # ({426ab71a-426ab71a})
##### Voorbeeld 1

Het berekenen van het percentage vrije schijfruimte op '/'.

Gebruik van de functie **last**:

    100*last(//vfs.fs.size[/,free])/last(//vfs.fs.size[/,total])

Zabbix zal de meest recente waarden voor vrije en totale schijfruimte nemen en het percentage berekenen volgens de opgegeven formule.

[comment]: # ({/426ab71a-426ab71a})

[comment]: # ({77bcdfd9-77bcdfd9})
##### Voorbeeld 2

Het berekenen van een 10-minuten gemiddelde van het aantal waarden verwerkt door Zabbix.

Gebruik van de functie **avg**:

    avg(/Zabbix Server/zabbix[wcache,values],10m)

Let op dat het uitgebreide gebruik van berekende items met lange tijdsperiodes invloed kan hebben op de prestaties van de Zabbix-server.

[comment]: # ({/77bcdfd9-77bcdfd9})

[comment]: # ({5d068733-5d068733})
##### Voorbeeld 3

Het berekenen van de totale bandbreedte op eth0.

Som van twee functies:

    last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes])

[comment]: # ({/5d068733-5d068733})

[comment]: # ({f8b53af1-f8b53af1})
##### Voorbeeld 4

Het berekenen van het percentage binnenkomend verkeer.

Meer complexe uitdrukking:

    100*last(//net.if.in[eth0,bytes])/(laatste(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes]))

Zie ook: [Voorbeelden van aggregaatberekeningen](/manual/config/items/itemtypes/calculated/aggregate#usage_examples)

[comment]: # ({/f8b53af1-f8b53af1})
