Operadores y funciones de fórmula
Una referencia (que incluye ejemplos) de operadores y funciones de fórmula que se utilizan en el editor de fórmulas.
Un valor de atributo derivado es el resultado de evaluar una expresión basada en constantes y otros valores de atributo del mismo origen de datos. La gramática de la expresión es la
expresión matemática normal: operando operador operando con los paréntesis para
agruparlos.
Los atributos numéricos se pueden combinar con otros atributos numéricos o constantes utilizando los operadores matemáticos normales: +
- * / y %, que multiplica el operando izquierdo por 100 y lo divide por el operando derecho. Los atributos de cadena se pueden combinar con otros
atributos de cadena o constantes con +. También puede utilizar las siguientes funciones descritas. Las funciones se especifican
con el formato: nombre_función(argumento_1, argumento_2,
argumento_3).
Un atributo se representa por su nombre (el mismo nombre que se ve en el árbol Información de origen de datos). Las contantes enteras se especifican como números. Las constantes de series se especifican entre comillas.
- abs
- Devuelve el valor absoluto de un número
- atof
- Convierte una serie en un valor de coma flotante
- atoi
- Convierte una serie en un valor entero. Funciona del mismo modo que la función C atoi normal; se detiene cuando encuentra el primer carácter no decimal.
- average
- Devuelve un solo valor que es el promedio de un conjunto de valores. El conjunto de valores procede de los argumentos de la función. Se pueden proporcionar varios valores individuales (por ejemplo, nombres de atributos y constantes),
cada uno en un argumento separado. De forma alternativa, la última función puede ser el único argumento para esta función
(para calcular el promedio de los valores más recientes de un atributo). Ejemplos de esta función en uso son:
average (Attr_A, AttrB, Attr_C)average (last (Attr_A, 10)) - ceiling
- Devuelve el entero más pequeño que no es menor que el argumento.
Por ejemplo, donde
attribute_a = 12.4,ceiling(attribute_a)devuelve el valor13. Y dondeattribute_a = -12.4,ceiling(attribute_a)devuelve el valor-12. - delta
- La diferencia entre el valor más reciente de un atributo y un valor recopilado anteriormente de ese atributo. El único argumento para delta debe ser la función
last, que obtiene los valores anteriores y actuales de un atributo. Un uso normal podría parecerse a:
Para obtener más información sobre qué valores de atributo de la función last se utilizan para calcular el delta, consulte Cálculos específicos de intervalo. Esta función solo es aplicable para atributos derivados, no para filtros de grupos de atributo.delta (last(OtherAttribute, 2)) - floor
- Devuelve el entero más grande que no es mayor que el argumento.
Por ejemplo, donde
attribute_a = 12.4,floor(attribute_a)devuelve el valor12. Y dondeattribute_a = -12.4,floor(attribute_a)devuelve el valor-13. - getenv
- Devuelve el valor del entorno proporcionado o la "variable de configuración".
- ipAddressToName
- Convierte una dirección IP en un nombre de host. Esta función requiere un argumento, una cadena de dirección IP en notación decimal con puntos. Si la dirección no se puede resolver, se devuelve la dirección IP.
- itoa
- Convierte un entero en una serie. Esta función resulta muy útil si desea concatenar un valor numérico en una serie. La función + de cadena derivada solo toma dos argumentos de cadena.
- last
- Devuelve una lista de valores para que los utilicen las funciones
min,max,average,stddev,rateydelta. Toma dos argumentos: el atributo que se debe recopilar y el número de valores que se deben utilizar en el cálculo. Si el atributo necesario es un valor entero en un atributo de cadena, el primer argumento puede contener la funciónatoi, comoatoi(numericalStringAttribute). El segundo argumento debe ser un número. Puede codificarse como una constante o puede ser el resultado de una expresiónatoi(getenv("ENV_VAR")). No puede hacer referencia a un valor de atributo.Ejemplos de esta función en uso son:average (last (Attr_A, 10))last (Attribute_A, ${K01_NUM_COLLECTIONS}))Restricción: Puede utilizar la funciónlastsolo una vez en una fórmula específica. - matches
- Devuelve un valor booleano, true o false, que indica si una expresión regular coincide con un valor. Toma dos argumentos, el origen de serie y una expresión regular, cuyo resultado se compara con la serie. Esta función es útil para filtrar grupos de atributos.
- max
- Devuelve un solo valor que es el máximo de un conjunto de valores. El conjunto de valores procede de los argumentos de la función. Se pueden proporcionar varios valores individuales (por ejemplo, nombres de atributos y constantes), cada uno en un argumento separado. De forma alternativa, la última función puede ser el único argumento para esta función (para calcular el máximo de los valores más recientes de un atributo).
- min.
- Devuelve un solo valor que es el mínimo de un conjunto de valores. El conjunto de valores procede de los argumentos de la función. Se pueden proporcionar varios valores individuales (por ejemplo, nombres de atributos y constantes), cada uno en un argumento separado. De forma alternativa, la última función puede ser el único argumento para esta función (para calcular el mínimo de los valores más recientes de un atributo).
- nameToIpAddress
- Convierte un nombre de host a una dirección IP. Esta función requiere un argumento, una serie de nombre de host. Si la dirección no se puede resolver, se devuelve el nombre de host.
- NetWareTimeToTivoliTimestamp
- Convierte un valor de tiempo hexadecimal de Novell NetWare en una indicación de fecha y hora de Tivoli Monitoring. Esta función requiere un argumento, un valor de tiempo hexadecimal de NetWare hexadecimal especial. El tipo de atributo es indicación de fecha y hora.
- rate
- La frecuencia de cambio (por segundo) entre el valor más reciente de un atributo y un valor recopilado anteriormente de ese atributo.
El único argumento para rate debe ser la función
last, que contiene los valores anteriores y actuales de un atributo. Un uso normal podría parecerse a:
Para obtener más información sobre qué valores de atributo de la función last se utilizan para calcular la frecuencia, consulteCálculos específicos de intervalo. Esta función solo es aplicable para atributos derivados, no para filtros de grupos de atributo.rate (last(OtherAttribute, 2)) - replaceFirst
- Sustituye la primera aparición de una subserie que coincide con una expresión regular por una cadena de sustitución. Esta función toma tres argumentos. Primero: la serie de entrada. Segundo: la expresión regular que se utiliza para comparar una subcadena en la cadena de entrada. Tercero: la cadena de sustitución. Consulte (Expresiones regulares de ICU) para obtener detalles sobre las expresiones regulares y valores de sustitución que se permiten en la cadena de sustitución.
- replaceAll
- Sustituye todas las apariciones de subcadenas que coincide con una expresión regular por una cadena de sustitución. Esta función toma tres argumentos. Primero: la serie de entrada. Segundo: la expresión regular que se utiliza para comparar una subcadena en la cadena de entrada. Tercero: la cadena de sustitución. Consulte (Expresiones regulares de ICU) para obtener detalles sobre las expresiones regulares y valores de sustitución que se permiten en la cadena de sustitución.
- round
- Redondea matemáticamente el número al número entero más cercano.
- sqrt
- Devuelve la raíz cuadrada de un número
- stddev
- Devuelve un solo valor que es la desviación estándar de un conjunto de valores. El conjunto de valores procede de los argumentos de la función. Se pueden proporcionar varios valores individuales (por ejemplo, nombres de atributos y constantes), cada uno en un argumento separado. De forma alternativa, la última función puede ser el único argumento para esta función (para calcular la desviación estándar de los valores más recientes de un atributo).
- StringToTivoliTimestamp
- Convierte una cadena de fecha y hora en una indicación de fecha y hora de Tivoli Monitoring. Esta función requiere dos argumentos. El primer argumento es una representación de cadenas de formato libre de la indicación de fecha y hora. El segundo argumento es una cadena de formato que identifique cómo analizar la representación de cadenas de formato libre de una indicación de fecha y hora. La Tabla 1 describe los parámetros de formato válidos. El tipo de atributo es indicación de fecha y hora.
Tabla 1. Parámetros de formato válidos para StringToTivoliTimestamp Símbolo Significado Formato Ejemplo yAño yyyyyy961996MMes Nota: Sólo se da soporte a las cadenas de mes en inglés.MoMMMMMMMMM09SeptSeptiembreddíaddd202EDía de la semana Nota: Sólo se da soporte a las cadenas de día de la semana en inglés.EEEEEEEEESaSábSábadohHora en AM o PM (1-12) hh07 HHora del día (0-23) HH00 mMinuto de la hora mm04 sSegundo del minuto ss05 SMilisegundo SSSSSS224245amarcador AM o PM aoaaam Cualquier otro carácter ASCII sáltese este carácter -(guión)(espacio)/(barra inclinada):(dos puntos)*(asterisco),(coma)Tabla 2 proporciona ejemplos de representaciones de cadena de indicaciones de fecha y hora y las cadenas de formato que se utilizan para analizarlas.
Tabla 2. Ejemplos de StringToTivoliTimestamp. Una tabla que lista y explica unos pocos ejemplos de representaciones de cadena de indicaciones de fecha y hora. Representación de cadena de la indicación de fecha y hora Cadena de formato 96.07.10 at 15:08:56 yy.MM.dd ** HH:mm:ssWed, August 10, 2010 12:08 pm EEE, MMMM dd, yyyy hh:mm aThu 21/01/2010 14:10:33.17 EEE dd/MM/yyyy HH:mm:ss.SS - sum
- Devuelve un solo valor que es la suma de un conjunto de valores. El conjunto de valores procede de los argumentos de la función. Se pueden proporcionar varios valores individuales (por ejemplo, nombres de atributos y constantes), cada uno en un argumento separado. De forma alternativa, la última función puede ser el único argumento para esta función (para calcular la suma de los valores más recientes de un atributo).
- TivoliLogTimeToTivoliTimestamp
- Convierte una indicación de tiempo y hora de archivo de registro de Tivoli en una indicación de fecha y hora de Tivoli Monitoring. Esta función requiere un argumento, la cadena de indicación de fecha y hora de un archivo de registro de Tivoli. El tipo de atributo es indicación de fecha y hora.
- tokenize
- Señal de una cadena señalizada. Este función requiere tres argumentos. El primer argumento es una cadena que se divide en señales. El segundo argumento ofrece uno o más caracteres en la cadena que separan una señal de otra. Cualquier aparición de los caracteres de este argumento se utiliza para identificar y separar señales en el primer argumento. El tercer argumento es el índice de la señal que devolver como resultado de esta función. La primera señal es el índice 0, la segunda señal es el índice 1, etc. Este
argumento también puede ser una cadena
LASTpara devolver la última señal. - UTCtoGMT
- Convierte la hora universal coordinada en una indicación de tiempo y hora de Tivoli Monitoring GMT. Esta función requiere un argumento, el valor time_t entero. El tipo de atributo es indicación de fecha y hora.
- UTCtoLocalTime
- Convierte la hora universal coordinada en una indicación de fecha y hora de Tivoli Monitoring local. Esta función requiere un argumento, el valor time_t entero. El tipo de atributo es indicación de fecha y hora.
- count
- Mantiene un contador que comienza en 1 la primera vez que se le llama y se incrementa en 1 con cada llamada siguiente.
Si lo utiliza en una expresión que también utiliza
last, coincide con el número de elementos almacenados porlast(), pero solo hasta quelast()alcance su máximo. En este momento,last()empieza a suprimir el valor más antiguo por cada nuevo valor, manteniendo el mismo número de valores totales, mientras quecount()siempre aumenta. - cumulativeSum
- Devuelve la suma de valores de argumento de sucesos duplicados representados por un suceso de resumen de control de flujo. O bien devuelve el argumento si es un único suceso de un origen de datos. Solo toma un argumento numérico. Esta función solo se aplica a grupos de atributos de sucesos con el filtrado de sucesos y el resumen activados.
- eventThreshold
- Devuelve el valor de umbral configurado para el grupo de atributos que ha generado el suceso. Un número,
con tres enumeraciones:
SEND_ALL (-3)SEND_FIRST (-2)SEND_NONE (-1)
- isSummaryEvent
- Devuelve 0 si se trata de un solo suceso procedente de un origen de datos o 1 si el suceso es un suceso de resumen de control de flujo. Los valores visualizados sin Suceso y Suceso de resumen si utiliza el atributo predeterminado para la función. Si crea el atributo manualmente, los valores visualizados son 0 y 1, a no ser que defina los nombres como enumeraciones. Esta función solo se aplica a grupos de atributos de sucesos con el filtrado de sucesos y el resumen activados.
- occurrenceCount
- El número de sucesos coincidentes representados por un suceso de resumen de control de flujo, o 1 si es un único suceso de un origen de datos. (Un suceso de resumen de control de flujo incluye el primer suceso). Esta función solo se aplica a grupos de atributos de sucesos con el filtrado de sucesos y el resumen activados.
- summaryInterval
- Devuelve el intervalo de resumen configurado para el grupo de atributos que ha generado el suceso, en segundos. Esta función solo se aplica a grupos de atributos de sucesos con el filtrado de sucesos y el resumen activados.
Ejemplos
Ejemplos de la utilización de operadores y funciones de fórmula para crear atributos derivados y filtrados
Ejemplo 1 - Atributos derivados
| Nombre | Serie |
|---|---|
xBytes |
Numérico |
yBytes |
Numérico |
Virtual_Size |
Numérico |
- Un atributo
totalBytesque sea la suma dexBytesyyBytes. Especifique la fórmula xBytes + yBytes. - Un atributo
yPercentque sea un porcentaje del total de bytes, que esyBytes, se puede definir como yBytes % (xBytes + yBytes) oyBytes % totalBytes.
Ejemplo 2 - Atributos derivados
Virtual_Size.
El número de muestras que se recopilan es el valor de la variable de configuración, K4P_COLLECTIONS_PER_HISTORY_INTERVAL (a la que se accede mediante getenv), convertido en un número (mediante atoi):
max(last(Virtual_Size,atoi(getenv("K4P_COLLECTIONS_PER_HISTORY_INTERVAL"))))Ejemplo 3 - Atributos derivados
xBytes y yBytes: sqrt(xBytes * xBytes + yBtyes * yBytes)Ejemplo 4 - Atributos derivados
xBytes de las 20 muestras más recientes del grupo de atributos. Si se han recopilado menos de
20 muestras desde que se ha iniciado el agente, devuelve el promedio del atributo xBytes de todas
las muestras: average(last(xBytes,20))Ejemplo 5 - Atributos filtrados
Nombre Tipo Tamaño Utilizado Libre
Memoria MEM 8 4 4
Disco1 DISK 300 200 100
Disco2 DISK 500 100 400Sólo le interesa el uso de disco. La solución consiste en crear un filtro para limitar los datos que se devuelven. Para limitar los datos devueltos,
se crea un filtro simple que devuelve un valor booleano, true o false, de la siguiente maneraType=="DISK"Ahora cuando el filtro Type=="DISK" es true, el grupo de atributos devuelve los datos de uso de disco, por ejemplo:Nombre Tipo Tamaño Utilizado Libre
Disco1 DISK 300 200 100
Disco2 DISK 500 100 400Ejemplo 6 - Atributos filtrados
Nombre Tamaño Utilizado Libre
Memoria 8 4 4
Disco1 300 200 100
Disco2 500 100 400son similares al ejemplo anterior, sin embargo, no hay un atributo Type presente esta vez. Aquí puede utilizar la función matches para buscar cualquier fila de datos con un valor de atributo de nombre que coincida con "Disk", seguido de un número.matches(Name, "Disk[0-9]*")Ahora cuando el filtro coincide con la cadena "Disk" seguida por un número en el atributo Name, solo se devuelven las filas de datos de uso de disco:Nombre Tamaño Utilizado Libre
Disco1 300 200 100
Disco2 500 100 400