Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Programmieren<br />
www.linux-magazin.de Perl-Snapshot 09/2013<br />
102<br />
Splunk filtert verschiedene Logdaten<br />
Meldungen wie Heu<br />
Die Kunst, in einer überbordenden Menge an Logdaten die wirklich relevanten zu finden, scheint Splunk bestens<br />
zu beherrschen. Auch Perlmeister Schilli wirft seine Systemmeldungen dem proprietären Analysewerkzeug<br />
vor, bringt der kostenfreien Variante aber einige Enterprise-Features bei. Michael Schilli<br />
funktionen kombinieren, sodass selbst<br />
Splunk-Neulinge ihre Abfragen nach kurzer<br />
Einarbeitungszeit ähnlich wie echte<br />
Programmierer durch neue Filter erweitern.<br />
Wenn sie eine Weile die Sedimente<br />
im Informationsfluss gewaschen haben,<br />
kommen die handlichen Informations-<br />
Goldklumpen zutage. Vorsicht: Bereits<br />
die kostenlose Basisversion birgt alle Gefahren<br />
eines kapitalen Goldrausches.<br />
Strukturiert importiert<br />
© srapulsar38, 123RF<br />
Um Logdaten gewaltigen Ausmaßes und<br />
noch dazu aus sehr unterschiedlichen<br />
Quel len zu analysieren, bedarf es eines<br />
entsprechend mächtigen Werkzeugs. Es<br />
soll Textmeldungen von Web- und Applikationsservern<br />
sowie von Netzwerkroutern<br />
und anderen Systemen zusammenführen,<br />
indizieren und schnelle Suchabfragen<br />
zulassen.<br />
Das kommerzielle Splunk ([2], [3]) hat<br />
sein Können auf diesem Gebiet selbst in<br />
den Rechenzentren großer Internetfirmen<br />
bewiesen, steht aber in der Basisversion<br />
auch kostenlos für den Hausgebrauch auf<br />
gängigen <strong>Linux</strong>-Plattformen bereit. Nach<br />
der Installation startet »splunk start« den<br />
Daemon sowie das Webinterface, in dem<br />
Online PLUS<br />
In einem Screencast demonstriert<br />
Michael Schilli das Beispiel: [http://<br />
www.linux-magazin.de/plus/2013/09]<br />
der User das System konfigurieren und<br />
Suchabfragen loslassen darf wie auf einer<br />
Internetsuchmaschine (Abbildung 1).<br />
Gold im Fluss<br />
Das Verfahren stellt dem Admin alle verteilt<br />
geloggten Daten zentral und indiziert<br />
bereit. Mit der mächtigen Suchsyntax gelingen<br />
nicht nur Volltextsuchen über den<br />
Datenbestand, sondern auch fundierte<br />
statistische Analysen à la „Welche sind<br />
die zehn häufigsten URLs, die alle meine<br />
Webserver zusammen in den letzten zwei<br />
Stunden ausgeliefert haben?“.<br />
Außerdem dämpft Splunk die Geschwätzigkeit<br />
solcher Logs, bei denen interessante<br />
Nachrichten unterzugehen drohen.<br />
Der Benutzer definiert nach und nach<br />
Ereignistypen, an denen er nicht interessiert<br />
ist, und Splunk blendet sie aus<br />
dem Ergebnis aus. Ereignistypen lassen<br />
sich wiederum in übergeordneten Such-<br />
Die Zeilen einer Logdatei interpretiert<br />
Splunk als Events und jede der Meldungen<br />
besteht aus Feldern (Fields). Steht im<br />
Accesslog eines Webservers zum Beispiel<br />
»GET /index.html«, dann setzt Splunk<br />
das Feld »method« auf »GET« und das<br />
Feld »uri« auf »/index.html« (siehe Abbildung<br />
2).<br />
Es versteht von Haus aus eine Reihe von<br />
Formaten wie Syslog, die Errorlogs von<br />
Webservern oder Json, sodass der User<br />
zum strukturierten Import dieser Daten<br />
keinen Finger rühren muss. Zum Importieren<br />
lokaler Logdateien konfiguriert er<br />
im Menü »Add data« nur ein Verzeichnis<br />
wie »/var/log« (Abbildung 3), woraufhin<br />
sich der Splunk-Indexer alle darunterliegenden<br />
Dateien einverleibt. Ändern<br />
sich diese dynamisch, schnappt sich der<br />
Splunk-Daemon auch die neuen Einträge,<br />
Suchabfragen berücksichtigen ab sofort<br />
die neuen Informationen.<br />
Andere Formate importiert der User,<br />
indem er Splunk zum Beispiel mittels<br />
regulärer Ausdrücke anweist die Felder<br />
aus den Events zu extrahieren. Zu den<br />
im Logeintrag existierenden Feldern fügt<br />
Splunk interne Hinweise hinzu. So definieren<br />
die Felder »source« die Datei,<br />
aus der die Information stammt (falls sie