Áú»¢¶Ä²©

7 Funcions predictives de triggers

Vista general

De vegades hi ha indicis del problema per avan?at. Aquests senyals es poden detectar per tal que es puguin prendre accions amb antelaci¨® per previndre o, almenys, minimitzar l'impacte del problema.

Áú»¢¶Ä²© disposa d'eines per predir el comportament futur del sistema monitorat a partir de dades hist¨°riques. Aquestes eines s'executen mitjan?ant funcions de trigger predictives.

Funcions

Abans d'establir un trigger, cal definir quin ¨¦s un estat problema i quant de temps cal per actuar. A continuaci¨®, hi ha dues maneres de configurar una senyalitzaci¨® de trigger sobre una possible situaci¨® no desitjada. Primer: el trigger s'ha de disparar quan s'espera que el sistema sigui en estat problem¨¤tic despr¨¦s del "temps per actuar". Segon: el trigger s'ha de disparar quan el sistema arribi a l'estat del problema en menys de "temps per actuar". Les funcions de trigger corresponents a emprar s¨®n ±è°ù±ð±¹¾±²õ¾±¨® i temps restant. Tingueu en compte que l'an¨¤lisi estad¨ªstica subjacent ¨¦s b¨¤sicament id¨¨ntica per a ambdues funcions. Podeu configurar un trigger de la manera que preferiu amb resultats similars.

±Ê²¹°ù¨¤³¾±ð³Ù°ù±ð²õ

Ambdues funcions empren gaireb¨¦ el mateix conjunt de par¨¤metres. Empreu la llista de funcions admeses com a refer¨¨ncia.

Interval de temps

En primer lloc, cal especificar el per¨ªode hist¨°ric que Áú»¢¶Ä²© hauria d'analitzar per arribar a la predicci¨®. Feu-ho de manera familiar mitjan?ant el par¨¤metre per¨ªode de temps i el despla?ament temporal opcional, com es fa amb les funcions avg, count, delta, max , min i sum.

Horitz¨® de ±è°ù±ð±¹¾±²õ¾±¨®

(forecast ²Ô´Ç³¾¨¦²õ)
El par¨¤metre time especifica fins a quin punt del futur Áú»¢¶Ä²© hauria d'extrapolar les depend¨¨ncies que es troben a les dades hist¨°riques. Tant se val si feu servir time_shift o no, el time sempre es compta des del moment present.

Llindar a assolir

(timeleft ²Ô´Ç³¾¨¦²õ)
El par¨¤metre threshold especifica un valor que hauria d'assolir l'element analitzat, sense difer¨¨ncia si ¨¦s per sobre o per sota. Despr¨¦s de determinar f(t) (veieu m¨¦s avall), hem de resoldre l'equaci¨® f(t) = "llindar" i retornar l'arrel m¨¦s propera al moment actual, situada a la dreta del moment actual, o retornar 1.7976931348623158E+308 si no s¨®n aquestes arrels.

Quan els valors dels elements s'acosten al llindar i despr¨¦s el superen, timeleft suposa que la intersecci¨® ja ha passat i, per tant, salta a la seg¨¹ent intersecci¨® amb el nivell de "llindar", si n'hi ha. La millor pr¨¤ctica ¨¦s emprar les prediccions com a complement dels diagn¨°stics de problemes habituals, no com a substituts.1

Funcions d'ajustament

Per defecte, fit ¨¦s una funci¨® linial. Per¨° si el vostre sistema monitorat ¨¦s m¨¦s complexe, teniu diverses opcions a escollir.

fit x = f(t)
linial x = a + b*t
polinomiN2 x = a0 + a1*t + a2*t2 + ... + an*tn
exponencial x = a*exp(b*t)
±ô´Ç²µ²¹°ù¨ª³Ù³¾¾±³¦²¹ x = a + b*log(t)
±è´Ç³Ù¨¨²Ô³¦¾±²¹ x = a*tb
Modes

(forecast ²Ô´Ç³¾¨¦²õ)
Cada vegada que s'avalua una funci¨® de trigger, s'obtenen dades del per¨ªode d'historial especificat i ajusta una funci¨® especificada a les dades. Aix¨ª, si les dades s¨®n lleugerament diferents, la funci¨® ajustada ser¨¤ lleugerament diferent. Si nom¨¦s calculem el valor de la funci¨® ajustada en un moment futur especificat, no sabreu pas res sobre el comportament esperat de l'element analitzat per llavors. Per a algunes opcions d'"ajustament" (com ara polinomi), un simple valor futur pot ¨¦sser engany¨®s.

mode resultat predit
valor f(ara + hora)
max maxara?<=?t?<=?ara?+?temps f(t)
min minara?<=?t?<=?ara?+?temps f(t)
delta max - min
mitjana mitjana de f(t) (ara <= t <= ara + temps) segons

Detalls

Per evitar c¨¤lculs amb nombres grans, considereu la marca de temps del primer valor del per¨ªode especificat m¨¦s 1 ns com un nou temps zero (el temps actual ¨¦s al voltant de 109, l'¨¨poca al quadrat ¨¦s 1018, la precisi¨® doble ¨¦s d'uns 10^ -16^). S'afegeix 1 ns per proporcionar tots els valors de temps positius per als ajustaments ±ô´Ç²µ²¹°ù¨ª³Ù³¾¾±³¦²õ i els ajustaments de ±è´Ç³Ù¨¨²Ô³¦¾±²¹ que impliquen el c¨¤lcul de log(t). El despla?ament de temps no afecta els c¨¤lculs lineals, polinomis, exponencials (excepte c¨¤lculs m¨¦s f¨¤cils i precisos), per¨° canvia la forma de les funcions ±ô´Ç²µ²¹°ù¨ª³Ù³¾¾±±ç³Ü±ð²õ i ±è´Ç³Ù¨¨²Ô³¦¾±²¹.

Errades potencials

Les funcions tornen -1 en aquestes situacions:

  • el per¨ªode d'avaluaci¨® especificat no cont¨¦ cap dada;
  • el resultat de l'operaci¨® matem¨¤tica no ¨¦s pas definit3;
  • complicacions num¨¨riques (malauradament, per a alguns conjunts de dades d'entrada, la doble precisi¨® i el punt flotant s¨®n insuficients) 4.

No es notifica cap av¨ªs ni error si l'ajust escollit descriu malament les dades proporcionades o si hi ha massa poques dades per a una predicci¨® precisa.

1 Exemples i tractament d'errades

Per rebre un av¨ªs quan sou a punt de quedar-vos sense espai al disc lliure al vostre equip, podeu emprar un trigger com aquest:

 timeleft(/host/vfs.fs.size[/,free],1h,0)<1h

Tanmateix, el codi d'error -1 pot activar-se i posar el trigger en un estat problem¨¤tic. En general, ¨¦s bo perqu¨¨ rebeu un av¨ªs que les vostres prediccions no funcionen correctament i haur¨ªeu d'investigar-les m¨¦s per esbrinar per qu¨¨. Per¨° de vegades aix¨° pot ser problem¨¤tic perqu¨¨ -1 nom¨¦s pot significar que no hi havia dades sobre l'espai lliure de disc de l'equip obtingudes durant l'¨²ltima hora. Si obteniu massa falsos positius, penseu a emprar un trigger m¨¦s complexe 5:

 timeleft(/host/vfs.fs.size[/,free],1h,0)<1h i timeleft(/host/vfs.fs.size[/,free],1h,0)<>-1

La situaci¨® ¨¦s una mica m¨¦s dif¨ªcil amb forecast. Primer, -1 pot o no posar el trigger en un estat problem¨¤tic depenent de si teniu o no una expressi¨® com forecast(/host/item,(...))<... o com forecast(/ host/element,(...))>...

A m¨¦s, -1 pot ser una predicci¨® v¨¤lida si ¨¦s normal que el valor de l'element sigui negatiu. Per¨° la probabilitat d'aix¨° en una situaci¨® real ¨¦s insignificant (veieu com funciona l'operador =). Aix¨ª que afegiu ... o forecast(/host/item,(...))=-1 o ... i forecast(/host/item,(...))<>-1 respectivament si o no voleu tractar -1 com un problema.

1 Per exemple, un trigger simple com timeleft(/host/item,1h,X) <1h pot entrar en un estat problem¨¤tic quan el valor de l'element s'acosta a X i, de sobte, recuperar-se un cop arribat al valor X. Si el problema ¨¦s que el valor de l'element ¨¦s inferior a X, empreu: last(/host/item) < X o timeleft(/host/item,1h,X) <1h. Si el problema ¨¦s que el valor de l'element ¨¦s superior a X, empreu: last(/host/item) > X o timeleft(/host/item,1h,X) <1h

2 el grau del polinomi pot ¨¦sser entre 1 i 6, polinomi1 equival a lineal. Tanmateix, empreu polinomis de grau superior . Si el per¨ªode d'avaluaci¨® cont¨¦ menys punts dels necessaris per determinar els coeficients del polinomi, el grau del polinomi es reduir¨¤ (per exemple, es demana polinomi5, per¨° nom¨¦s hi ha 4 punts, per tant, polinomi3 ²õ'²¹Âá³Ü²õ³Ù²¹°ù¨¤).

3 per exemple, ajustar funcions exponencial o ±è´Ç³Ù¨¨²Ô³¦¾±²¹ implica calcular el log() dels valors dels elements. Si les dades contenen zeros o nombres negatius, obtindreu un error perqu¨¨ log() nom¨¦s es defineix per a valors positius.

4 Per als ajustos lineal, exponencial, ±ô´Ç²µ²¹°ù¨ª³Ù³¾¾±³¦ i ±è´Ç³Ù¨¨²Ô³¦¾±²¹, tots els c¨¤lculs necessaris es poden escriure de manera expl¨ªcita. Per a polinomi, nom¨¦s el valor es pot calcular sense cap passa addicional. Calcular mitjana implica calcular el polinomi antiderivat (de manera anal¨ªtica). Calcular max, min i delta implica calcular la derivada polinomial (anal¨ªticament) i trobar-ne les arrels (num¨¨ricament). La resoluci¨® de f(t) = 0 implica trobar arrels polinomials (num¨¨ricament).

5 per¨° en aquest cas -1 pot fer que el vostre trigger es recuperi de l'estat problema. Per ¨¦sser totalment protegit, empreu:timeleft(/host/vfs.fs.size[/,free],1h,0)<1h i ({TRIGGER.VALUE}=0 i timeleft(/host/vfs.fs.size) [/,free],1h,0)<>-1 o {TRIGGER.VALUE}=1)