Splunk

In 2014 leerde ik Splunk kennen en sindsdien ben ik een grote fan van dit pakket. Ik heb het pakket met succes ingezet om de logbestanden van een zeer grote intranet site in te lezen en hier diverse management rapportages uit te genereren maar ook rapporten voor technisch applicatiebeheer. Splunk is een pakket dat ontstond in 2004 en van oorsprong bedoeld was om data van vooral technische logfiles te analyseren. De laatste jaren is Splunk verschoven naar alle vorm van logging, eigenlijk is het mogelijk om alle (diverse) vormen van logging in te lezen in Splunk. Splunk zelf herkent al een enorm aantal logbestand types, maar wanneer het formaat niet herkent is kunt u zelf de structuur aangeven. Splunk zal alle data inlezen, uit elkaar trekken en als events in tijd opslaan in indexen. Daarna kunt u door middel van de zoektaal alles wat maar enigszins overeenkomt (zelfs uit verschillende soorten logbestanden) aan elkaar koppelen in soms hele complexe rapporten. Deze rapporten kunt u weergeven als gewone tabellen maar ook in allerlei soorten diagrammen en presentaties die u kant en klaar kunt doorsturen naar de opdrachtgever.

Het gebruik van Splunk

Splunk In 2010 begint Big Data echt op te komen en Splunk past zich hier op aan met een uitbreiding van functionaliteiten waardoor het pakket uitstekend te gebruiken is als een Big Data tool. De basisgedachte van Splunk is Google voor logdata sets er is wel enige gelijkenis met Google. Splunk draait ook in een webbrowser en bevat bij de start een overzicht van alle geïmporteerde databronnen (onder) en een grote zoekbalk. Het grote verschil is wel de behoorlijk krachtige maar ook zeer complexe zoektaal van Splunk wat bijna een programmeertaal op zich is. Na het nemen van de redelijk hoge leercurve is het wel een geweldige krachtige taal die uiteindelijk ook wel erg logisch werkt.

Nog een indrukwekkende feature van Splunk is de contextafhankelijke suggesties van zoekopdrachten en de mogelijkheid om in het rapport of de tijdsbalk te klikken waarna dit item gelijk als nieuwe filter aan de zoekbalk zal worden toegevoegd. Het is zo mogelijk om heel snel op een enorme hoeveelheid data in te zoomen tot het item (of items) die u zocht. Uiteindelijk is het weer mogelijk om zelfs tot de ruwe webserverdata in te zoomen, zelfs de ruwe data is aanklikbaar! Daarbij komt dat Splunk met werkelijk bijna alle data kan omgaan: webclicks, business data, SQL, smart meters, sensoren, GEO-data, GPS-data, chats, call center, IT metrics, social media, enz. Al deze data is te combineren wanneer er een aanknopingspunt gevonden kan worden.

Splunk is wel afhankelijk van redelijk wat geheugen en snelle diskopslag want het maakt geen gebruik van een database maar het filesysteem voor het opslaan van zijn eigen indexen. Dit gebeurt in zogenaamde buckets die in hun filenaam al informatie hebben over hun inhoud en zeer snel doorzoekbaar zijn. Het systeem is eenvoudig als één pakket op één computer te installeren, maar kan ook in allerlei geclusterde configuraties opgezet worden waarbij zelfs naar gelieve servers bij te schakelen zijn of af te koppelen, afhankelijk van de drukte.

Splunk heeft zeer goede (Engelstalige) documentatie en een zeer actief gebruikersforum, wanneer u een vraag post op Internet kunt u veel voorbeelden en oplossingen vinden. Splunk heeft echter ook een nadeel, bij bedrijfsmatig gebruik (>500 MB per dag) is Splunk redelijk prijzig maar uiteindelijk de prijs ook wel waard. Alleen moet dit soms even duidelijk gemaakt worden aan de organisatie. Splunk is gratis voor kleine gebruikers, u kunt het gratis downloaden en volledig gebruiken op uw eigen laptop of pc., zowel onder Windows, IOS als Linux.

Splunk documentatie

Als eerste kunt u kijken op de pagina van Splunk zelf met "Quick Guide to Getting Started, Videos, classes, documentation and more", deze site is wel geheel Engelstalig.
Klik hier voor de site van Splunk.


Op deze pagina staat een Nederlandstalig stappenplan waarmee u zelf Splunk binnen 15 minuten kunt installeren op een eigen computer. Splunk is gratis te proberen, alle functies werken maar er kan maar een beperkte hoeveelheid data per dag ingelezen worden.
Klik hier voor het stappenplan.


Hier staat een goed Nederlandstalig artikel over Splunk voor webstatistieken.
Klik hier voor het artikel.


Er is een heel goed Engelstalig Ebook in PDF formaat (154 pagina's) over alle mogelijkheden van Splunk en de zoektaal syntax. Zoek op Exploring_Splunk.pdf via Google en download het Ebook.

Splunk hints en tips

Zoekopdracht uitsplitsen per tijdseenheid!
Soms is er de wens om een zoekopdracht uit te splitsen in een aantal per uur. Dit kunnen we doen door een variabele toe te voegen waarin we het uur onderdeel uit de timestamp halen. Dit kunnen we doen door middel van het toevoegen van | eval hour=strftime(_time,"%H:00") | waarna we door middel van de count() functie het aantal kunnen tellen en het resultaat kunnen verdelen in uren door de toevoeging by hour (onze variabele) aan de chart opdracht.

uri="*test1*" | eval hour=strftime(_time,"%H:00") | chart count(uri) by hour

Resultaat:

00:001660
01:001581
02:001394
03:001335
04:001537
05:002599
06:0012475

Natuurlijk kan de uitsplitsing op elk onderdeel van de datum en tijd plaatsvinden, er zjn voor de meest gebruikte varianten ook voorgedefineerde waardes beschikbaar.

uri="*test1*" | eval daymon=date_month | chart count(uri) by daymon

Resultaat:

daymoncount(uri)
december279603
january635398

Ook kunt u meerdere datum tijd variabelen combineren om verder uit te splitsen.

uri="*test1*" | eval daymon=date_month + " - " + date_mday | chart count(uri) by daymon

Resultaat:

daymoncount(uri)
january - 335488
january - 4129540
january - 57210
january - 68100


Namen van kolommen aanpassen.
Het is mogelijk zelf de namen van de kolommen te kiezen door de toevoeging van as Naam aan een veld in de chart.

uri="*test1*" | eval MaandDag=date_month + " - " + date_mday | chart count(uri) as Aantal by MaandDag

Resultaat:

MaandDagAantal
january - 4129360
january - 57210


Uitsplitsen in meerdere kolommen per tijd.
Dit is een al wat complexer voorbeeld waarbij een telling van aantal verschillende urls uitgesplitst in tijd met zelfgekozen kolomnamen.

uri="*test1*" | eval daymon=date_month | chart count(eval(match(uri,"/nieuws/"))) AS Nieuws count(eval(match(uri,"/operationeel/"))) AS Operationeel count(eval(match(uri,"/politie/"))) AS Organisatie count(eval(match(uri,"/personeel/"))) AS Personeel count(eval(match(uri,"/ondersteuning/"))) AS Ondersteuning count(uri) AS Totaal by daymon

Resultaat:

daymonNieuwsOperationeelOrganisatiePersoneelOndersteuningTotaal
january 343592769033286817946247
january 4118621062243269112711129540
january 5600781456885457210


Sorteren op weekdagen.
Soms wilt u de uitvoer niet aflabetisch sorteren maar op een eigen volgorde zoals de dag van de week. De meest eenvoudige methode is een conversie via eval en er een nummer voorzetten, bijkomend voordeel is dat je zelf de namen van de dagen kunt bepalen en zo Nederlandstalige namen kunt gebruiken. Nog een onderdeel van dit voorbeeld is dat je zo twee dagen kunt combineren in weekend.

uri="*test1*" | eval wd=lower(date_wday) | eval Weekdag=case(wd=="monday","1 Maandag", wd=="tuesday","2 Dinsdag", wd=="wednesday","3 Woensdag", wd=="thursday","4 Donderdag", wd=="friday","5 Vrijdag", wd=="saturday","6 Weekend", wd=="sunday","6 Weekend") | chart count(eval(match(uri,"/nieuws/*"))) AS Nieuws by Weekdag

Resultaat:

WeekdagNieuws
1 Maandag96994
2 Dinsdag24499
3 Woensdag82299
4 Donderdag94960
5 Vrijdag66314
6 Weekend37292

 

Boeken over Splunk

boekboek bestellenBig Data Analytics Using Splunk is a hands-on book showing how to process and derive business value from big data in real time. Examples in the book draw from social media sources such as Twitter (tweets) and Foursquare (check-ins). You also learn to draw from machine data, enabling you to analyze, say, web server log files and patterns of user access in real time, as the access is occurring. Gone are the days when you need be caught out by shifting public opinion or sudden changes in customer behavior. Splunk's easy to use engine helps you recognize and react in real time, as events are occurring. Splunk is a powerful, yet simple analytical tool fast gaining traction in the fields of big data and operational intelligence. Using Splunk, you can monitor data in real time, or mine your data after the fact. Splunk's stunning visualizations aid in locating the needle of value in a haystack of a data. Geolocation support spreads your data across a map, allowing you to drill down to geographic areas of interest. Alerts can run in the background and trigger to warn you of shifts or events as they are taking place. With Splunk you can immediately recognize and react to changing trends and shifting public opinion as expressed through social media, and to new patterns of eCommerce and customer behavior. The ability to immediately recognize and react to changing trends provides a tremendous advantage in today's fast-paced world of Internet business. Big Data Analytics Using Splunk opens the door to an exciting world of real-time operational intelligence. * Built around hands-on projects * Shows how to mine social media * Opens the door to real-time operational intelligence

boekboek bestellenSplunk Essentials EBOOK, Auteur: Betsy Page Sigman. (Ebook) This book is intended for a business person, analyst, or student who wants to quickly learn how to use Splunk to manage data. It would be helpful to have a bit of familiarity with basic computer concepts, but no prior experience of Splunk is required.

boekboek bestellenSplunk is a data collection, indexing, and visualization engine for operational intelligence. It's a powerful and versatile search and analysis engine that lets you investigate, troubleshoot, monitor, alert, and report on everything that's happening in your entire IT infrastructure from one location in real time. Splunk collects, indexes, and harnesses all the fast moving machine data generated by our applications, servers, and devices - physical, virtual, and in the cloud. Given a mountain of machine data, this book shows you exactly how to learn to use Splunk to make something useful from it. Depending on your needs, you can learn to search, transform, and display data, or learn to administer your Splunk installation, large or small. "Implementing Splunk: Big Data Reporting and Development for Operational Intelligence" will help you get your job done faster, whether you read from the beginning or jump to what you need to know today. New and experienced users alike will find nuggets of wisdom throughout. This book provides you with valuable examples and step-by-step instructions, showing you how to take advantage of everything Splunk has to offer you, to make the most out of your machine data. "Implementing Splunk: Big Data Reporting and Development for Operational Intelligence" takes you on a journey right from inception to a fully functioning implementation of Splunk. Using a real-world data walkthrough, you’ll be shown how to search effectively, create fields, build dashboards, reports, and package apps, manage your indexes, integrate into the enterprise, and extend Splunk. This practical implementation guide equips you with high-level knowledge for configuring, deploying, extending, and integrating Splunk. Depending on the goal and skills of the reader, enough topics are covered to get you on your way to dashboard guru, app developer, or enterprise administrator. This book uses examples curates reference, and sage advice to help you make the most of this incredibly powerful tool.

Last update: 03-02-2015
 Binnen dit thema



 Meer thema's


 Lees hier de privacyverklaring van deze site.

Disclaimer.

Hoewel de heer Hein Pragt de informatie beschikbaar op deze pagina met grote zorg samenstelt, sluit de heer Pragt alle aansprakelijkheid uit met betrekking tot de informatie die, in welke vorm dan ook, via zijn site wordt aangeboden. Het opnemen van een afbeelding of verwijzing is uitsluitend bedoeld als een mogelijke bron van informatie voor de bezoeker en mag op generlei wijze als instemming, goedkeuring of afkeuring worden uitgelegd, noch kunnen daaraan rechten worden ontleend. Op de artikelen van de heer Pragt op deze Internetsite rust auteursrecht. Overname van informatie (tekst en afbeeldingen) is uitsluitend toegestaan na voorafgaande schriftelijke toestemming van de rechthebbende. Voor vragen over copyright en het gebruik van de informatie op deze site kunt u contact opnemen met: (email: mail@heinpragt.com). Dit is mijn