7 Elements calculats

Visió general

Un element calculat permet crear un càlcul basat en el valors d'alguns elements existents. Per exemple, és possible que vulgueu calcular la mitjana horària d'algun valor d'element o calcular el valor total d'un grup d'elements. Per a això serveixen els elements calculats.

Els càlculs poden emprar aquestes dues:

  • valors individuals d'elements individuals
  • un filtre complex per seleccionar diversos elements per a l'agregació (per tindre més detalls, llegiu els càlculs afegits)

Els elements calculats són una manera de crear fonts de dades virtuals. Tots els càlculs els fa només el servidor Zabbix. Els valors són periòdics i es calculen a partir de l'expressió aritmètica emprada.

Les dades resultants s'emmagatzemen a la base de dades Zabbix com per a qualsevol altra element; s'emmagatzemen tant els valors històrics com les tendències i es poden emmagatzemar els gràfics generats.

Si el resultat del càlcul és un valor flotant, ho serà retallat a un nombre enter si el tipus d'informació d'element calculat és Numèric (sense signe).

A més, si no hi ha dades recents a la memòria cau i no hi ha un període de consulta definit a la funció, per defecte Zabbix anirà enrere fins a una setmana per consultar a la base de dades els valors històrics.

Els elements calculats comparteixen la seva sintaxi amb les expressions de trigger. Es permeten les comparacions amb cadenes. Els elements calculats es poden fer referència per macros o altres entitats iguals a qualsevol altre tipus d'element.

Per emprar elements calculats, trieu el tipus d'element Calculat.

Camps configurables

La clau és un identificador d'element únic (per equip). Podeu crear qualsevol nom de clau emprant símbols admesos.

La definició del càlcul s'ha d'introduir al camp Fórmula. Gairebé no hi ha connexió entre la fórmula i la clau. Els paràmetres clau no s'empren a la fórmula de cap manera.

La sintaxi d'una fórmula simple és:

 function(/host/key,<paràmetre1>,<paràmetre2>,...)

O:

function Una de les funcions admeses: last, min, max, avg, count, etc
host Equip de l'element emprat per al càlcul.
L'equip actual es pot ometre (com a function(//key,parameter,...)).
key Clau de l'element emprat per al càlcul.
paràmetre(s) Paràmetres de funció, si cal.

Les macros d'usuari de la fórmula s'ampliaran si s'empren per fer referència a un paràmetre de funció, un paràmetre de filtre d'element o una constant. Les macros d'usuari NO s'ampliaran pas si fan referència a una funció, nom d'equip, clau d'element, paràmetre de clau d'element o operador.

Una fórmula més complexa pot emprar una combinació de funcions, operadors i parèntesis. Podeu emprar totes les funcions admeses i operators a les expressions de triggers. La lògica i la precedència de l'operador són exactament la mateixa.

A diferència dels triggers, Zabbix processa els elements calculats en funció de l'interval d'actualització de l'element, no quan es rep un valor nou.

Tots els elements als quals fan referència les funcions d'històric a la fórmula d'elements calculats han d'existir i recopilar dades. A més, si canvieu la clau d'element d'un element de referència, haureu d'actualitzar manualment totes les fórmules amb aquesta clau.

Un element calculat pot quedar sense suport en diversos casos:

  • els articles de referència
    • no es troba
    • és inhabilitat
    • pertany a l'equip desactivat
    • no és compatible (excepte amb la funció nodata() i operadors amb valors desconeguts)
  • No hi ha dades per calcular una funció
  • Divisió per zero
  • S'empra una sintaxi incorrecta

Exemples d'ús

Exemple 1

Càlcul del percentatge d'espai lliure de disc a '/'.

Ús de la funció last:

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

Zabbix prendrà els darrers valors per l'espai en disc lliure i el total, i calcularà el percentatge segons la fòrmula donada.

Exemple 2

Càlcul de la mitjana sobre 10 minuts del nombre de valors tractats per Zabbix.

Ús de la funció avg:

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

Veieu que un ús intensiu d'elements calculats amb períodes llargs pot afectar el rendiment del servidor Zabbix.

Exemple 3

Càlcul de l'amplada de banda total de l'eth0.

Suma de dues funcions:

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

Càlcul del percentatge de tràfic entrant.

Expressió més complexa:

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

Veieu també: Exemples de càlculs agregats