Esta página incluye contenido traducido automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

5 Funciones de tendencias

Las funciones de tendencias, a diferencia de las funciones de histórico, utilizan los datos de tendencias para los cálculos.

Las tendencias almacenan valores agregados por hora Las funciones de tendencias utilizan estos promedios por hora y, por lo tanto, son útiles para el análisis a largo plazo.

Los resultados de las funciones de tendencias se almacenan en caché, por lo que múltiples llamadas a la misma función con los mismos parámetros obtienen información de la base de datos solo una vez. La caché de funciones de tendencias se controla mediante el parámetro del servidor TrendFunctionCacheSize.

Los triggers que hacen referencia únicamente a funciones de tendencias se evalúan una vez por el período de tiempo más pequeño en la expresión. Por ejemplo, un trigger como

trendavg(/host/key,1d:now/d) > 1 or trendavg(/host/key2,1w:now/w) > 2

se evaluará una vez al día. Si el trigger contiene tanto funciones de tendencias como de histórico (o fecha y hora y/o nodata()), se calcula de acuerdo con los principios habituales.

Todas las funciones enumeradas aquí son compatibles con:

Las funciones se enumeran sin información adicional. Haga clic en la función para ver los detalles completos.

Función Descripción
baselinedev Devuelve el número de desviaciones (por el algoritmo stddevpop) entre el último período de datos y los mismos períodos de datos en temporadas anteriores.
baselinewma Calcula la línea base promediando los datos del mismo intervalo de tiempo en varios períodos de tiempo iguales ('temporadas') utilizando el algoritmo de media móvil ponderada.
trendavg El promedio de los valores de tendencia dentro del período de tiempo definido.
trendcount El número de valores de histórico recuperados con éxito utilizados para calcular el valor de tendencia dentro del período de tiempo definido.
trendmax El máximo de los valores de tendencia dentro del período de tiempo definido.
trendmin El mínimo de los valores de tendencia dentro del período de tiempo definido.
trendstl Devuelve la tasa de anomalías durante el período de detección: un valor decimal entre 0 y 1 que es ((el número de valores anómalos)/(número total de valores)).
trendsum La suma de los valores de tendencia dentro del período de tiempo definido.
Parámetros comunes
  • /host/key es un primer parámetro obligatorio común
  • período de tiempo:desplazamiento es un segundo parámetro común, donde:
    • período de tiempo - el período de tiempo (mínimo '1h'), definido como <N><unidad de tiempo> donde N - el número de unidades de tiempo, unidad de tiempo - h (hora), d (día), w (semana), M (mes) o y (año).
    • desplazamiento - el desplazamiento del período de tiempo (ver ejemplos de funciones)

Detalles de la función

Algunas notas generales sobre los parámetros de las funciones:

  • Los parámetros de la función están separados por una coma
  • Los parámetros opcionales de la función (o partes del parámetro) se indican mediante < >
  • Los parámetros específicos de la función se describen con cada función
  • Los parámetros /host/key y período de tiempo:desplazamiento de tiempo nunca deben ir entre comillas
baselinedev(/host/key,data period:time shift,season unit,num seasons)

Devuelve el número de desviaciones (por el algoritmo stddevpop) entre el último período de datos y los mismos períodos de datos en temporadas anteriores.

Parámetros:

  • Ver parámetros comunes
  • data period - el período de recopilación de datos dentro de una temporada, definido como <N><time unit> donde:
    N - el número de unidades de tiempo
    time unit - h (hora), d (día), w (semana), M (mes) o y (año), debe ser igual o menor que la temporada
  • season unit - la duración de una temporada (h, d, w, M, y), no puede ser menor que el período de datos
  • num seasons - el número de temporadas a evaluar

Ejemplos:

baselinedev(/host/key,1d:now/d,"M",6) #calcula el número de desviaciones estándar (población) entre el día anterior y el mismo día en los 6 meses anteriores. Si la fecha no existe en un mes anterior, se utilizará el último día del mes (Jul,31 se analizará contra Ene,31, Feb,28,... Jun,30)
       baselinedev(/host/key,1h:now/h,"d",10)  #calcula el número de desviaciones estándar (población) entre la hora anterior y las mismas horas durante el período de diez días antes de ayer
baselinewma(/host/key,data period:time shift,season unit,num seasons)

Calcula la línea base promediando los datos del mismo intervalo de tiempo en varios períodos de tiempo iguales ('temporadas') utilizando el algoritmo de media móvil ponderada.

Parámetros:

  • Ver parámetros comunes
  • data period - el período de recopilación de datos dentro de una temporada, definido como <N><time unit> donde:
    N - el número de unidades de tiempo
    time unit - h (hora), d (día), w (semana), M (mes) o y (año), debe ser igual o menor que la temporada
    Time shift - el desplazamiento del período de tiempo, define el final del intervalo de recopilación de datos en temporadas (ver ejemplos)
  • season unit - la duración de una temporada (h, d, w, M, y), no puede ser menor que el período de datos
  • num seasons - el número de temporadas a evaluar

Ejemplos:

baselinewma(/host/key,1h:now/h,"d",3) #calcula la línea base basada en la última hora completa dentro de un período de 3 días que terminó ayer. Si "now" es lunes 13:30, se analizarán los datos de 12:00-12:59 del viernes, sábado y domingo
       baselinewma(/host/key,2h:now/h,"d",3) #calcula la línea base basada en las dos últimas horas dentro de un período de 3 días que terminó ayer. Si "now" es lunes 13:30, se analizarán los datos de 11:00-12:59 del viernes, sábado y domingo
       baselinewma(/host/key,1d:now/d,"M",4) #calcula la línea base basada en el mismo día del mes que 'ayer' en los 4 meses anteriores al último mes completo. Si la fecha requerida no existe, se toma el último día del mes. Si hoy es 1 de septiembre, se analizarán los datos del 31 de julio, 30 de junio, 31 de mayo, 30 de abril.
trendavg(/host/key,periodo de tiempo:desplazamiento de tiempo)

El promedio de los valores de tendencia dentro del período de tiempo definido.

Parámetros:

Ejemplos:

trendavg(/host/key,1h:now/h) #el promedio de la hora anterior (por ejemplo, 12:00-13:00)
       trendavg(/host/key,1h:now/h-1h) #el promedio de hace dos horas (11:00-12:00)
       trendavg(/host/key,1h:now/h-2h) #el promedio de hace tres horas (10:00-11:00)
       trendavg(/host/key,1M:now/M-1y) #el promedio del mes anterior hace un año
trendcount(/host/key,periodo de tiempo:desplazamiento de tiempo)

El número de valores de historial recuperados con éxito utilizados para calcular el valor de tendencia dentro del período de tiempo definido.

Parámetros:

Ejemplos:

trendcount(/host/key,1h:now/h) #el recuento de valores para la hora anterior (por ejemplo, 12:00-13:00)
       trendcount(/host/key,1h:now/h-1h) #el recuento de valores para hace dos horas (11:00-12:00)
       trendcount(/host/key,1h:now/h-2h) #el recuento de valores para hace tres horas (10:00-11:00)
       trendcount(/host/key,1M:now/M-1y) #el recuento de valores para el mes anterior hace un año
trendmax(/host/key,periodo de tiempo:desplazamiento de tiempo)

El máximo en los valores de tendencia dentro del período de tiempo definido.

Parámetros:

Ejemplos:

trendmax(/host/key,1h:now/h) #el máximo de la hora anterior (por ejemplo, 12:00-13:00)
       trendmax(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → calcula la diferencia entre los valores máximo y mínimo (delta de tendencia) de la hora anterior (12:00-13:00)
       trendmax(/host/key,1h:now/h-1h) #el máximo de hace dos horas (11:00-12:00)
       trendmax(/host/key,1h:now/h-2h) #el máximo de hace tres horas (10:00-11:00)
       trendmax(/host/key,1M:now/M-1y) #el máximo del mes anterior hace un año
trendmin(/host/key,periodo de tiempo:desplazamiento de tiempo)

El mínimo en los valores de tendencia dentro del período de tiempo definido.

Parámetros:

Ejemplos:

trendmin(/host/key,1h:now/h) #el mínimo de la hora anterior (por ejemplo, 12:00-13:00)
       trendmax(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → calcula la diferencia entre los valores máximo y mínimo (delta de tendencia) de la hora anterior (12:00-13:00)
       trendmin(/host/key,1h:now/h-1h) #el mínimo de hace dos horas (11:00-12:00)
       trendmin(/host/key,1h:now/h-2h) #el mínimo de hace tres horas (10:00-11:00)
       trendmin(/host/key,1M:now/M-1y) #el mínimo del mes anterior hace un año
trendstl(/host/key,eval period:time shift,detection period,season,<deviations>,<devalg>,<s window>)

Devuelve la tasa de anomalías durante el período de detección: un valor decimal entre 0 y 1 que es ((el número de valores anómalos)/(número total de valores)).

Parámetros:

  • Ver parámetros comunes
  • eval period - el período de tiempo que debe descomponerse (mínimo '1h'), definido como <N><unidad de tiempo> donde
    N - el número de unidades de tiempo
    unidad de tiempo - h (hora), d (día), w (semana), M (mes) o y (año)
  • detection period - el período de tiempo antes del final del eval period para el que se calculan las anomalías (mínimo '1h', no puede ser mayor que eval period), definido como <N><unidad de tiempo> donde
    N - el número de unidades de tiempo
    unidad de tiempo - h (hora), d (día), w (semana)
  • season - el período de tiempo más corto donde se espera un patrón repetitivo ("season") (mínimo '2h', no puede ser mayor que eval period, el número de entradas en eval period debe ser mayor que dos veces la frecuencia resultante (season/h)), definido como <N><unidad de tiempo> donde
    N - el número de unidades de tiempo
    unidad de tiempo - h (hora), d (día), w (semana)
  • deviations - el número de desviaciones (calculadas por devalg) para contar como anomalía (puede ser decimal), (debe ser mayor o igual a 1, el valor por defecto es 3)
  • devalg (debe ir entre comillas dobles) - el algoritmo de desviación, puede ser stddevpop, stddevsamp o mad (por defecto)
  • s window - el rango (en lags) de la ventana loess para la extracción estacional (por defecto es 10 * número de entradas en eval period + 1)

Ejemplos:

trendstl(/host/key,100h:now/h,10h,2h) #analiza las últimas 100 horas de datos de tendencias, encuentra la tasa de anomalía para las últimas 10 horas de ese período, esperando que la periodicidad sea de 2h, los valores de la serie residual del período de evaluación se consideran anomalías si alcanzan el valor de 3 desviaciones de la MAD de esa serie residual
       trendstl(/host/key,100h:now/h-10h,100h,2h,2.1,"mad") #analiza el período de 100 horas de datos de tendencias, hasta hace 10 horas, encuentra la tasa de anomalía para todo ese período esperando que la periodicidad sea de 2h, los valores de la serie residual del período de evaluación se consideran anomalías si alcanzan el valor de 2,1 desviaciones de la MAD de esa serie residual
       trendstl(/host/key,100d:now/d-1d,10d,1d,4,,10) #analiza 100 días de datos de tendencias hasta hace un día, encuentra la tasa de anomalía para el período de los últimos 10d de ese período, esperando que la periodicidad sea de 1d, los valores de la serie residual del período de evaluación se consideran anomalías si alcanzan el valor de 4 desviaciones de la MAD de esa serie residual, sobrescribiendo el rango por defecto de la ventana loess para la extracción estacional de "10 * número de entradas en eval period + 1" con el rango de 10 lags
       trendstl(/host/key,1M:now/M-1y,1d,2h,,"stddevsamp") #analiza el mes anterior hace un año, encuentra la tasa de anomalía del último día de ese período esperando que la periodicidad sea de 2h, los valores de la serie residual del período de evaluación se consideran anomalías si alcanzan el valor de 3 desviaciones de la desviación estándar de la muestra de esa serie residual
trendsum(/host/key,periodo de tiempo:desplazamiento de tiempo)

La suma de los valores de tendencia dentro del período de tiempo definido.

Parámetros:

Ejemplos:

trendsum(/host/key,1h:now/h) #la suma de la hora anterior (por ejemplo, 12:00-13:00)
       trendsum(/host/key,1h:now/h-1h) #la suma de hace dos horas (11:00-12:00)
       trendsum(/host/key,1h:now/h-2h) #la suma de hace tres horas (10:00-11:00)
       trendsum(/host/key,1M:now/M-1y) #la suma del mes anterior hace un año

Consulte todas las funciones admitidas.