Van data source naar storage requirements

Het starten van een Splunk implementatie loopt via een bepaald stramien. De zaken die behandeld worden zijn onder andere Splunk users, doelen, data input sources, user categorieën en use cases. Vandaag wil ik twee zaken oppakken te weten de data input source en storage requirements. Deze twee zijn namelijk met elkaar verbonden.

capaciteitOp het moment dat je een Splunk infrastructuur wilt gaan bouwen is de capaciteit (en performance) van de storage oplossing misschien wel het allerbelangrijkste. Echter zonder gedegen inschatting van de hoeveelheid data die je wilt gaan indexeren is het lastig om de juiste capaciteit in te schatten. Ik ga je helpen!

Waar komt mijn data vandaan?

We beginnen met het groeperen van alle data die we willen doorzoeken. Stel dat we de volgende bronnen hebben; cisco firewall, juniper firewall, proxy, Linux syslog, Windows server data, web logs, e-commerce. Als je dit vereenvoudig komen we op de volgende data sources; firewall, proxy, Linux syslog, Windows server, Webserver logs, E-commerce logs.

Dit worden onze losse indexen.

Nu moeten we gaan bepalen hoeveel storage we nodig hebben.

Hoeveel schijfruimte heb ik nodig?

Zoals je misschien weet is de Splunk licentie gebaseerd op de hoeveelheid data die Splunk per dag te verwerken krijgt. De eerste variabele is dus de hoeveelheid data per data source per dag. Dit kun je bepalen door de data uit de bron voor 1 dag te verzamelen in een licentie vrije Splunk installatie of je verzamelt de data op een andere manier en haalt daar een gemiddelde waarde uit.

De tweede variabele is de tijd dat je data wilt gaan bewaren. Splunk slaat alles op wat je hem voedt maar misschien wil je bepaalde data maar voor een bepaalde periode bewaren omdat de data niet langer relevant is. Dit noemen we ook wel retentie tijd.

De laatste variabele is de compressie ratio. Splunk slaat de data niet allemaal ruw op maar verkleind de data om zo optimaal door de data te kunnen spitten maar ook om de last op de opslag te verminderen. Een goede compressie ratio is 50%. Dit is een getal wat Splunk zelf als waarde meegeeft. Dit is een gemiddelde maar dat zijn alle variabelen in deze berekening.

Nu we de belangrijkste variabelen hebben kunnen we er een mooi tabelletje van maken.

No.Data Source Volume(Gb) per Dag Rententie Tijd (maanden) Gem dagen per maand Compressie Ratio Storage Req(Gb)
1Proxy 15 1 30.4375 50% 228.28
2Proxy 20 12 30.4375 50% 3652.5
3Proxy 15 12 30.4375 50% 2739.38
4Proxy 15 12 30.4375 50% 2739.38
5Proxy 50 36 30.4375 50% 27383.75
6Proxy 45 36 30.4375 50% 24654.38
7 TOTAL:160 TOTAL:61407.67

Voor bovenstaande tabel heb ik fictieve data gebruikt. Om de laatste kolom te vullen gebruik ik de volgende formule: ( Volume(Gb) per Dag ) * ( Retentie Tijd in dagen) * 0.5.

Bovenstaand verhaal gaat nog niet in buckets of het spreiden van data over meerdere indexers.

Wat zijn Splunk buckets precies?

Er zijn in Splunk drie soorten buckets; hot/warm, cold en archived (frozen). Buckets zijn bakjes data op de harde schijf. Hot/warm buckets zijn bedoelt voor data die vaak gaat raadplegen, cold buckets bevatten data die je niet zo frequent opvraagt en archived of frozen buckets bevatten data die je niet kunt opvragen maar later misschien wel nog wilt gebruiken. Het verdelen van data over deze buckets is belangrijk omdat dit inpakt heeft op de hoeveelheid schijfruimte die je nodig hebt en de performance van je zoekopdrachten.

Hoeveel Splunk indexers heb ik?

Splunk maakt gebruik van het MapReduce principe. Dit wil zeggen dat Splunk data verspreidt opslaat over meerdere systemen als dit kan. Hoe meer systemen er komen hoe meer Splunk in staat is om een opdracht op te knippen en door losse systemen te parallel te laten uitvoeren. Dit geeft een hogere performance en zorgt er ook voor dat als er een Indexers wegvalt de andere Indexers nog data geven al is dat niet alle data. Als je dat ook nog wilt kun je ook Index Replication gaan toepassen waarbij alle Indexers altijd alle data hebben.

Hoe komt mijn berekening er dan uit te zien?

Van harte welkom aan de Spunk Sizing Calculator. Vul hier in de eerste stap de hoeveelheid data in die je per dag gaat of verwacht te gaan indexeren. Laat de compressie en metadata grootte maar even op default staan. In de volgende stap ga je, o.b.v. de retentieperiode van je data, je buckets indelen. Kies vervolgens het aantal nodes en je krijgt een overzicht van de benodigde schijfruimte.

splunk-sizing-calculator

Ik hoop dat bovenstaand verhaal jullie helpt met het bouwen van een schaalbare en toekomst vaste Splunk implementatie. Vragen staat uiteraard vrij.

Over Coen Meerbeek

Splunk consultant @ Blue Factory, eigenaar en oprichter @ BuzzardLabs, basketbalspeler en Xbox-gamer. Lees meer van Coen op Launchers.nl en Twitter.

Laat wat van je horen

*