5 Функције трендова

Функције трендова, за разлику од функција историје, користе тренд податке за прорачуне.

Трендови чувају сатне агрегиране вредности. Функције тренда користе ове просеке по сату и стога су корисне за дугорочне анализе.

Резултати функције тренда се кеширају тако да вишеструки позиви исте функције са истим параметрима дохватају информације из базе података само једном. Кеш функција трендова контролише TrendFunctionCacheSize параметар сервера.

Окидачи који референцирају само функције трендова се процењују једном у најмањем временском периоду у изразу. На пример, окидач попут

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

ће се процењивати једном дневно. Ако окидач садржи и функције тренда и историје (или датум и време and/or nodata()), израчунава се у складу са уобичајеним принципима.

Све функције наведене овде су подржане у:

Функције су наведене без додатних информација. Кликните на функцију да бисте видели све детаље.

Function Description
baselinedev Враћа број одступања (по stddevpop алгоритму) између последњег периода података и истих периода података у претходним сезонама.
baselinewma Израчунава базну линију просечношћу података из истог временског оквира у више једнаких временских периода ('seasons') користећи алгоритам пондерисаног покретног просека.
trendavg Просек вредности тренда у дефинисаном временском периоду.
trendcount Број успешно преузетих вредности историје коришћених за израчунавање вредности тренда у дефинисаном временском периоду.
trendmax Максималне вредности тренда у дефинисаном временском периоду.
trendmin Минимум вредности тренда у дефинисаном временском периоду.
trendstl Враћа стопу аномалија током периода откривања – децималну вредност између 0 и 1 која је ((број вредности аномалија)/(укупан број вредности)).
trendsum Збир вредности тренда у дефинисаном временском периоду.
Заједнички параметри
  • /host/key је заједнички обавезни први параметар
  • time period:time shift је заједнички други параметар, где је:
    • time period - временски период (минимум '1h'), дефинисан као <N><time unit> где је N - број временских јединица, time unit - h (сат), d (дан), w (седмица), M (месец) или y (година).
    • time shift - помак временског периода (погледајте примере функција)

Детаљи функције

Неке опште напомене о параметрима функције:

  • Параметри функције су одвојени зарезом
  • Опциони параметри функције (или делови параметара) су означени са < >
  • Параметри специфични за функцију описани су уз сваку функцију
  • /host/key и time period:time shift параметри никада не смеју бити под наводницима
baselinedev(/host/key,data period:time shift,season unit,num seasons)

Враћа број одступања (по stddevpop алгоритму) између последњег периода података и истих периода података у претходним сезонама.

Параметри:

  • Погледајте [заједничке параметре](#common-parameters);<br>
  • **data period** - период прикупљања података у сезони, дефинисан као <N><time unit> где је:<br>`N` - број временских јединица<br>`time unit` - h (сат ), d (дан), w (седмица), M (месец) или y (година), морају бити једнаки или мањи од сезоне<br>
  • **season unit** - трајање једне сезоне (h, d, w, M, y), не може бити мање од периода података;
  • **num seasons** - број годишњих доба за процену.

Примери:

baselinedev(/host/key,1d:now/d,"M",6) #calculating the number of standard deviations (population) between the previous day and the same day in the previous 6 months. If the date doesn't exist in a previous month, the last day of the month will be used (Jul,31 will be analysed against Jan,31, Feb, 28,... June, 30)
       baselinedev(/host/key,1h:now/h,"d",10)#calculating the number of standard deviations (population) between the previous hour and the same hours over the period of ten days before yesterday
baselinewma(/host/key,data period:time shift,season unit,num seasons)

Израчунава основну вредност просеком података из истог временског периода у више једнаких временских периода ('seasons') користећи пондерисани алгоритам покретног просека.

Параметри:

  • Погледајте заједничке параметре;
  • период прикупљених података - период прикупљања података у сезони, дефинисан као <N><time unit> где је:
    N - број временских јединица
    time unit - h (сат ), d (дан), w (седмица), M (месец) или y (година), морају бити једнаки или мањи од сезоне
    Временски помак – помак временског периода, дефинише крај временског оквира прикупљања података у сезонама (види примере);
  • јединица сезоне - трајање једне сезоне (h, d, w, M, y), не може бити мање од периода прикупљених података;
  • број сезона - број сезона за процену.

Примери:

baselinewma(/host/key,1h:now/h,"d",3) #calculating the baseline based on the last full hour within a 3-day period that ended yesterday. If "now" is Monday 13:30, the data for 12:00-12:59 on Friday, Saturday, and Sunday will be analyzed
       baselinewma(/host/key,2h:now/h,"d",3) #calculating the baseline based on the last two hours within a 3-day period that ended yesterday. If "now" is Monday 13:30, the data for 11:00-12:59 on Friday, Saturday, and Sunday will be analyzed
       baselinewma(/host/key,1d:now/d,"M",4) #calculating the baseline based on the same day of month as 'yesterday' in the 4 months preceding the last full month. If the required date doesn't exist, the last day of month is taken. If today is September 1st, the data for July 31st, June 30th, May 31st, April 30th will be analyzed.
trendavg(/host/key,time period:time shift)

Просек вредности тренда у дефинисаном временском периоду.

Параметри:

Примери:

trendavg(/host/key,1h:now/h) #the average for the previous hour (e.g. 12:00-13:00)
       trendavg(/host/key,1h:now/h-1h) #the average for two hours ago (11:00-12:00)
       trendavg(/host/key,1h:now/h-2h) #the average for three hours ago (10:00-11:00)
       trendavg(/host/key,1M:now/M-1y) #the average for the previous month a year ago
trendcount(/host/key,time period:time shift)

Број успешно преузетих вредности историје који се користи за израчунавање вредности тренда у дефинисаном временском периоду.

Параметри:

Примери:

trendcount(/host/key,1h:now/h) #the value count for the previous hour (e.g. 12:00-13:00)
       trendcount(/host/key,1h:now/h-1h) #the value count for two hours ago (11:00-12:00)
       trendcount(/host/key,1h:now/h-2h) #the value count for three hours ago (10:00-11:00)
       trendcount(/host/key,1M:now/M-1y) #the value count for the previous month a year ago
trendmax(/host/key,time period:time shift)

Максималне вредности тренда у дефинисаном временском периоду.

Параметри:

Примери:

trendmax(/host/key,1h:now/h) #the maximum for the previous hour (e.g. 12:00-13:00)
       trendmax(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → calculate the difference between the maximum and minimum values (trend delta) for the previous hour (12:00-13:00)
       trendmax(/host/key,1h:now/h-1h) #the maximum for two hours ago (11:00-12:00)
       trendmax(/host/key,1h:now/h-2h) #the maximum for three hours ago (10:00-11:00)
       trendmax(/host/key,1M:now/M-1y) #the maximum for the previous month a year ago
trendmin(/host/key,time period:time shift)

Минимум у трендовским вредностима унутар дефинисаног временског периода.

Параметри:

Примери:

trendmin(/host/key,1h:now/h) #the minimum for the previous hour (e.g. 12:00-13:00)
       trendmax(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → calculate the difference between the maximum and minimum values (trend delta) for the previous hour (12:00-13:00)
       trendmin(/host/key,1h:now/h-1h) #the minimum for two hours ago (11:00-12:00)
       trendmin(/host/key,1h:now/h-2h) #the minimum for three hours ago (10:00-11:00)
       trendmin(/host/key,1M:now/M-1y) #the minimum for the previous month a year ago
trendstl(/host/key,eval period:time shift,detection period,season,<deviations>,<devalg>,<s window>)

Приказује стопу аномалија током периода откривања – децималну вредност између 0 и 1 која је ((the number of anomaly values)/(total number of values)).

Параметри:

  • Погледајте заједничке параметре;
  • период евалуације - временски период који се мора разложити (минимум '1h'), дефинисан као <N><time unit> где
    N - број временских јединица
    time unit - h (сат), d (дан), w (седмица), M (месец) или y (година)
  • период детекције - временски период пре краја периода процене за који се израчунавају аномалије (минимум '1h', не може бити дужи од периода процене), дефинисан као <N><time unit> где је
    N - број временских јединица
    time unit - h (сат), d (дан), w (седмица)
  • сезона - најкраћи временски период у којем се очекује понављање шаблона ("сезона") (минимално '2h', не може бити дуже од периода процене, број уноса у периоду процене мора бити већи два пута од резултујуће фреквенције (сезона/h)), дефинисан као <N><time unit> где је
    N - број временских јединица
    time unit - h (сат), d (дан), w (седмица)
  • одступања - број одступања (израчунатих помоћу devalg-а) који се рачунају као аномалија (може бити децимални), (мора бити већи или једнак 1, подразумевано је 3);
  • devalg (мора бити под двоструким наводницима) - алгоритам одступања, може бити stddevpop, stddevsamp или mad (подразумевано);
  • s прозор - распон (у закашњењима) loess прозора за сезонско издвајање (подразумевано је 10 * број уноса у периоду евалуације + 1)

Примери:

trendstl(/host/key,100h:now/h,10h,2h) #analyse the last 100 hours of trend data, find the anomaly rate for the last 10 hours of that period, expecting the periodicity to be 2h, the remainder series values of the evaluation period are considered anomalies if they reach the value of 3 deviations of the MAD of that remainder series
       trendstl(/host/key,100h:now/h-10h,100h,2h,2.1,"mad") #analyse the period of 100 hours of trend data, up to 10 hours ago, find the anomaly rate for that entire period expecting the periodicity to be 2h, the remainder series values of the evaluation period are considered anomalies if they reach the value of 2,1 deviations of the MAD of that remainder series
       trendstl(/host/key,100d:now/d-1d,10d,1d,4,,10) #analyse 100 days of trend data up to a day ago, find the anomaly rate for the period of last 10d of that period, expecting the periodicity to be 1d, the remainder series values of the evaluation period are considered anomalies if they reach the value of 4 deviations of the MAD of that remainder series, overriding the default span of the loess window for seasonal extraction of "10 * number of entries in eval period + 1" with the span of 10 lags
       endstl(/host/key,1M:now/M-1y,1d,2h,,"stddevsamp") #analyse the previous month a year ago, find the anomaly rate of the last day of that period expecting the periodicity to be 2h, the remainder series values of the evaluation period are considered anomalies if they reach the value of 3 deviation of the sample standard deviation of that remainder series
trendsum(/host/key,time period:time shift)

Збир дефинисаних трендовских вредности унутар дефинисаног временског периода.

Параметри:

Примери:

trendsum(/host/key,1h:now/h) #the sum for the previous hour (e.g. 12:00-13:00)
       trendsum(/host/key,1h:now/h-1h) #the sum for two hours ago (11:00-12:00)
       trendsum(/host/key,1h:now/h-2h) #the sum for three hours ago (10:00-11:00)
       trendsum(/host/key,1M:now/M-1y) #the sum for the previous month a year ago

Погледајте све подржане функције.