Alles over Splunk: Google voor machinedata

Thomas de Jong | 20 december 2017

Elk bedrijf produceert enorme hoeveelheden machinedata. Dat is data die wordt gegenereerd door bijvoorbeeld websites, applicaties, servers, netwerkapparaten en mobiele apparaten. Machinedata is een van de snelst groeiende en meest complexe onderdelen van Big Data. Er ligt hele waardevolle informatie verscholen in de enorme hoeveelheden logfiles, maar het is erg tijdrovend en moeilijk om de juiste informatie boven water te krijgen. Dat was voor Splunk de reden om een Google-achtige oplossing te verzinnen. Met Splunk wordt alle waardevolle machinedata verzameld en geïndexeerd, zodat het makkelijker te doorzoeken is. In dit artikel vertel ik je onder andere wat Splunk is, hoe het werkt en hoe je het kunt opzetten. En ik vertel je iets meer over machinedata en operationele intelligentie.

Machinedata? Operationele intelligentie? Eh..

Mijn oren klapperen ook bij alle mooie termen. Daarom begin ik dit artikel met een korte uitleg van veelgebruikte termen.

Big Data

Het verwerken van data om iets van te leren is niets nieuws. Maar door technologische vooruitgang en digitalisering produceren we zó veel data, dat het niet meer in klassieke databasesystemen verwerkt kan worden. Zulke grote datasets noemen we Big Data, en die moeten op een andere manier geanalyseerd worden. Big Data geeft bedrijven meer inzicht in de dagelijkse gang van zaken, om zo tot betere keuzes en strategische stappen voor de organisatie te komen. In dit artikel lees je meer over de opkomst van Big Data.

Machinedata

Zoals ik in de intro al schreef, vormt machinedata een belangrijk onderdeel van Big Data. Maar wat is machinedata eigenlijk? Machinedata is digitale data die gegenereerd wordt door bijvoorbeeld computers, mobiele telefoons, netwerkapparaten, websites en servers. Je kunt denken aan logbestanden vanuit een server, maar ook data van sensoren, informatie over de kliks op je websites en data over telefoonverkeer vallen onder machinedata.

Magazijn met archiefmappen, big data uit het verleden

Veel bedrijven beseffen zich niet dat er ontzettend veel waardevolle data voor het oprapen ligt.

Deze vormen van data zijn nooit bedoeld om op grote schaal geanalyseerd te worden, en daardoor zijn ze niet heel gebruiksvriendelijk. Het vinden en begrijpen van de juiste data is een tijdrovende klus, zéker in de hoeveelheden waarin we ze vandaag de dag hebben. (Ik hoorde laatst dat een zelfrijdende auto gemiddeld zo’n 4TB per dag aan data verzamelt. En daar moeten er over 3 jaar zo’n 10 miljoen van rondrijden!)

Operationele intelligentie

Waarom zoveel moeite doen om wat data te analyseren, zeg je? Simpel: operationele intelligentie. Operationele intelligentie (OI) is de tegenhanger van business-intelligentie (of BI). Beide disciplines gaan over het verzamelen van data, maar er is een belangrijk verschil: In BI analyseer je de data van gebeurtenissen in het verleden. OI geeft je de mogelijkheid om data realtime te analyseren, waardoor je mogelijke problemen voor kunt zijn. De schrijver van dit artikel gebruikt een mooie metafoor om het verschil uit te leggen: Het besturen van een bedrijf kun je vergelijken met autorijden. Als je jezelf achter het stuur zet, is BI wat je in de achteruitkijkspiegel ziet. Natuurlijk is dat bruikbare informatie, maar het is beter om vooruit te kijken. OI is wat je ziet als je door je voorruit naar buiten kijkt. Je ziet een gat in de weg al aankomen, en hebt nog tijd om het te ontwijken. Bij BI rijd je ineens in een kapotte auto, en ontdek je later het gat in de weg pas.

Met Splunk kijk je door de voorruit naar wat er in je bedrijf gebeurt. (credits: Thomas MacIsaac)

En zo komen we bij Splunk: een oplossing om de grote hoeveelheden machinedata in Big Datarealtime te verzamelen en tonen, zodat bedrijven aan operationele intelligentie kunnen doen.

Wat is Splunk?

Het bedrijf Splunk is in 2003 in San Francisco opgericht. Ze werken sindsdien aan verschillende softwareproducten, voor grote en kleine ondernemingen. Splunk zag dus al in een vroeg stadium de waarde van door machines gegenereerde data. En vooral de uitdaging die er in het analyseren van zulke enorme hoeveelheden data zit. Erik Swan, CTO en mede-oprichter van Splunk, noemt Splunk letterlijk “the ‘Google search engine’ for machine data”, en dat is in simpele woorden precies wat het is: een zoekmachine voor machinedata. In nog meer simpele woorden zorgt Splunk ervoor dat machinedata beter, sneller, soepeler en goedkoper gebruikt kan worden. Het maakt geen verschil of het om de IT-infrastructuur van je bedrijf gaat of om een clouddienst. Welke website of platform je ook gebruikt, achter de schermen schuilt een compleet universum aan ongestructureerde gegevens. Splunk helpt bedrijven om deze gegevens te verzamelen, organiseren en analyseren. Met de opkomst van Big Data en het Internet of Things wordt machinedata voor praktisch alle bedrijven steeds belangrijker. Splunk draagt bij aan operationele intelligentie. De software structureert machinedata op zo’n manier dat ook mensen met beperkte IT-kennis hun voordeel ermee kunnen doen. Het mooiste van Splunk is dat het zowel een analyse-, monitoring- en datavisualisatietool is. Het logische dashboard helpt om kansen voor de groei van je bedrijf te ontdekken, in de op het oog onmogelijke berg machinedata. De ontwikkeling van het internet en computers gaat nog steeds hard, en Splunk is hierin eigenlijk de volgende logische stap. Omdat onze computers steeds beter, sneller, slimmer en goedkoper worden, kun je ineens van alles met data die nog niet zo lang geleden praktisch waardeloos was. Splunk is een van de eerste bedrijven die zich hierop gestort heeft, en met succes.

De groei van Splunk in 3 feiten

  1. Er zijn meer dan 9000 bedrijven, overheden en universiteiten in meer dan 100 landen die Splunk gebruiken. Het wordt onder andere ingezet om klanten beter te begrijpen, fraude te voorkomen en kosten te reduceren.
  2. Volgens Forbes heeft Splunk in slechts 8 jaar na de lancering van hun product al 10% van de totale Big Data-analysemarkt in handen.
  3. Splunk heeft inmiddels 537 apps, waarmee je praktische alle logfiles kunt analyseren.

Google, maar dan anders

Zoals gezegd beschouwt Splunk zichzelf als de Google onder de Big Data-analysetools. Maar waar is dat eigenlijk op gebaseerd?

  • Splunk slaat alle logbestanden van je organisatie op en zorgt dat ze heel snel te doorzoeken zijn. Net als Google doet met alle pagina’s en bestanden op het internet.
  • Voor het doorzoeken van de logs gebruikt Splunk de Search Processing Language (SPL). Dit is een ‘taal’ die allerlei zoekopdrachten op het gebied van logbestanden ondersteunt. Door de SPL kan Splunk betekenis geven aan de enorme hoeveelheden data die het verwerkt. Vergelijkbaar met hoe jij en ik zoekwoorden gebruiken om iets te vinden.
  • Splunk indexeert alle machinedata die als tekst getoond kan worden. Verder worden er eigenlijk geen eisen gesteld aan de data, wat het een enorm flexibele tool maakt.
  • Splunk kan honderden terabytes per dag indexeren en een praktisch onbeperkte hoeveelheid gegevens bijhouden.
  • De dashboards in Splunk zorgen ervoor dat je al je systemen in 1 oogopslag in de gaten kunt houden. Zo kun je problemen al oplossen nog voordat je systemen er echt last van krijgen.

Producten van Splunk

Het product Splunk komt in 4 varianten: Free, Light, Enterprise en Cloud. Het bedrijf biedt ook nog gespecialiseerde diensten aan, maar daar gaat dit artikel niet over.

Splunk Free

Dit is de gratis variant van Splunk. Je kunt maximaal 500MB per dag aan data indexeren en je hebt maar 1 gebruikersaccount.

Splunk Light

Splunk Light is de lichtste betaalde variant, maar dat is vast geen verrassing. Deze versie is met name geschikt voor kleine IT-afdelingen. Je kunt per dag 20GB aan data indexeren en met maximaal 5 gebruikers tegelijk werken.

Splunk Enterpise

Deze variant van Splunk is voor grotere bedrijven. Je kunt oneindig veel data indexeren en hebt oneindig veel gebruikers.

Splunk Cloud

Splunk Cloud is hetzelfde als Splunk Enterprise, maar dan inclusief cloudhosting. Verderop behandel ik een aantal cases, daarin komen de verschillende varianten van Splunk nog terug.

Hoe werkt Splunk?

In de basis bestaat Splunk uit 3 verschillende componenten: de forwarder, de indexer en de search head.

De 3 componenten waaruit Splunk bestaat

Splunk bestaat uit 3 componenten: de forwarder, indexer en search head.

Forwarder

We beginnen bij de forwarder. De forwarder staat aan het begin van de keten, waar de ruwe data verzameld wordt. De forwarder verzamelt de data uit verschillende bronnen en stuurt die naar een indexer, in real-time. Afhankelijk van de versie, gebruikt Splunk 2 of 3 soorten forwarders:

  • een universal forwarder, die alleen de essentiële functies heeft om data te verzenden. Het is de beste tool om data naar indexers door te sturen. Het enige probleem is dat ‘ie alleen unparsed data aankan. Om event-gebaseerde data naar een indexer te sturen, heb je zwaarder gereedschap nodig.
  • de heavy forwarder is dat zware gereedschap. Er zijn wel een paar functionaliteiten uitgezet, om het systeem minder te belasten. Deze forwarder kan dus ook parsed data aan. Dat is data waar bijvoorbeeld al een tijdstip of oorsprong aan gekoppeld is.
  • de light forwarder, hoewel je deze vanaf versie 6.0.0 niet meer terugvindt. Eigenlijk is de universal forwarder in alle opzichten een betere keuze.

Indexer

In een compleet Splunk-systeem sturen de forwarders de verzamelde data naar een indexer. Een indexer vormt ruwe data om naar events, wat ze doorzoekbaar maakt. De resultaten worden in een index geplaatst. De indexer verwerkt de inkomende data van de forwarder ook weer in real-time, en slaat de geïndexeerde data ook op. Een indexer gooit ook alle overbodige data weg, en speelt daarmee dus ook een belangrijke rol in het ‘gewicht’ van een Splunk-systeem.

Search head

In kleinere systemen is de user interface van Splunk direct gekoppeld aan de indexer. Maar omdat klein bijna niet meer bestaat, wordt er meestal gebruikgemaakt van een search head. Die zet meerdere indexers aan het werk, handelt alle zoekopdrachten af, en zorgt voor de terugkoppeling aan de gebruiker. De overtreffende trap is het search head cluster, waarbij meerdere search heads samenwerken.

Splunk in de praktijk

Om verder uit te leggen hoe Splunk werkt, heb ik wat praktijkvoorbeelden gezocht. Die heeft Splunk gewoon op hun site staan, maar ik heb ze samengevat en vertaald. We bekijken 3 voorbeelden: een van Splunk Light, een van Splunk Enterprise en een van Splunk Cloud.

Splunk Light bij het LCAD

Het Laguna College of Art and Design (LCAD) is een school in de Verenigde Staten. De IT-infrastructuur moet 500 studenten ondersteunen, die over 5 locaties verdeeld zijn. Het LCAD wilde vanuit een centraal punt meer inzicht krijgen in hun servers en het netwerk. Ze willen daarmee de kosten verlagen, efficiënter werken en ze moesten voldoen aan een aantal wettelijke eisen. Het IT-team van het LCAD bestaat uit 2 personen. Ook werd er niet meer dan 20GB data per dag geïndexeerd, dus was Splunk Light de beste oplossing. Oorspronkelijk wilden ze Splunk gebruiken om syslog-data te bundelen, maar inmiddels gebruiken ze Splunk ook voor andere zaken, zoals het tegen elkaar afzetten van de DHCP-server en Active Directory-server. Zo krijgen ze inzicht in de activiteit in hun firewall. Voordat ze Splunk hadden, gingen ze elke vrijdagmiddag langs alle servers en netwerkapparaten om de logs te checken op fouten. Dat duurde minstens 4 uur. Met Splunk is dit teruggedrongen tot een taak van slechts 10 minuten.

Splunk Enterprise bij Recursion Pharmaceuticals

Recursion Pharmaceuticals heeft zichzelf een doel gesteld. Ze willen in 2025 nieuwe behandelingen hebben ontwikkeld voor 100 genetische ziektes. Daar gebruiken ze een innovatieve combinatie van biologie, automatisering en machine learning voor. Op dit moment gebruiken ze gerobotiseerde microscopen die elke dag tienduizenden afbeeldingen maken van celculturen. Ze produceren daarbij meerdere terabytes aan data per dag. Recursion had moeite om die enorme hoeveelheid data in goede banen te leiden. Zeker omdat de hoeveelheid TIFF-bestanden die de microscopen produceren in 10 maanden met 800% is toegenomen. Het zijn er nu 700.000 per week (!).

De microscopen van Recursion creëren enorme hoeveelheden data.

Het mag duidelijk zijn dat Recursion niet genoeg heeft aan Splunk Light, dus hebben ze Splunk Enterprise aangeschaft. Recursion heeft een machine learning-systeem gebouwd dat dagelijks terabytes aan bestanden analyseert. Zo willen ze nieuwe behandelingen ontdekken. Dit systeem is volledig geïntegreerd met Splunk. Zo ontdekken ze bij Recursion direct de samenhang tussen verschillende experimenten. Direct, en niet pas maanden later. Daarnaast is veel apparatuur van Recursion aangesloten op het internet, waaronder de gerobotiseerde microscopen. Splunk indexeert ook de logbestanden van al deze apparatuur, zodat het team van Recursion de complexe processen nauwkeurig in de gaten kan houden.

Splunk Cloud bij PagerDuty

PagerDuty is een bedrijf dat je kunt inschakelen als je IT-problemen in je organisatie hebt. Zij zorgen ervoor dat je IT dan snel weer online is. Ze maken al gebruik van de cloud voor hun dienstverlening, dus toen ze oplossing zochten voor hun analysewensen, was Splunk Cloud een logische stap. Door Splunk Cloud te gebruiken in combinatie met de clouddiensten van een grote Amerikaanse cloudhoster, garanderen ze high availability van hun diensten, en kunnen ze eenvoudig meeschalen met de wensen van klanten. Voordat Pagerduty Splunk Cloud gebruikte, hadden ze een andere oplossing voor het in de gaten houden van hun logbestanden. Deze oplossing kon niet meegroeien met het bedrijf, waar ze inmiddels honderden gigabytes per dag aan data indexeren. Toen bleek dat Splunk Cloud ook nog 30% goedkoper was, was de keuze snel gemaakt. Daarnaast is Splunk Cloud veel sneller in het tonen van de benodigde informatie. In de oude situatie duurde een zoekvraag soms wel 30 minuten. Die tijd is nu teruggebracht naar minder dan 10 minuten, soms zelfs maar een paar seconden.

Hoe zet je Splunk op?

Het installeren en gebruiken van Splunk is erg gemakkelijk. Hieronder vertel ik je kort per versie wat de systeemeisen zijn, en hoe je met Splunk aan de slag kunt. Splunk Free sla ik over, dus we beginnen bij de light-versie. In dit overzicht behandel ik alleen versie 7.0.1.

Splunk Light

Deze versie draait op Windows, Linux en Mac OS. Je hebt altijd een 64-bit versie van het besturingssysteem nodig. De aangeraden hardware bestaat uit 2 6-core processors, meer dan 2 Ghz CPU en 12 GB RAM. Light draait vanaf Linux 2.6, Mac OS X 10.11, 10.12 en 10.13. Voor Windows heb je minimaal Windows Server 2012, Server 2012 R2 of Server 2016 nodig. Ook draait het op de desktopversies Windows 8.1 en 10.

Splunk Enterprise

De hardware-eisen voor de Enterprise-versie verschillen niet van de light-versie, behalve op 1 punt: het draait niet op desktops. Je hebt dus in ieder geval Windows Server 2012, Server 2012 R2 of Server 2016 nodig. Ook draait het niet op Mac OS. Daarnaast wordt het voor Enterpise sterk aangeraden om een server te gebruiken die met SSD werkt. Deze razendsnelle harde schijven zijn vooral belangrijk als je heel veel data wilt verwerken. Voor Splunk Cloud geldt dat je de benodigde hardware direct bij Splunk afneemt. Je kunt er voor het gemak vanuit gaan dat dat wel voldoet aan de minimale systeemeisen.

Data toevoegen aan Splunk Enterprise

Zodra je Splunk geïnstalleerd hebt, is het tijd om data toe te voegen. Dat hoeft gelukkig niet handmatig, maar je moet Splunk wel even laten zien waar de data staat. Wat voor data dat is, maakt eigenlijk niet uit. Er is een verschil tussen lokale data en externe data. Lokale data is data die op dezelfde machine staat als de indexer. Externe data staat op een andere machine dan de indexer. Als het om lokale data gaat, hoef je alleen te laten zien waar de betreffende data vandaan komt. Voor externe data moet je een forwarder installeren op de machine waar de data ontstaat. Er zijn verschillende apps en add-ons voor veel voorkomende vormen van data, waarmee je waarschijnlijk al een groot deel van de te indexeren data direct kunt toevoegen. Een kind kan haast de was doen, en dat is precies wat Splunk zo’n geweldige tool maakt.

Installeren op een VPS of VPC

Je kunt Splunk ook op een virtuele server installeren, zoals een VPS of VPC van SoHosted Cloud. We hebben verschillende pakketten, maar je kunt via ons nieuwe portal ook zelf je virtuele server samenstellen. Het grote voordeel is dat we alleen maar SSD’s voor onze opslag gebruiken, dus je kunt je data snel doorzoeken. Je kiest ook zelf welk besturingssysteem je wilt gebruiken.