Utvecklarna kopplades in

Serverplattformen var färdig bara några dagar senare, men för att kunna indexera loggarna så detaljerat som Kambi ville, behövde företagets applikationsutvecklare kopplas in. Loggarna som genererades var inte helt enhetliga, och det var svårt att förstå sammanhanget bakom vissa meddelanden. När de bara lästes av människor gick det väl an, men nu måste mjukvara kunna tolka ifall ett fält är en felkod, en tidangivelse eller en ip-adress, så it-avdelningen behövde komma överens med utvecklarna om en standard.

Runt julhelgen växlade så Kambi över helt och hållet till det nya systemet, omkonfigurationen gick snabbt tack vare att allt redan styrdes centralt med automatiseringsverktyget Puppet.

– Nu har vi en produkt som vi är riktigt nöjda med, på en del områden har den till och med bättre funktionalitet än Splunk, säger Kris Saw.

Logstash används av flera olika grupper inom Kambi. Förutom de som jobbar med drift och övervakning använder även företagets utvecklare verktyget när de provar nya versioner av sina applikationer i testmiljön. De arbetar agilt och sjösätter normalt en ny mjukvaruversion varannan vecka, så den loggade informationen söks igenom och analyseras dagligen.

kibana
Kambi kör det webbaserade sökverktyget Kibana, både version 2 och version 3. Tvåan är en serverbaserad php-applikation, medan trean
gjordes om från grunden och helt körs som Javaskriptkod i webbläsaren.


Kibana gör det enkelt att se alla detaljer i en loggad händelse. (Viss känslig information har maskerats på bilden).

Lätt att söka med Kibana

Det viktigaste användargränssnittet är webbgränssnittet Kibana, som gör det enkelt att söka fram och filtrera ut den information man behöver, och åskådliggöra den i grafer. Men utvecklarna hämtar också statistik och felmeddelanden automatiskt, direkt ur databasen.

– Elasticsearch är kanske inte lika användarvänligt som Splunk, men däremot mer utvecklarvänligt då det använder json i stället för xml. Fast visst var det en utmaning för utvecklarna att börja använda nosql-databasen Lucene i stället för någon sql-databas, konstaterar Kris Saw.

Som sagt behövde Kambi styra upp formatet på sina egna applikationsloggar. Alternativet hade varit att skapa invecklade inmatningsfilter i Logstash som gör jobbet fortlöpande. Elasticsearch fungerar mycket bättre om man berättar för det vilka olika uppgifter som ingår i en viss sorts logg, så det är lite mindre förlåtande än Splunk när det gäller att söka igenom helt oformaterade data.

– Splunks styrka är att man inte behöver bry sig om dataformatet, medan Logstash styrka är just att man behöver bry sig, och får värde för den ansträngningen. Det är viktigt att ha korrekt konfigurerade inmatningsfilter i Logstash, säger Kris Saw.

Besvikna på dokumentationen

Visst har Kambis skifte drabbats av en del problem, men de har inte varit många. Dokumentationen för Elasticsearch var en besvikelse, och eftersom Elasticsearch inte gör några säkerhetskontroller på egen hand måste Kambi först autentisera användarna i en proxyserver baserad på Apache.

3 miljarder händelser

I dag har Kambi drygt 3 terabyte med mer än 3 miljarder loggade händelser indexerade i Elasticsearch, det räcker för ungefär 30 dagars historik innan informationen gallras ut. Extra viktiga loggar, till exempel de som berättar om de transaktioner som genomförs, arkiveras även i textformat för framtiden.

Nästa steg för Kambi är att dubblera varje Elasticsearch-server för att minska risken för att loggad information försvinner i samband med driftstörningar.

– Dessutom har vi precis börjat använda Logstash för Windowsservrarna, berättar Lezgin Bakircioglu, infrastrukturansvarig.

TechWorlds slutsats

Kambi är väldigt nöjda med sin nya plattform för att samla in och analysera loggar. Den kräver lite mer planerings- och arkitekturarbete än den gamla, kommersiella lösningen, men vissa funktioner är bättre i dag och framför allt kan Kambi nu spara hundra gånger mer loggdata än vad som hade varit ekonomiskt rimligt förut.

Tack vare att alla delar av systemet är öppna kan Kambi enkelt byta ut eller komplettera funktioner med någon annan mjukvara. De har dessutom kunnat skräddarsy systemet precis som de ville, med lagringen distribuerad i alla datacenter men där sökningen görs globalt.

Implementationen gick också mycket smidigt, delvis tack vare att de redan innan hade satsat på att automatisera och centralstyra mycket av driftarbetet. Men en annan orsak till den lyckade konfigurationen var just att Kambi höll ett hackathon, där tekniker från olika grupper samarbetade och snabbt kunde komma fram till en lösning.

Sida 2 / 2

Innehållsförteckning

Fakta

Företaget bakom Elasticsearch deltar även i utvecklingen av Logstash och Kibana. De tre projekten kallas ibland för ”ELK-stacken”: www.elasticsearch.org/overview
Ett annat bra verktyg för att visualisera loggarna: grafana.org