• No results found

Log Search: En form av datamining

N/A
N/A
Protected

Academic year: 2022

Share "Log Search: En form av datamining"

Copied!
24
0
0

Loading.... (view fulltext now)

Full text

(1)

IT 11 067

Examensarbete 15 hp September 2011

Log Search

En form av datamining

Martin Doversten

(2)
(3)

Teknisk- naturvetenskaplig fakultet UTH-enheten

Besöksadress:

Ångströmlaboratoriet Lägerhyddsvägen 1 Hus 4, Plan 0

Postadress:

Box 536 751 21 Uppsala

Telefon:

018 – 471 30 03

Telefax:

018 – 471 30 00

Hemsida:

http://www.teknat.uu.se/student

Abstract

Log Search - A kind of data mining

Martin Doversten

This report examines the possibility of optimizing troubleshooting log files generated when

constructing new Volvo trucks. Errors occur when CAD models are stored and managed by the versioning system PDMLink. By developing a new diagnostic tool, Log Search, the troubleshooting process is automated and thereby streamlines the current manual search.

(4)
(5)

Sammanfattning

Denna rapport unders¨oker m¨ojligheten att optimera fels¨okning i logg- filer som genereras vid lastbilskonstruering p˚a Volvo. Felen uppst˚ar d˚a

(6)
(7)

Inneh˚ all

1 Introduktion 8

1.1 Problemformulering . . . . 8

1.2 Avgr¨ansning . . . . 8

1.3 Syfte och m˚al . . . . 8

1.4 Omv¨arldsanalys . . . . 9

1.4.1 Anv¨andarstudie . . . . 9

2 Bakgrund 9 2.1 Datamining . . . . 10

2.1.1 Regulj¨aruttryck . . . . 10

2.2 PDMLink . . . . 10

3 Metod 11 3.1 Krav . . . . 11

3.1.1 Java . . . . 11

3.1.2 Oracle databas . . . . 12

3.2 Apache Tomcat . . . . 12

3.3 Vaadin . . . . 12

3.4 Test . . . . 12

3.4.1 Genomg˚aende test . . . . 12

3.4.2 Anv¨andartest . . . . 13

4 Resultat 13 4.1 Design . . . . 13

4.1.1 Systemfl¨ode . . . . 13

4.1.2 Anv¨andargr¨anssnitt . . . . 14

4.1.3 Databas . . . . 15

4.2 Implementation . . . . 17

4.2.1 Klient . . . . 17

4.2.2 Server . . . . 18

4.3 Test . . . . 19

4.4 Optimering . . . . 19

5 Slutsats 19 5.1 Vidareutveckling . . . . 20

Referenser 22

Bilaga 1: Anv¨andarstudie 23

Bilaga 2: Ordlista 24

(8)

1 Introduktion

Volvo Information Technology1 supportavdelning handskas dagligen med sto- ra m¨angder loggdata. Loggdata genereras vid lagring och versionshantering av CAD-modeller2, som i sin tur ¨ar en del av konstruerandet av nya lastbilar.

CAD-modellerna ritas i konstruktionsprogrammet PRO Engineer och sparas i versionshanteringssystemet PDMLink3. All typ av aktivitet som sker i PDM- Link loggas, s˚a ¨aven fel. Det ¨ar d¨arefter upp till supportavdelningen att loka- lisera felen och vidta ˚atg¨arder. Fels¨okningen sker manuellt vilket ¨ar ineffektiv och tidskr¨avande. Ca 2 GB logfiler genereras per timme p˚a fyra separata noder och loggfilerna blir snabbt ohanterliga i dagens verksamhet.

Med hj¨alp av informationsutvinning (“datamining”)4och utveckling av ett nytt fels¨okningsverktyg ska fels¨okningsprocessen automatiseras och p˚a s˚a s¨att effek- tivisera det manuella s¨okandet.

1.1 Problemformulering

Rapporten granskar hur man kan automatisera fels¨okningsprocesser i PDMLinks loggfiler. Ett fels¨okningsverktyg ska utvecklas f¨or att centralisera och extrahera information som ¨ar intressant i ett fels¨oknings¨arende. Informationen ska vara enkelt presenterad f¨or anv¨andaren f¨or att effektivisera det manuella arbetet i produktionsmilj¨on.

1.2 Avgr¨ansning

Den metod som beskrivs i rapporten avser endast en prototyp. Det finns inget krav p˚a att implementera l¨osningen i praktiken. All utveckling sker i en separat testmilj¨o, parallellt med den befintliga produktionen. Dock utf¨ors samtliga tester baserat p˚a verkliga scenarion.

1.3 Syfte och m˚al

Syftet ¨ar att underl¨atta supportarbete av fels¨oknings¨arenden i PDMLinks logg- filer. Denna automatiserade s¨okningsprocess ska ers¨atta det nuvarande manuella arbetet. Supportavdelningen ska f˚a en tydlig ¨oversikt ¨over hur systemet m˚ar vid en specifikt tidpunkt, t.ex. felfrekvens etc.

a PDMLink inte ¨ar en egenutveckling fr˚an Volvo IT utan kommer fr˚an en ex- ternleverant¨or beh¨over Volvo IT ¨oppna support¨arenden mot leverant¨oren. Det ligger d¨arf¨or b˚ade i Volvo IT och leverant¨orens intresse att f˚a tydliga referenser

1Volvo Information Technology ¨ar ett globalt f¨oretag och ing˚ar i Volvokoncernen, i denna rapport f¨orkortat som “Volvo IT”

2CAD ¨ar en f¨orkortning av Computer-aided design, digital framst¨allning av ritningar inom konstruktion samt arkitektur. [10]

3PDMLink ¨ar ett versionshanteringssystem f¨or CAD-modeller, se avsnitt 2.2

4“datamining” ¨ar ett begrepp inom datavetenskapen, se avsnitt 2.1

8

(9)

till det uppkomna felet.

alet ¨ar att ta fram ett nytt fels¨okningsverktyg. Fels¨okningsverktyget ska m¨ojligg¨ora okning samt indexering baserad p˚a datum, loggdatatyp etc. Loggdata som kan ankas inneh˚alla felet ska presenteras p˚a ett enkelt och hanterbart s¨att f¨or per- sonen som genomf¨or fels¨okningen.

1.4 Omv¨arldsanalys

Volvo IT s¨oker idag manuellt i PDMLinks loggfiler efter fel. En typisk s¨okning kan g˚a till p˚a f¨oljande s¨att:

− Supporten f˚ar in ett ¨arende fr˚an kund om vad som kan t¨ankas vara fel. I asta fall f˚ar man ett felmeddelande men mer vanligt ¨ar en beskrivning om vad som gjordes precis innan felet uppstod.

− Med informationen man har f˚att f¨ors¨oker man ˚aterskapa felet alternativt leta direkt i loggfilerna efter det ursprungliga felet. Vanligt f¨orekommande hj¨alpmedel ¨ar kommandoradsverktygen5“grep” och “tail” f¨or UNIX.

− Om man lyckas lokalisera felet, och beroende typ av fel, v¨aljer man att

˚atg¨arda felet internt alternativt skickar vidare det till leverant¨oren.

a informationen ofta ¨ar kort fr˚an kunden som upplevde felet lyckas man inte alltid hitta eller ˚aterskapa felet.

1.4.1 Anv¨andarstudie

Baserat p˚a en anv¨andarstudie6, framkommer det att supporten upplever fels¨okningsarbetet sv˚arhanterligt och alltf¨or manuellt. Studien unders¨oker ¨overgripande supportav-

delningens dagliga fels¨okningsrutiner samt f¨orslag p˚a f¨orb¨attring.

Det ¨ar en resurskr¨avande process som tar mycket tid och ¨ar komplicerad att utf¨ora.

2 Bakgrund

Rapporten r¨or till stor del informationsutvinning d¨ar fokus ligger p˚a fels¨okning.

Detta till¨ampas ¨overgripande i hela l¨osningen. Data som i det h¨ar fallet ska be- handlas ¨ar loggfiler genererade av ett versionshanteringssystem f¨or CAD-modeller, PDMLink.

5“grep” utf¨or texts¨okningar i en eller flera filer och “tail” skriver ut de sista raderna i en fil [11] [13]

6Se “Bilaga 1: Anv¨andarstudie”, sida 23.

(10)

2.1 Datamining

“Datamining” ¨ar ett begrepp inom datavetenskapen som beskriver metoder att leta, hitta och extrahera data efter ett visst f¨ordefinierat m¨onster.[7]

2.1.1 Regulj¨aruttryck

Regulj¨aruttryck beskriver ett m¨onster som i detta fall anv¨ands vid extrahering av loggdata. Om en given str¨ang st¨ammer ¨overens med m¨onstret ¨ar det en kor- rekt matchning.

Det finns programvaror och webbtj¨anster som kan hj¨alpa till att konstruera regulj¨aruttryck.

Hj¨alpmedel som anv¨andes i denna rapport:

− RegExr - http://gskinner.com/RegExr/

− Regular Expression Test Page - http://www.fileformat.info/tool/regex.htm

− txt2re - http://www.txt2re.com

Exempel p˚a regulj¨aruttryck som anv¨ands av Log Search:

"2010-03-05": 20\\d\\d-[01][0-3]-[0-3]\\d

"Sun 3/27/11": ?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\\s([01]?\\d/[0-3]?\\d/(?:20)?\\d\\d

"18:27:32": [0-2]\\d:[0-5]\\d:[0-5]\\d

2.2 PDMLink

PDMLink ¨ar en form av versionshanteringssystem f¨or CAD- konstruktionspro- grammet PRO Engineer. PDMLink hanterar ¨aven lagring av CAD-modeller som konstrueras i PRO Engineer. Varje enskild installation av PDMLink ¨ar tillika ett enskilt versionshanteringssystem med sitt egna lagringsutrymme och databas.[4]

PDMLink best˚ar av tre delar:

− Webbserver som tar hand om gr¨anssnittspresentationen

− Filvalv d¨ar CAD-modellerna sparas

− Databas som hanterar all information kring varje in-checkad CAD-modell PDMLink erbjuder en rad verktyg och insticksmoduler vilka s˚aledes styrs av den lokala PDMLink installationen.

10

(11)

Den loggdata som genereras fr˚an PDMLink sker per installation och hamnar i underkataloger p˚a den nod som h˚aller installationen, i dagsl¨aget ¨ar detta fyra noder. Som tidigare n¨amnts kan loggdata se olika ut trotts att den kommer fr˚an ett och samma system, PDMLink. Detta beror p˚a att PDMLink k¨or flera olika processer parallellt.

3 Metod

Det manuella fels¨okningsarbetet ska ers¨attas av ett fels¨okningsverktyg som au- tomatiserar processen. Detta verktyg, kallat Log Search, ska utvecklas som en separat applikation, skild fr˚an den nuvarande produktionsmilj¨on. Log Search ska best˚a av tv˚a delar, anv¨andargr¨anssnitt och serverapplikation.

Anv¨andargr¨anssnittet kommer att hantera presentationen av data, i vilken sup- portavdelningen g¨or s¨okningar f¨or lokalisering av fel.

Serverapplikationen ska centralisera samt extrahera loggdata fr˚an PDMLinks samtliga loggfiler. En gemensam databas kommer skapas i syftet att fr¨amst lag- ra extraherad loggdata men ocks˚a s˚adant som tillh¨or anv¨andargr¨anssnittet, t.ex.

okningshistorik, systemstatus etc.

3.1 Krav

I stora organisationer, som Volvo IT, ¨ar det viktigt att framtidss¨akra nyut- veckling av programvaror. Vid val av likv¨al programmeringsspr˚ak som databas aste det finnas intern erfarenhet inom organisationen f¨or att st¨odja support samt vidareutveckling.

Volvo IT har tagit fram s¨arskilda best¨ammelser och krav f¨or vad som g¨aller vid nyutveckling.

3.1.1 Java

Log Search kommer att implementeras i Java f¨or att g¨ora systemet generiskt

¨over flera olika operativsystem men ocks˚a f¨or att uppfylla Volvo IT:s krav p˚a nyutveckling.

Det finns stora f¨ordelar med Java genom att det finns tydlig dokumentation samt stort st¨od f¨or API:er som kan underl¨atta och effektivisera programmerandet.[6, 3]

Volvo IT har l˚ang erfarenhet av Javautveckling och det kommer d¨arf¨or finnas goda resurser att underh˚alla systemet i framtiden. Ett t¨ankbart alternativ till Java f¨or implementeringen av servern var Python. Detta var dock aldrig aktuellt a framtida support av systemet inte kunde s¨akras.

(12)

3.1.2 Oracle databas

Systemet Log Search ska anv¨anda sig av en Oracledatabas f¨or lagring av data.

Detta enligt Volvo IT:s krav p˚a nyutveckling. [8, 5]

3.2 Apache Tomcat

Apache Tomcat ¨ar en serverapplikation fr˚an Sun Microsystems, numera ¨agt av Oracle, som m¨ojligg¨or k¨orning av program implementerade i Java via HTTP som en s˚a kallad “web service”. Efter att ha startat sitt Javaprogram i Apache Tomcat kan detta n˚as via webbl¨asaren, lokalt eller ¨over n¨atverk. Genom att implementera klientdelen av Log Search som en “web service” m¨ojligg¨or detta snabb och effektiv ˚atkomst f¨or Volvo IT:s supportavdelningen. [9]

3.3 Vaadin

Vaadin tidigare IT Mill Toolkit ¨ar ett gr¨anssnittsramverk f¨or Java som m¨ojligg¨or orning av “web service” p˚a Apache Tomcat. Ramverket erbjuder ett stort bib- liotek av grafiska komponenter och kan likst¨allas med Swing och dess MVC7 struktur. Det g˚ar snabbt att s¨atta sig in i hur ramverket fungerar med den do- kumentation som Vaadin tillhandah˚aller p˚a sin hemsida, inklusive exempel och guider.

Vaadin ¨ar ett utm¨arkt s¨att att snabbt och enkelt skapa gr¨anssnittsprototyper.

or att l¨agga mer tid och fokus p˚a serverapplikationen kommer klientdelen av Log Search anv¨anda sig av Vaadin. Vid en demonstration av Log Search kan anv¨andaren skapa sig en uppfattning om hur systemet ¨ar t¨ankt att se ut, sam- tidigt som Vaadin ¨ar l¨att att ers¨atta med Volvo IT:s eget ramverk JVS vid framtida implementering i produktionsmilj¨on. [1, 2]

Alternativ till Vaadin ¨ar Echo, ICEfaces, ZK och GWT (Google Web Toolkit).[14]

3.4 Test

3.4.1 Genomg˚aende test

Testet best˚ar av att extrahera data fr˚an loggfiler om minst 1 GB med hj¨alp av Log Search. Samtlig testdata tas fr˚an den befintliga produktionsmilj¨on. Genom manuella j¨amf¨orelser mellan Log Search databasen och ursprungsfilerna kontrol- leras om extraheringen har utf¨orts korrekt.

Eftersom det genereras 2 GB loggdata per timme, m˚aste Log Search hinna hantera minst 1 GB loggdata under 30 minuter f¨or att inte riskera alltf¨or stora ordr¨ojningar.

7MVC ¨ar en f¨orkortning av Model-View-Controller, en designstruktur som anv¨ands vid mjukvaruutveckling. [12]

12

(13)

3.4.2 Anv¨andartest

En demonstration av anv¨andargr¨anssnittet f¨or de t¨ankta anv¨andarna kommer utv¨ardera systemets anv¨andarv¨anlighet och om systemet ¨ar till¨ampbart i ett verkligt scenario.

4 Resultat

4.1 Design

Nedan f¨oljer ett fl¨odesschema som beskriver Log Search samt en skiss ¨over anv¨andargr¨anssnittet. Fl¨odesschemat g˚ar stegvis igenom hur loggfiler proces- sar, fr˚an att en ny loggfil uppt¨acks av systemet till dess data ¨ar extraherad och lagra i databasen.

4.1.1 Systemfl¨ode

ORACLE DB

EXTRACTED_DATA

LOGFILES Unresolved

Watcher

Log file Log file

Log file Log file

Consume supervisor

Consumer Watch

Archive

Watcher says hello!

Processing logfile...

Client

1. 3.

4.

5.

6.

6.

3.

2.

7.

Figur 1: Beskrivning av systemfl¨odet, fr˚an uppt¨ackandet av en ny loggfil till lagring av dess loggdata i databasen.

1. Loggfiler genererade av PDMLink exporteras till en gemensam mappstruk- tur som bevakas av Log Search.

(14)

3. “Consume supervisor” ber antingen “Watcher” skicka vidare filen f¨or ex- trahering av data, alternativt till “Unrevolved” i fallet d˚a “Consume su- pervisor” inte vet hur datat ska extraheras p˚a ett korrekt s¨att.

4. “Consume supervisor” startar en extraheringsprocess av loggdata och v¨antar a resultatet.

5. Det extraherade resultatet f˚as tillbaka av “Consume supervisor”.

6. Referenser till loggfilen p˚a disk skapas i databasen, den extraherade logg- datan lagras i databasen och den processade loggfilen arkiveras i mapp- strukturen “Archive”.

7. Klienten kan n˚a samtlig extraherad data i databasen.

4.1.2 Anv¨andargr¨anssnitt

+

- + Log Search Web Client

Search :

10 10 From : To:

keyworkd Field :

Show all Saved search File Edit Tools Help

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

agdsgsdgsdgnnvdn kdsnlnsdlnkv sdngl afsafsag dskjfnd

123

54 kabsfs

File: dngkjsdngkjnsd ID: dosingdsong Ref.: odsngjnsdgjnSd Checksum: 90327598732u

Figur 2: Skiss ¨over anv¨andargr¨anssnittet, s¨okning och presentation av loggdatan.

Anv¨andargr¨anssnittet best˚ar av en enkel listvy som presenterar samtlig loggda- ta fr˚an databasen. Till h¨oger ˚aterfinns en s¨okpanel med tillh¨orande s¨okhistorik,

14

(15)

manuellt sparad av anv¨andaren. Vid markering av en rad i listvyn visas detal- jerad information (k¨alla, k¨allans plats p˚a disk, ¨ovriga referenser m.m.) f¨or den markerade raden l¨angst ner i v¨anstra h¨ornet.

4.1.3 Databas ER-diagram

ER-diagram “Entity-Relationships”-diagram ¨ar en generell metod som anv¨ands vid databasdesign. ER-diagram kan ¨overs¨attas till en relationsmodell som re- presenteras direkt¨oversatt i databasen. [8, 5]

Log files has

ID

Source file

Extracted data File size

Parent

Last line

Checksum

Row number

Date

Type

Log info (Stack trace)

Exec code

Figur 3: Databasen representerad av ett ER-diagram.

(16)

Relationsmodell Log files

ID Source file Parent Last line Checksum File size

1 V081259version listener.log C:\WatchDir 313 a554d... 495693 2 BackgroundMethodServ... C:\WatchDir 206 dff44... 21378

Extracted data

File ID Row number Date Type Exec code Log info

1 34 2011-0... INFO wt.meth... [main] Starting BackgroundMeth...

2 52 2011-0... TRACE wt.meth... [WfSharedUserWorkQueue1.Pol...

1 12 2011-0... TRACE wt.meth... [main] JVM id: 5383 Tabell 1: Exempeldata presenterad i relationsmodellen f¨or Log Search.

16

(17)

4.2 Implementation

4.2.1 Klient

Figur 4: Sk¨armdump av webbklienten.

Log Search Web Client ¨ar gr¨anssnittet som anv¨andaren m¨oter vid s¨okningen bland f¨ardiganalyserad loggdata p˚a servern. Klienten k¨ors som en “web service”

a Apache Tomcat. Det kr¨avs ingen installation och man kan n˚a klienten fr˚an en webbl¨asare.

(18)

terat fr˚an databasen. Uppdateringen av data fr˚an databasen sker kontinuerligt i bakgrunden, vilket anv¨andaren allts˚a inte beh¨over bry sig om.

Log Search Web Client presenterar samtliga extraherade data fr˚an analyserade loggfiler samt referenser till dessa fysiskt p˚a disk.

Klienten har ett hj¨alpavsnitt som f¨orklarar dess funktioner samt ger exem- pel p˚a giltiga s¨okningar. Log Search Web Client kan n˚as fr˚an ett flertal olika webbl¨asare.

Anv¨andarprofil

Eftersom Log Search endast presenterar redan befintlig loggdata p˚a nytt och i ett mer anv¨andarv¨anligt gr¨anssnitt b¨or anv¨andaren ha tidigare erfarenheter av PDMLink. Log Search ¨ar allts˚a t¨ankt att agera hj¨alpverktyg f¨or de anv¨andare som redan genomf¨or s˚adan fels¨okning som Log Search avser, med andra ord fels¨okning i PDMLink.

4.2.2 Server

Serverapplikation Log Search Helper ¨ar skriven som en terminalapplikation som anv¨ander sig av Oracle JDBC biblioteket f¨or koppling mot databasen.

Log Search Helper som representerar serverdelen av Log Search ansvarar f¨or analysering och extrahering av loggdata. Log Search Helper bevakar kontinuer- ligt en f¨ordefinierad s¨okv¨ag p˚a disk efter nya eller ¨andrade loggfiler. Vid ny eller

¨andrad loggfil triggas en “supervisor” som i sin tur analyserar och extraherar relevant data till databasen.

Om filen redan finns i databasen letar “supervisorn” efter ¨andringar och skriver endast ej redan befintlig data till databasen.

Log Search Helper kan extrahera samt analysera data fr˚an PDMLinks logg- filer. Anv¨andaren kan utf¨ora s¨okningar, spara s¨okningar samt exportera valfritt antal loggfiler som ett Zip-arkiv. Log Search Helper saknar funktionalitet att utf¨ora rensning i databasen vilket tas upp som ett f¨orslag p˚a vidareutveckling i slutet av denna rapport.

Beskrivning av loggdata

Befintliga loggfiler har anv¨ants f¨or att observera vilken typ av loggdata som Log Search ska extrahera, det vill s¨aga vilka loggdata som ¨ar relevanta i ett fels¨oknings¨arende.

Nedan f¨oljer exempel p˚a tv˚a olika loggfiler som har observerats. Man kan se att bland annat datumformatet skiljer sig beroende p˚a vilken process i PDMLink som har genererat loggfilen. Notera ¨aven att positionen av loggmeddelandets typ skiljer sig, “ERROR” respektive “INFO”.

18

(19)

2011-03-27 18:41:45,511 ERROR wt.method.server.shutdown - Stopping services...

Sun 3/27/11 18:27:32: main: INFO : wt.method.server.startup - Services started.

4.3 Test

Oracle SQL Developer och Windows Task Manager anv¨andes under testet f¨or att ¨overvaka hur Log Search hanterade minnet samt skrivning till databasen.

Systemet lyckades analysera och extrahera data fr˚an loggfiler st¨orre ¨an 1 GB under 20 min. Efter manuella observationer uppskattades Log Search f˚anga 80%

av loggdatat som skulle extraheras.

De 20% loggdata som inte f˚angas av Log Search Helper lagras, som tidigare amnt (se Figur 1.), i en “Unresolved”-mappstruktur f¨or manuell hantering.

Anledning till att en del loggdata inte f˚angas av systemet beror p˚a antalet fall av regulj¨aruttryck som f¨ordefinieras. Allt eftersom man skapar f¨orst˚aelse f¨or nya fall kan dessa l¨aggas till i en s¨arskild “parser”-Javaklass.

4.4 Optimering

Systemet utg¨or en plattform att bygga vidare fr˚an. Det finns delar i systemet som beh¨over optimeras eftersom viss loggdata, enligt de test som har utf¨orts, sorteras bort och aldrig extraheras till databasen, med andra ord indexerar inte system samtliga fel i loggarna. ¨Aven de regulj¨aruttryck som anv¨ands vid onstermatchning p˚a servern kan konstrueras om f¨or att ge b¨attre matchning mot loggfilerna.

5 Slutsats

Utvecklandet av Log Search ¨ar ett tydligt exempel p˚a hur man kan automatisera manuellt arbete och d¨armed underl¨atta f¨or t.ex. supportavdelning p˚a Volvo IT.

Jag har f˚att b¨attre kunskaper i Java och har skaffat mig nya erfarenheter i ut- veckling av “web service” - applikationer. Jag fick en bra inblick i hur det ¨ar att utveckla i en stor organisation. Man m˚aste t¨anka l˚angsiktigt och se till att det finns resurser som kan underh˚alla det man har utvecklat.

Log Search kommer implementeras i praktiken efter ytterligare tester och an- passningar mot Volvo IT.

(20)

5.1 Vidareutveckling

ORACLE DB

EXTRACTED_DATA

ANALYSED_DATA LOGFILES Unresolved

Watcher

Log file Log file

Log file Log file

Consume supervisor

Consumer Watch

Archive

Watcher says hello!

Processing logfile...

Client

Analyser Please analyze some new data!

Stop consuming new log files!

Timer Time to analyze some data!

1. 3.

4.

5.

6.

6.

3.

2.

7.

7.

8.

9.

10.

11.

Figur 5: Beskrivning av systemfl¨odet, likt Figur 1. med f¨orslag p˚a vidareutveck- ling.

Log Search ¨ar ett komplett och fungerande fels¨okningsverktyg men det finns delar som kan vidareutvecklas, delvis n¨amnt i avsnitt 4.4, “Optimering”.

orslag p˚a vidareutveckling av Log Search:

− Rensningsprocess som givet ett datumintervall ser till att databasen inte axer sig f¨or stor.

− Ytterligare niv˚a i databasen, d¨ar man separerar extraherad r˚adata och analyserad data. R˚adata extraheras p˚a en mer generell niv˚a f¨or att in- te “missa” n˚agot fr˚an loggfilerna. Analyserad data genereras med j¨amna mellanrum, alternativt p˚a beg¨aran av anv¨andaren, och representerar d˚a en “f¨orfinad” databas.

− Log Search h˚aller reda p˚a redundans av loggdata. Vad redundans inneb¨ar i det h¨ar sammanhanget beror p˚a vad anv¨andaren definierar som redundans,

20

(21)

t.ex. loggdata med liknande “stack trace”, loggdata som exekverats fr˚an samma process runt ett givet klockslag, etc.

− Definiera fler “loggdatafall” i form av regulj¨aruttryck i “parser”-Javaklassen.

(22)

Referenser

[1] Marko Gronroos. Book of Vaadin: Vaadin 6.4. Vaadin Ltd, 2010.

[2] Vaadin Ltd. Vaadin - thinking of u and i - vaadin.com. http://www.

vaadin.com, Maj 2011.

[3] Inc. President, MindView. Thinking in java, 3rd ed. revision 4.0. http:

//www.it.uu.se/edu/course/homepage/devgui/vt10/material/tij/, Februari 2011.

[4] Parametric Technology Corporation (PTC). Windchill pdmlinkR ,R

control all the content and processes that drive product develop- ment. http://www.ptc.com/WCMS/files/125264/en/6291_WC_PDMLink_

DS_EN.PDF, 2011.

[5] Shamkant Navathe Ramez Elmasri. Fundamentals of Database Systems, , 6th edition. Addison-Wesley, 2010.

[6] Walter Savitch. Absolute Java, 3th edition. Addison-Wesley, 2008.

[7] David S¨odermark Simon Westerberg. Data mining. Technical report, CS - Ume˚a University, 2006.

[8] Tore Risch Thomas Padron-McCarthy. Databasteknik. Studentlitteratur AB, 2005.

[9] Wikipedia. Apache tomcat. http://sv.wikipedia.org/wiki/Apache_

Tomcat, Juli 2010.

[10] Wikipedia. Computer-aided design. http://sv.wikipedia.org/wiki/

Computer-aided_design, Juni 2011.

[11] Wikipedia. Grep. http://en.wikipedia.org/wiki/Grep, Juli 2011.

[12] Wikipedia. Model-view-controller. http://sv.wikipedia.org/wiki/

Model-View-Controller, Maj 2011.

[13] Wikipedia. Tail (unix). http://en.wikipedia.org/wiki/Tail_(Unix), Maj 2011.

[14] Wikipedia. Vaadin. http://en.wikipedia.org/wiki/Vaadin, Juni 2011.

22

(23)

Bilaga 1: Anv¨ andarstudie

Hur ofta gör du felsökningar i loggarna som genereras av PDMLink?

Ange vilka verktyg du använder dig av:

Hittar du alltid felet du söker efter?

Om nej, ange en eller flera orsaker:

- "Lyckas inte relatera återskapat fel till loggarna."

- "Ibland är det svårt att hitta felen eftersom det finns så många loggfiler i systemet + att det inte går att avgöra på förhand vilken maskin i klustret som felet uppkommit i."

- "Oftast därför att man inte orkar leta igenom alla loggarna på alla noderna för att hitta vart användarna träffat."

- "I vissa fall är loggningsnivån på PDMLink satt på ett sätt där vissa fel inte rapporteras alls eller bara till en viss gräns, då kan det hända att man inte hittar det man vill."

Nämn minst ett förslag på hur man skulle kunna effektivisera felsökning i PDMLink loggarna:

- "Centralisera samtliga loggar från alla fyra noderna."

- "Samla ihop alla loggar på ett ställe och skapa något intelligent sökverktyg för att effektivisera sökningen."

- "Slå samman loggarna i ett sökbart repository."

- "Att kunna söka genom alla logfiler på en gång med ett interface utan att behöva logga in på det olika pdmlink maskinerna."

- "Mer användarvänlig layout jämfört med vad man får i "vi". Exempelvis färgkodning.

Lätt sätt att filtrera ut information baserat på exempelvis tid, typ av meddelande, id etc."

Aldrig, 0 (0%) 1-3 ggr i månaden, 0 (0%) 1-3 ggr i veckan, 3 (60%) Fler än 3 ggr i veckan, 2 (40%)

0 1 2 3 4 5 6

Unixkommandot "grep"

Unixkommandot "tail"

Egenutvecklat Annat

Ja, 1 (20%) Nej, 4 (80%)

Annat:

- Textredigerarer för UNIX, t.ex. VIM - Open source

- Hobbyprojekt från forum så som Github, m.fl.

(24)

Bilaga 2: Ordlista

Volvo IT, Volvo Information Technology ¨ar ett globalt f¨oretag och ing˚ar i Vol- vokoncernen.

CAD, f¨orkortning av Computer-aided design, digital framst¨allning av ritningar inom konstruktion samt arkitektur.

PDMLink, ett versionshanteringssystem f¨or CAD-modeller, se avsnitt 2.2.

MVC, f¨orkortning av Model-View-Controller, en designstruktur som anv¨ands vid mjukvaruutveckling.

Informationsutvinning (“datamining”), ett begrepp inom datavetenska- pen, se avsnitt 2.1.

24

References

Related documents

ningar av dcn lokala faunan kan vara av stort intresse och ge lika stor tillfredsstallelse sonl att aka land och rikc runt pa jakt cftcr raritctcr till den privata

Rätten lät Svensson utförligt redo- göra för den vid denna tid mindre kända elektricitetens användning i galvaniska bad, hur han framställt elt eL batteri,

Liksom de övriga är den uppförd av kalksten samt putsad med undantag för omfattningar av huggen

bete för året med diplomutdelning till 28 avgående elever, har med denna termin fullbordat sitt tionde

” Sospesi betecknar det m ellantillstånd, det svälvande mellan salighet och fördömelse, bvari de fromina hedningarna befinna sig efter döden... På d elta ställe

stegrats, införa billi~aro arbe temoteder under takttaqanie av höjandat a v fabrikatets kvalitet ~enom förb~ttrin~ av konstruktion , material och et~ kontroll vid

Med hjälp av tekniken kunde de individanpassa inlärningen för eleverna, vilket de gjorde när de letade material på Internet som de senare skulle använda i undervisningen och det kan

The search engines Apache Lucene, Apache Solr and Elasticsearch (see chapter 3.5 Popular Choices) are considered related work since they are the result of research within the field