Agenda
● Problemy zlogami
● Jak to robimy w Divante - ELK Stack
o Elasticsearch
o Logstash
o Kibana
o Architektura
o Dodatko e arzędzia
● Podsumowanie
● Pytania
Problemy logów
Brak spójnegoformatu logów.
http://blog.tersmitten.nl/how-to-colorize-your-log-files-with-ccze.html
5.
Problemy logów
• cat
•grep
• awk
• sed
• tail
• yraże ia regular e
Bardzo utrud io a a aliza logów, wydłużo y czas reakcji.
Przeszukiwanie, analiza logów – old school
6.
Problemy logów
O iążeie ser era, ydaj ość aplika ji
• Sy hro i z y, lokują y zapis do pliku
• Opera je IO o iążają e ser er
• Ograniczona liczba i-node w systemie plików
• Relatywnie wolny zapis
• Sprząta ie logó
http://wiki.processmaker.com/index.php/Advanced_Performance_Monitor_Dashboards
7.
Problemy logów
Złożo aar hitektura - problem zapisu i odczytu
• Zapis/od zyt z ser eró za load ala er’e
- Zastosowanie NFS?
https://www.digitalocean.com/community/tutorials/5-common-server-setups-for-your-web-application
8.
Problemy logów
Ciągły oitori g
• Bardzo utrud io e iągłe o itoro a ie szystki h para etró aplika ji
• Wymagana wiedza techniczna
Czym jest ELKStack?
ELK Sta k to zesta arzędzi:
ELK zape ia s e tralizo a y syste zarządza ia
loga i rozproszo y h, ysoko dostęp y h syste a h.
11.
E jak ElasticSearch
elasticsearch
●+ Baza danych NoSQL
● + Wyszuki a ie peł oteksto e
● + REST Api (json)
● + Bazuje na Apache Lucene
● + Replikacja, snapshots
● + Dostęp a ofi jal a i lioteka dla PHP i Ja aS ript
● - Brak transakcji
● Wymagania: Java
12.
E jak ElasticSearch
Instalacjai konfiguracja
● Instalacja Java Oracle
o sudo apt-get install python-software-properties
o sudo add-apt-repository -y ppa:webupd8team/java
o sudo apt-get update
o sudo apt-get -y install oracle-java8-installer
● Instalacja ElasticSearch
o wget i unzip najnowszej paczki do pobrania z strony
https://www.elastic.co/downloads
o Wykonanie konfiguracji w pliku elasticsearch.yml
● Urucho ie ie ElasticSearch’a:
o ./bin/elasticsearch -d
13.
L jak Logstash
●Agrega ja logó z ielu źródeł
● Normalizacja (parsowanie, filtrowanie) pobranych danych
● Wysła ie z or alizo a y h da y h do roz aity h źródeł
● Wymagania : Java
INPUT
FILTER
PARSE
OUTPUT
L jak Logstash
Filtry:(50)
● checksum
● csv, date
● elasticsearch
● fingerprint
● geoip, grep, grok
● json, json_encode
● ruby, split
● translate
● urldecode
● useragent, xml
Wię ej a: http://logstash.net/docs/1.4.2/
INPUT
FILTER
PARSE
OUTPUT
16.
L jak Logstash
FiltrGROK
● Analizowanie i parsowanie dowolnego tekstu
● Grok jest najlepszym sposobem na przetworzenie najbardziej
nieustrukturyzowanych danych
● Po ad zor ó z ożli oś ią t orze ia łas y h
[ERROR] - 2015/13/03-11:01:31 - 192.168.0.1 - Some error message
[%{GREEDYDATA:message}] - %{DATESTAMP} - %{IP:client} - %{GREEDYDATA:message}
17.
L jak Logstash
Instalacjai konfiguracja
● Instalacja Java Oracle i instalacja Logstash:
o wget i unzip najnowszej paczki do pobrania z strony
https://www.elastic.co/downloads
● Konfiguracja:
input {
file {
type => "syslog"
path => ["/var/log/auth.log", "/var/log/syslog"]
}}
● Urucho ie ie Logstash’a:
o ./bin/logstash
18.
K jak Kibana
●Wizualizacja danych w formie aplikacji webowej
● Wyszukiwanie, filtrowanie, analizowanie danych
● Intuicyjny interfejs, nie tylko dla programistów
● Błyska i z e t orze ie i udostęp ia ie ielu kokpitó
● Łat e dostoso a ie dash oard’u - JSON
● Eksportowanie wyników
K jak Kibana
Wykrespo iązań:
http://demo.packetbeat.com/#/dashboard/elasticsearch/Packetbeat%2520Statistics
26.
K jak Kibana
Instalacjai konfiguracja
● Instalacja Kibany:
o wget i unzip najnowszej paczki do pobrania z strony
https://www.elastic.co/downloads
● Konfiguracja:
o Ki a a jest sko figuro a a a do yśl y port Elasti sea h’a 9
● Uruchomienie Kibany:
o ./bin/kibana
● Start w przeglądarce:
o http://YOURDOMAIN.com:5601
Narzędzia
ElasticSearch Plugin: Head
Pael o itoro a ia i zarządza ia Elasti Sear h’e
Instalacja:
● elasticsearch/bin/plugin -install mobz/elasticsearch-head
● http://localhost:9200/_plugin/head/
33.
Narzędzia
ElasticSearch Plugin: Morfologik
Plugipoz alają y ykorzystać polskie z aki
w zapytaniach do ElasticSearch.
Instalacja:
● cd elasticsearch
● bin/plugin -install com.github.chytreg/elasticsearch-analysis-
morfologik/2.3.1
ELK Stack
Podsumowanie
● Ujednoliconastruktura logów
● Scentralizowany system logów
● Dash orad spo agają y yszuki a ie i a alizo a ie
● Zape ie ie iągłego o itori gu
● Szybszy czas reakcji
● Sz zęśli y Klie t otrzy a kolej e ykresy :)