Un elemento calculado permite crear un c¨¢lculo basado en el valores de algunos art¨ªculos existentes. Por ejemplo, es posible que desee calcular el promedio horario de alg¨²n valor de art¨ªculo o calcular el valor total de un grupo de art¨ªculos. Eso es lo que calcula un El art¨ªculo es para.
Los c¨¢lculos pueden utilizar ambos:
Los elementos calculados son una forma de crear fuentes de datos virtuales. Todo Los c¨¢lculos los realiza ¨²nicamente el servidor Áú»¢¶Ä²©. Los valores son peri¨®dicamente calculado en base a la expresi¨®n aritm¨¦tica utilizada.
Los datos resultantes se almacenan en la base de datos de Áú»¢¶Ä²© como para cualquier otro art¨ªculo; Se almacenan tanto el historial como los valores de tendencia y se pueden visualizar gr¨¢ficos. generado.
::: nota cl¨¢sica Si el resultado del c¨¢lculo es un valor flotante, ser¨¢ recortado a un n¨²mero entero si el tipo de informaci¨®n del elemento calculado es Num¨¦rico (sin firmar).
Adem¨¢s, si no hay datos recientes en la memoria cach¨¦ y no hay un per¨ªodo de consulta definido en la funci¨®n, Áú»¢¶Ä²©, de forma predeterminada, retroceder¨¢ hasta una semana en el pasado para consultar la base de datos en busca de valores hist¨®ricos. :::
Los elementos calculados comparten su sintaxis con el disparador expresiones. Comparaci¨®n con cuerdas est¨¢ permitido en elementos calculados. Los elementos calculados pueden ser referenciados por macros u otras entidades igual que cualquier otro tipo de elemento.
Para utilizar elementos calculados, elija el tipo de elemento Calculado.
La clave es un identificador ¨²nico de m¨¦trica (por equipo). Puede crear cualquier nombre de clave utilizando s¨ªmbolos admitidos.
La definici¨®n del c¨¢lculo debe ingresarse en el campo ¹ó¨®°ù³¾³Ü±ô²¹. No hay conexi¨®n entre la f¨®rmula y la clave. Los par¨¢metros de la clave no se utilizan en la f¨®rmula de ninguna manera.
La sintaxis de una f¨®rmula simple es:
»å¨®²Ô»å±ð:
function | Una de las funciones admitidas: last, min, max, avg, count, etc. |
host | Equipo de la m¨¦trica que se utiliza para el c¨¢lculo. El equipo actual se puede omitir (es decir, como en function(//key,parameter,...) ). |
key | Clave de la m¨¦trica que se utiliza para el c¨¢lculo. |
parameter(s) | Par¨¢metros de la funci¨®n, si es necesario. |
Las macros de usuario en la f¨®rmula se expandir¨¢n si se usan para hacer referencia a un par¨¢metro de la funci¨®n, par¨¢metro de filtro de m¨¦tricas o una constante. Las macros de usuario NO se expandir¨¢n si se hace referencia a una funci¨®n, nombre de equipo, clave de m¨¦trica, par¨¢metro de clave de m¨¦trica u operador.
Una f¨®rmula m¨¢s compleja puede utilizar una combinaci¨®n de funciones, operadores y soportes. Puede utilizar todas las funciones y operadores admitidos en expresiones de iniciador. La l¨®gica y la precedencia del operador es exactamente la misma.
A diferencia de las expresiones desencadenantes, Áú»¢¶Ä²© procesa las m¨¦tricas calculadas seg¨²n el intervalo de actualizaci¨®n de la m¨¦trica, no al recibir un nuevo valor.
Todas las m¨¦tricas a las que hacen referencia las funciones de historial en el c¨¢lculo de la f¨®rmula de la m¨¦trica debe existir y recopilar datos. Adem¨¢s, si cambia la clave de la m¨¦trica de una m¨¦trica a la que se hace referencia, debe actualizar manualmente cualquier f¨®rmula que use esa clave.
Una m¨¦trica calculada puede dejar de ser compatible en varios casos:
C¨¢lculo del porcentaje de espacio libre en disco en '/'.
Uso de la funci¨®n ¨²±ô³Ù¾±³¾´Ç:
Áú»¢¶Ä²© tomar¨¢ los valores m¨¢s recientes para espacios de disco libres y totales y calcular el porcentaje de acuerdo con la f¨®rmula dada.
C¨¢lculo de un promedio de 10 minutos del n¨²mero de valores procesados por Áú»¢¶Ä²©.
Uso de la funci¨®n promedio:
Tenga en cuenta que el uso extensivo de elementos calculados con largos per¨ªodos de tiempo puede afectar el rendimiento del servidor Áú»¢¶Ä²©.
C¨¢lculo del ancho de banda total en eth0.
Suma de dos funciones:
C¨¢lculo del porcentaje de tr¨¢fico entrante.
Expresi¨®n m¨¢s compleja:
100*¨²±ô³Ù¾±³¾´Ç(//net.if.in[eth0,bytes])/(last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes]) )
Ver tambi¨¦n: Ejemplos de agregado c¨¢lculos