• No results found

Ur dessa lärdata testas de statistiska metoder som tidigare nämnts i kapitel Metod och genomförande. I Figur 30 och Figur 31 syns antalet händelser respektive undantag som skrivs ut under en vecka. Genom att enbart studera dessa tabeller visas att händelserna kommer i cykler och det är lätt att urskilja dag från natt.

Figur 30: Totala händelser under en arbetsvecka, Lul. 0 10000 20000 30000 40000 50000 60000 70000 80000 00:30 04:30 08:30 12:30 16:30 20:30 00:30 04:30 08:30 12:30 16:30 20:30 00:30 04:30 08:30 12:30 16:30 20:30 00:30 04:30 08:30 12:30 16:30 20:30 00:30 04:30 08:30 12:30 16:30 20:30

35

Figur 31: Totala undantag under en arbetsvecka, Lul.

En förklaring till att det skrivs ut fler händelser eller undantag under dagarna är att det är betydligt fler som arbetar dagtid än nattetid. Om fokus läggs enbart på Figur 31, tydliggörs det hur många undantag som skrivs under en arbetsvecka. Observera att under nattetid sker det en dramatisk skillnad. Antalet undantagsutskrifter pendlar mellan noll och tolv om inget extraordinärt inträffat. På grund av denna iakttagelse görs beräkningarna gällande lärdata endast på en tolvtimmars period från klockan 08:00 till 20:00. Anledningen till denna åtgärd är att det är för få undantag som inträffar för att beräkna en referenslinje. I Figur 32 visas hur den nya arbetsveckan för undantag ser ut.

0 2000 4000 6000 8000 10000 12000 00:30 04:30 08:30 12:30 16:30 20:30 00:30 04:30 08:30 12:30 16:30 20:30 00:30 04:30 08:30 12:30 16:30 20:30 00:30 04:30 08:30 12:30 16:30 20:30 00:30 04:30 08:30 12:30 16:30 20:30

36

Figur 32: Undantag under alla tolvtimmarsperioder på en arbetsvecka – Lul.

Beräkningar för den statiska referenslinjen visas nedan i Tabell 3 och i Figur 28. De höga värdena på standardavvikelsen och standardfelet visar att det är en stor variation i utskrifter. Resultat Medelvärde 2578 Standardavvikelse 2014 Standardfel 184 Statisk Referenslinje 2938

Tabell 3: Statisk referenslinje.

I Tabell 4 visas korrelationen mellan de totala undantag och händelser var dag för sig. Resultatet visar att händelser och undantag är stark positivt korrelerande med varandra. Dessutom visas det att signifikansen är väldigt låg, vilket tyder på att beräkningar är trovärdiga. Beräkningen utfördes med ett 95-procentigt konfidensintervall. Det som bör påpekas är att korrelation säger inget om kausalitet. Det går därmed inte att dra slutsatsen »så fort man använder systemet skrivs det ut undantag«. Jämför man Figur 30 och Figur 31 visas det att undantag är en bråkdel av vad som skrivs ut, men de har samma mönster. 0 2000 4000 6000 8000 10000 12000 08:00 10:00 12:00 14:00 16:00 18:00 20:00 09:30 11:30 13:30 15:30 17:30 19:30 09:00 11:00 13:00 15:00 17:00 19:00 08:30 10:30 12:30 14:30 16:30 18:30 08:00 10:00 12:00 14:00 16:00 18:00 20:00

37 Korrelation Signifikans Måndag 0,93 p < 0,001 Tisdag 0,85 p < 0,001 Onsdag 0,89 p < 0,001 Torsdag 0,91 p < 0,001 Fredag 0,95 p < 0,001

Tabell 4: Korrelation totala händelser med totala undantag per dag.

Eftersom utskrifterna kommer ut i liknande cykler togs korrelation mellan arbetsdagarna var för sig. Tabell 5 visar korrelation och signifikans mellan varje par av dagar. Resultatet visar en stark positiv korrelation mellan varje par av dagar, vilket tyder på att antalet undantag för varje dag är likt varandra under en arbetsvecka.

Måndag Tisdag Onsdag Torsdag Tisdag 0,74 p < 0,001 Onsdag 0,67 0,69 p < 0,001 p < 0,001 Torsdag 0,87 0,62 0,70 p < 0,001 p < 0,001 p < 0,001 Fredag 0,84 0,77 0,79 0,85 p < 0,001 p < 0,001 p < 0,001 p < 0,001

Tabell 5: Korrelation mellan undantag för en arbetsvecka. Beräknat med ett 95-procentigt konfidensintervall.

4.1.1 Slutsatser

Det framstår tydligt att loggutskrifter kommer i cykler och man kan urskilja dag från natt och veckodag från helgdag. Dock så har vi inte tillräckligt med statistiska belägg för att bevisa att detta är sant, utan det är något man intuitivt ser. En trolig förklaring till detta är att det är betydligt fler som arbetar dagtid än nattetid och veckodagar än helgdagar.

I och med att utskrifterna kommer i cykler och systemet belastas olika, beroende på vilken tidpunkt det är, beskriver inte en statisk referenslinje hela sanningen. Därmed

38 är en statisk referenslinje inte en bra kandidat för att representera vad som är normalt eller inte. Denna iakttagelse leder oss till att undersöka om dynamisk referenslinje är ett bättre alternativ. Den dynamiska referenslinjen tar hänsyn till att systemet blir olikt belastat beroende på vilken tid det är på dygnet.

Undantagsutskrifterna har en tendens att följa de vanliga händelseutskrifter och de är starkt positiv korrelerande med varandra. Eftersom lärdatamaterialet är beräknat på en begränsad tidsperiod kan man inte verifiera om detta samband beror på slumpen eller inte. Detta ska undersökas om det stämmer överens med datamaterialet från utvärderingsdata, då datamaterialet återfinns i större kvantitet.

Det har även påvisats att frekvensen av undantagsutskrifterna under en given tidpunkt är starkt positivt korrelerande med varandra.

4.2 Utvärderingsdata

Utvärderingsdata skiljer sig från lärdata. Lärdata omfattade data från alla servrar men under en kort period.

Utvärderingsdata innefattar data från tre servrar under en period av 12 veckor, från december till mitten utav mars. Under denna period infaller två stora högtider, jul och nyår, då systemet används i mycket mindre utsträckning än övrig tid. Följden av detta blir att systemet hos Landstinget i Östergötland inte är lika belastat. Om dessa veckor skulle tas in i beräkningar skulle det medföra att referenslinjen blir missvisande.

Skillnaden med detta datamaterial är att en arbetsdag startar klockan 07:30 och slutar 19:30. Anledningen till att arbetsdagen börjar 30 minuter tidigare är att personalen i Landstinget i Östergötland tycks ha en benägenhet att logga in på systemet lite tidigare än personalen i Landstinget i Uppsala län.

På utvärderingsdata användes en dynamisk referenslinje istället för en statisk. Denna linje beräknas på de fyra arbetsveckor innan den femte och sedan appliceras på den femte. Med andra ord tillämpas glidande medelvärde för att beräkna den dynamiska referenslinjen. Skälet till att den dynamiska referenslinjen beräknas på fyra veckor är att om det sker ovanligt mycket utskrifter på en arbetsvecka ska det inte ge för stort utslag på resultatet.

När utvärderingsdata hade lästs in till systemet uppmärksammades att händelserna inte följde samma mönster som det gjorde i lärdata. Det går inte att urskilja dag från natt eller om det är veckodag eller helgdag. Genom att undersöka utskrifterna

39 närmre upptäcktes det att tre moduler skriver ut undantag med jämna mellanrum. Som tidigare nämnt kan inte beräkningar genomföras om datamaterialet är förvrängt. För att fortfarande kunna använda datamaterialet från Landstinget i Östergötland som utvärderingsdata exkludera dessa från beräkningarna för att det förvrängningarna kommer systematiskt från en felinställning på systemet. Resultatet blir ett histogram som har de egenskaper som syntes i lärdatamaterialet och som Figur 33 visar [1] [2].

Figur 33: Normala undantagutskrifter.

I lärdata fann vi att undantagsutskrifterna hade stark positiv korrelation med de vanliga utskrifterna. I utvärderingsdata återfanns en positiv korrelation, dock inte lika stark som i lärdata. I Tabell 6 ser vi resultaten från korrelationen mellan utskrifterna och kan notera att det är en relativt stor variation. De flesta dagar ligger korrelationen mellan 0,3-0,5 och signifikansen håller sig för det mesta inom konfidensintervallet. De dagar där korrelation är närmre noll tenderar signifikansen att överstiga konfidensintervallet. Som tidigare nämnt talar korrelation inget om kausalitet, men en tes till att resultaten i utvärderingsdata skiljer sig från lärdata är att undantagen som händer i utvärderingsdata har ingen koppling till hur mycket systemet är belastat. Att det uppmättes en signifikant och stark korrelation mellan de vanliga utskrifterna samt undantagsutskrifterna kan bero på en ren tillfällighet.

0 10 20 30 40 50 60 70 07:30 11:00 14:30 18:00 09:20 12:50 16:20 07:40 11:10 14:40 18:10 09:30 13:00 16:30 07:50 11:20 14:50 18:20 09:40 13:10 16:40 08:00 11:30 15:00 18:30 09:50 13:20 16:50 08:10 11:40 15:10 18:40 10:00 13:30 17:00

40 Detta innebär att man inte kan använda vanliga utskrifter som parameter i dynamiska referenslinjen. Detta kommer inte påverka vår metod då vi enbart fokuserar på undantagsutskrifterna.

41 Korrelation p-värde Korrelation P-värde Korrelation P-värde

AV1 AV2 AV3 Måndag 0,59 p < 0,001 0,55 p < 0,001 0,57 p < 0,001 Tisdag 0,43 p < 0,001 0,26 0,028 0,38 0,001 Onsdag 0,33 p < 0,001 0,34 0,003 0,33 0,004 Torsdag 0,47 p < 0,001 0,30 0,009 0,35 0,003 Fredag 0,43 p < 0,001 0,42 p < 0,001 0,29 0,012 AV4 AV5 AV6 Måndag 0,16 0,168 0,58 p < 0,001 0,51 p < 0,001 Tisdag 0,20 0,092 0,32 0,006 0,37 0,001 Onsdag 0,33 0,004 0,37 0,001 0,36 0,001 Torsdag 0,32 0,007 0,54 0,017 0,35 0,002 Fredag 0,16 0,176 0,28 p < 0,001 0,35 0,003 AV7 AV8 AV9 Måndag 0,45 p < 0,001 0,50 p < 0,001 0,50 p < 0,001 Tisdag 0,46 p < 0,001 0,31 0,007 0,26 0,028 Onsdag 0,19 0,116 0,07 0,585 0,42 p < 0,001 Torsdag 0,38 0,001 0,26 0,027 0,29 0,012 Fredag 0,30 0,009 0,32 0,006 0,27 0,02 AV10 AV11 AV12 Måndag 0,52 p < 0,001 0,64 p < 0,001 0,57 p < 0,001 Tisdag 0,29 0,012 0,31 0,008 0,33 0,004 Onsdag 0,55 p < 0,001 0,32 0,006 0,32 0,007 Torsdag 0,37 0,001 0,41 p < 0,001 0,31 0,008 Fredag 0,43 p < 0,001 0,69 p < 0,001 0,35 0,003

Tabell 6: Jämförelse mellan undantag och vanliga utskrifter, LiO. AV står för arbetsvecka och korrelationen mellan frekvensen av undantagsutskrifter och vanliga utskrifter vid en given tidpunkt.

42 Tabell 7 visar korrelationen mellan referenslinjen och respektive arbetsvecka. P- värdena är beräknade med ett 99 % konfidensintervall. Den dynamiska referenslinjen visar en stark positiv korrelation med sin respektive arbetsvecka och endast vid sju tillfällen har den understigit 0,8.

AV5 AV6 AV7 AV8 AV9 AV10 AV11 AV12 Måndag 0,84 0,86 0,85 0,86 0,88 0,81 0,89 0,93 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001 Tisdag 0,93 0,85 0,88 0,83 0,91 0,5 0,72 0,90 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001 Onsdag 0,9 0,91 0,33 0,56 0,84 0,29 0,86 0,87 p <0,001 p <0,001 0,005 p <0,001 p <0,001 0,014 p <0,001 p <0,001 Torsdag 0,63 0,82 0,85 0,87 0,9 0,88 0,79 0,86 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001 Fredag 0,88 0,9 0,88 0,84 0,85 0,88 0,62 0,9 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001 p <0,001

Tabell 7: Dynamisk referenslinje korrelerande med arbetsvecka.

4.2.1 Slutsatser

Även i utvärderingdata kunde man se mönstret som fanns i lärdata, där det gick att urskilja dag från natt och vardag från helg. Det framgick tydligt i utväveringsdata att undantagsutskrifterna inte hade lika starkt korrelation med de vanliga utskrifterna. Det kan bero på olika orsaker, några troliga kan vara mängden av data, tidsperiod och konfiguration av servarna.

Dynamiska referenslinjen visade en stark positiv korrelation på undantagsutskrifter med sin respektive arbetsvecka och endast vid sju tillfällen understeg korrelationen 0,8, utifrån detta användes det som ett tröskelvärde. Något man bör ha i åtanke är att när korrelationen är stark positiv behöver det inte betyda att allt har gått smärtfritt, utan det kan ha hänt flera »utbrott« eller något som har avvikit från referenslinjen. Ett scenario kan vara att undantagen har följt referenslinjen väldigt bra men har avvikit starkt vid ett specifikt tillfälle. En nackdel med denna metod är att den

43 inte upptäcker alla fel men den är tillräckligt bra för att ge en återkoppling och sammanfatta över hur det har gått under senaste arbetsveckorna eller varje dag.

44

4.3 Identifiering i realtid

Uppdragsgivaren ville undersöka om det gick att identifiera fel i realtid. Metoden som användes tidigare kunde som tidigast ge återkoppling dagen efter. I detta avsnitt kommer det att undersökas om samma metod går att tillämpa i realtid. I undersökning kommer det att användas samma data som tidigare.

För att kunna referera till tidigare slutsatser beräknas, även här, undantagsutskrifter var 30:e minut. När samplingen sker var 30:e minut blir det svårare att identifiera korta anomalier ifrån långa, eftersom det endast visar att det har inträffat en anomali men talar inte om under hur lång tid, se Figur 34 och Figur 35. Att minimera samplingsintervallet till var 10:e minut men samtidigt utföra beräkningarna var 30:e minut kan vi skilja dessa två från varandra. Samplingsvärdarna användes för att se hur länge anomalin varade och när det skedde.

Figur 34: Kort positiv anomali. Figur 35: Lång positiv anomali.

Ett annat problem med ett samplingsintervall på 30 minuter är att det inte går att skilja om anomalin är en positiv (över referenslinjen), negativ (under referenslinjen) eller hur stark den är, se Figur 36 och Figur 37.

Figur 36: Kort negativ anomali. Figur 37: Lång negativ anomali. Undantag Tid Undantag Tid Undantag Tid Undantag Tid

45 Med hjälp av GradeAnomali, GA, går det att skilja om det är en positiv eller negativ anomali, dessutom ger den en gradering hur allvarlig anomalin är jämfört med dynamiska referenslinjen, se Formel 9 [25].

𝐺𝐴 = log (1 + 𝑈𝑣,𝑑,𝑡 𝐷𝑅𝑣−1,𝑡

)

Formel 9: Graderingsekvation. U betecknar antalet undantag där v, d och t står för veckonummer, dag respektive tid. DR är värdet på dynamiska referenslinjen.

När korrelationen understiger tröskelvärdet, 0.8, beräknas GA för varje samplingspunkt. Ett negativt GA-värde tyder på att undantagsutskrifterna är under referenslinjen och över referenslinjen vid ett positivt GA-värde. Värdet tyder även på hur stor skillnad det är mellan undantagsutskrifterna och referenslinjen vid den punkten. Ett positivt GA-värde som överstiger tröskelvärdet för GA, 0.15, triggar ett larm. Tröskelvärdet för GA beräknades med samma data som användes för att hitta tröskelvärdet för korrelationen, se Tabell 7. Därefter beräknades medelvärdet och resultatet blev 0.15.

När ett larm triggas minskas beräkningsintervallet för korrelationen från 30 till 10 minuter. Sedan repeteras samma procedur igen tills värdena är inom de tillåtna gränserna. Därefter inaktiveras larmet och undantagsvärdena korrigeras enligt metod 2, se kapitel Metod och genomförande. I Figur 38 illustreras ett aktivitetsdiagram över detekteringsalgoritm.

46

47

5 Diskussion

Detta examensarbete resulterade i att med hjälp av historiska och realtidsdata i centraliserad loggning kunna upptäcka anomalier och förhindra dessa innan det drabbar användaren. Med centraliserad loggning har vi höjt abstraktionsnivån från att betrakta alla servrar enskilt till att betrakta dem som ett enhetligt system. Med en förfrågning kan användaren nu få träffar från flera servrar och resultat visualiseras på ett pedagogiskt sätt.

Vi är väl medvetna att vår metod inte upptäcker alla anomalier och kan inte urskilja vissa från varandra. Ett förslag till metodförbättring i framtida studier är när en anomali upptäcks ska metoden kunna identifiera ursprunget, felet, och ge en potentiell lösning. Det finns även förbättringsmöjligheter i realtidsalgoritmen. En optimering på algoritmen vore att justera samplings- och beräkningstiden för att komma närmre realtid. Vidare brister algoritmen i att upptäcka ett specifikt fel: när undantagsutskrifter skrivs ut växelvis med kort period (eng. toggling).

Metoden går förmodligen att applicera hos andra landsting eller regioner som använder COSMIC, förutsatt att data, även där, uppvisar förutsägbara mönster. Dessutom bör vissa attribut justeras så det passar datamaterialet. Däremot finns det inga belägg att metoden fungerar på andra system än COSMIC.

Den viktigaste slutsatsen som kan dras av detta examensarbete är att det är möjligt att presentera loggutskrifter på ett visuellt sätt och erbjuda en kraftfull sökmotor för loggskrifter i en centraliserad server. Ytterligare går det att upptäcka fel med hjälp av statistiska metoder i retrospektiv- och i realtidsdata från COSMIC.

48

6 Referenser

1. Chuvakin A. Logging and log management: the authoritative guide to understanding the concepts surrounding logging and log management. Amsterdam: Elsevier/Syngress; 2013. 431 p.

2. Cambio [Internet]. [cited 2014 Jan 22]. Available from: http://www.cambio.se/Om- oss/

3. Svensson T, Krysander C. Projektmodellen LIPS. Lund: Studentlitteratur; 2011. 4. World Wide Web Consortium (W3C) [Internet]. [cited 2015 May 21]. Available

from: http://www.w3.org/

5. Turnbull J. The logstashbook [Internet]. 2013th ed. Turnbull, James; 2013. Available from: http://www.logstashbook.com

6. Fluentd: Open Source Log Management [Internet]. [cited 2014 May 15]. Available from: http://fluentd.org/

7. Manning CD. Introduction to information retrieval. New York: Cambridge University Press; 2008. 482 p.

8. Kuć R, Rogoziński M. Mastering ElasticSearch [Internet]. Birmingham, UK: Packt

Pub.; 2013 [cited 2014 Mar 25]. Available from:

http://proquest.safaribooksonline.com/?fpi=9781783281435

9. Apache Lucene - Scoring [Internet]. [cited 2014 May 8]. Available from: http://lucene.apache.org/core/3_6_2/scoring.html

10. Weiss MA. Data structures and algorithm analysis in C++. Harlow: Pearson; 2013. 11. The Lucene search engine: Powerful, flexible, and free | JavaWorld [Internet].

[cited 2014 Feb 13]. Available from:

http://www.javaworld.com/article/2076176/java-app-dev/the-lucene-search-engine- -powerful--flexible--and-free.html

12. Scoring and Ranking Techniques - tf-idf term weighting and cosine similarity - IRF [Internet]. [cited 2015 May 21]. Available from: http://www.ir-facility.org/scoring- and-ranking-techniques-tf-idf-term-weighting-and-cosine-similarity

13. Apache Lucene - Index File Formats [Internet]. [cited 2015 May 21]. Available from: https://lucene.apache.org/core/3_0_3/fileformats.html

14. TFIDFSimilarity (Lucene 4.0.0 API) [Internet]. [cited 2015 May 21]. Available from:

http://lucene.apache.org/core/4_0_0/core/org/apache/lucene/search/similarities/TFI DFSimilarity.html

15. Reference [master] [Internet]. [cited 2015 May 21]. Available from: https://www.elastic.co/guide/en/elasticsearch/reference/master/index.html

49 16. Glossary of terms [Internet]. [cited 2015 May 21]. Available from:

https://www.elastic.co/guide/en/elasticsearch/reference/current/glossary.html 17. Cluster Health [Internet]. [cited 2015 May 21]. Available from:

https://www.elastic.co/guide/en/elasticsearch/guide/master/cluster-health.html 18. Elasticsearch.org Kibana: Data Visualization Made Simple and Beautiful | Webinar

| Elasticsearch [Internet]. [cited 2014 May 15]. Available from: http://www.elasticsearch.org/webinars/kibana-made-simple/

19. medelfel | Nationalencyklopedin [Internet]. [cited 2014 May 25]. Available from: http://www.ne.se.lt.ltag.bibl.liu.se/lang/medelfel

20. Jonsson D, Norell L. Ett stycke statistik. Lund: Studentlitteratur; 2007.

21. konfidensintervall | Nationalencyklopedin [Internet]. [cited 2014 May 25]. Available from: http://www.ne.se.lt.ltag.bibl.liu.se/lang/konfidensintervall

22. korrelation | Nationalencyklopedin [Internet]. [cited 2014 May 21]. Available from: http://www.ne.se/lang/korrelation

23. signifikanstest | Nationalencyklopedin [Internet]. [cited 2014 May 26]. Available from: http://www.ne.se.lt.ltag.bibl.liu.se/lang/signifikanstest

24. McCabe GP, Moore DS. Introduction to the practice of statistics. New York: W.H. Freeman; 2004.

25. Burkom HS, Murphy SP, Shmueli G. Automated time series forecasting for biosurveillance. Stat Med. 2007 Sep 30;26(22):4202–18.

50

7 Appendix

7.1 Appendix 1 Dokumentsamling

Termer

Gandalf, Bilbo, Balin, dwalin, Fili, Kili

Doc 1

All that the unsuspecting Bilbo saw that morning was an old man with a staff.

Doc 2

But Gandalf looked at him from under long bushy eyebrows that stuck out further than the brim of his shady hat.

Doc 3

When he got back Balin and Dwalin were talking at the table like old friends (as a matter of fact they were brothers) What can I do for you, my dwarves? he said.

Kili at your service! said the one. And Fili! added the other; and they both swept

off their blue hoods and bowed. At yours and your family! replied Bilbo, remembering his manners this time.

Doc 4

Dwalin and Balin here already, I see, said Kili. Let us join the throng! Doc 5

When he got back Balin and Dwalin were talking at the table like old friends (as a matter of fact they were brothers). Bilbo plumped down the beer and the cake in front of them, when loud came a ring at the bell again, and then another ring.

Doc 6

I see they have begun to arrive already, he said when he caught sight of Dwalins green hood hanging up. He hung his red one next to it, and Balin at your service! he said with his hand on his breast. Thank you! said Bilbo with a gasp.

51

7.2 Appendix 2 Enkätfrågor

Förfrågor:

1. Berätta kortfattat hur din arbetsprocess går till gällande loggar? o Vilka loggar?

o Hur arbetar du med dina loggar?

o Vilka problem stöter under felsökning? 2. Vilka typer av fel stöter ni på mest?

3. Hur ofta stöter ni på Javastack, i analyssyfte? 4. Är all data intressant för er?

o Om inte, vad är intressant? o Även data innan och efter ett fel?

5. Vad saknas i loggen för att underlätta din felsökning?

Efterfrågor:

Utifrån vad Ni har sett, kan Ni tydligt se; 1. Vad hände?

2. När hände det? 3. Var hände det? 4. Vilka var inblandade? Var kom han/hon, det ifrån?

52

Related documents