SlideShare ist ein Scribd-Unternehmen logo
1 von 24
LOGSTASH

Chcę oglądać Twoje logi,
logi logi logi
Chcę je mieć po krótkiej chwili,
chwili chwili chwili

1 XI 2013
Czytamy Twoje logi

marcin.lipiec@nokaut.pl
marcin.grzybowski@nokaut.pl
Po co logujemy ?
l

BO TAK !!!!
Jak logujemy ?
l

l

l

l

l

l

Powszechnie używane formy logowania

Brak logowania
Logowanie do pliku
Logowanie do sysloga
Logowanie do rsysloga
Logowanie przy wsparciu narzędzi zewnętrznych
Jak wygląda przeciętny log
l

l

l

l

l

Blebleblebleblbe
blebleblebleblbe
blebleblebleblbe
blebleblebleblbe
blebleblebleblbe
Jak wygląda przeciętny log
DATA + RESZTA = WPIS
[18/Nov/2013:00:00:02 +0100] w15 65.55.24.234 302 5 - 0.017 192.168.64.125 1077
"GET /szukaj.html?zrodlo=404&slowo=lampy+zewnetrzne
+wiszace+kare+design+kare+design+lampa+wiszaca+
trumpet+dining+5er+33116+35a2647ce9a772fab8affaac5feb2a69
HTTP/1.1" "/produkt-lampy-zewnetrzne-wiszace-kare-designkare-design-lampa-wiszaca-trumpet-dining-5er-33116-35
a2647ce9a772fab8affaac5feb2a69.html" "-" "Mozilla/5.0
(compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
awk '($9 ~ /502/)' access.log | awk '{print $7}' | sort | uniq -c | sort -r

728 /wp-admin/install.php
466 /
146 /videos/
130 /wp-login.php
Dlaczego log to mało
Czy więc jest LogStash
l
l
l
l
l
l

Koncentrator logów
Wygodny interface – KIBANA
Stabilność Java
OpenSource
Wyklikiwalność ustawień
GROK
LogStash
wstępna konfiguracja
3 w 1 – jeden JAR trzy aplikacje
Jeden plik konfiguracyjny – trzy strumienie przetwarzania
LogStash
wstępna konfiguracja
INPUT | FILTER | OUTPUT
* syslog, emails, stdin, tcp socket, file, http
LogStash
wstępna konfiguracja
INPUT | FILTER | OUTPUT
* grok, kv, mutate, geoip, grep ...
LogStash
wstępna konfiguracja
INPUT | FILTER | OUTPUT
* graylog, elasticsearch, zabbix, graphite, ...
LogStash
wstępna konfiguracja
input {
file {
path => "/var/log/http.log"
}
}
filter {
grok {
match => [ "message", "%{IP:client} %{WORD:method}
%{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" ]
}
}
output {
elasticsearch { embedded => true }
}
LogStash
Przykład problemu (1)
RUCH DO SERWISU
SZYBKA ANALIZA RUCHU
GEOLOKALIZACJA RUCHU
METODY API
GROK
%{SYNTAX:SEMANTIC}
%{IP:client}
%{WORD:method}
%{URIPATHPARAM:request}
%{NUMBER:bytes}
%{NUMBER:duration}
IP (?<![0-9])(?:(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})
[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4]
[0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}))(?![0-9])
55.3.244.1 GET /index.html 15824 0.043
Jak to rozumieć?
( client ip ) (http request) (rsp bytes) (req time)
%{IP} %{WORD} %{URIPATHPARAM} %{NUMBER} %{NUMBER}
Postać ostateczna :
{
"client": "55.3.244.1",
"verb": "GET",
"request": "/index.html",
"bytes": 15824,
"time": 0.043,
}
TIPS & TRICKS


l

l

l

curl -s -XDELETE "http://localhost:9200/logstash-2013-11-10"
JAVA – Xms = Xmx
https://grokdebug.herokuapp.com/
ulimit -l unlimited
POMOCY ?!
irc: #logstash on freenode
mail: logstash-users@googlegroups.com
dodatki: kibana, logstash-cli, puppet modules, chef cookbooks

Weitere ähnliche Inhalte

Mehr von 3camp

Marcin Szeląg, InnovationNest, Startup Risk Model
Marcin Szeląg, InnovationNest, Startup Risk ModelMarcin Szeląg, InnovationNest, Startup Risk Model
Marcin Szeląg, InnovationNest, Startup Risk Model
3camp
 

Mehr von 3camp (20)

Ochrona podatnych webaplikacji za pomocą wirtualnych poprawek
Ochrona podatnych webaplikacji za pomocą wirtualnych poprawekOchrona podatnych webaplikacji za pomocą wirtualnych poprawek
Ochrona podatnych webaplikacji za pomocą wirtualnych poprawek
 
HTTPS bez wymówek
HTTPS bez wymówekHTTPS bez wymówek
HTTPS bez wymówek
 
Jak udokumentować bazę danych
Jak udokumentować bazę danychJak udokumentować bazę danych
Jak udokumentować bazę danych
 
ORM - tuningujemy podejście do mapowania
ORM - tuningujemy podejście do mapowaniaORM - tuningujemy podejście do mapowania
ORM - tuningujemy podejście do mapowania
 
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
 
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
 
Wykorzystanie języka Kotlin do aplikacji na platformie Android
Wykorzystanie języka Kotlin do aplikacji na platformie AndroidWykorzystanie języka Kotlin do aplikacji na platformie Android
Wykorzystanie języka Kotlin do aplikacji na platformie Android
 
Learn you some rx for the greater good
Learn you some rx for the greater goodLearn you some rx for the greater good
Learn you some rx for the greater good
 
Google App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjachGoogle App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjach
 
Reakcja łańcuchowa, czyli React.js w praktyce
Reakcja łańcuchowa, czyli React.js w praktyceReakcja łańcuchowa, czyli React.js w praktyce
Reakcja łańcuchowa, czyli React.js w praktyce
 
Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”
Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”
Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”
 
AngularJS (nie) nadaje się do dużego projektu
AngularJS (nie) nadaje się do dużego projektuAngularJS (nie) nadaje się do dużego projektu
AngularJS (nie) nadaje się do dużego projektu
 
Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...
Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...
Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...
 
Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?
Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?
Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?
 
Artur Senk, OKE Poland, Big Data na zakupach
Artur Senk, OKE Poland, Big Data na zakupachArtur Senk, OKE Poland, Big Data na zakupach
Artur Senk, OKE Poland, Big Data na zakupach
 
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...
 
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnieMarcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
 
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...
 
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...
 
Marcin Szeląg, InnovationNest, Startup Risk Model
Marcin Szeląg, InnovationNest, Startup Risk ModelMarcin Szeląg, InnovationNest, Startup Risk Model
Marcin Szeląg, InnovationNest, Startup Risk Model
 

LogStash - skuteczne narzędzie dla entuzjastów logowania