2. Agenda
● Problemy z logami
● Jak to robimy w Divante - ELK Stack
o Elasticsearch
o Logstash
o Kibana
o Architektura
o Dodatko e arzędzia
● Podsumowanie
● Pytania
4. Problemy logów
Brak spójnego formatu 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ąże ie 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 a ar 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 o itori g
• Bardzo utrud io e iągłe o itoro a ie szystki h para etró aplika ji
• Wymagana wiedza techniczna
10. Czym jest ELK Stack?
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
Instalacja i 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
15. 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
Filtr GROK
● 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
Instalacja i 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
25. K jak Kibana
Wykres po iązań:
http://demo.packetbeat.com/#/dashboard/elasticsearch/Packetbeat%2520Statistics
26. K jak Kibana
Instalacja i 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
32. Narzędzia
ElasticSearch Plugin: Head
Pa el 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
Plugi poz 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
35. ELK Stack
Podsumowanie
● Ujednolicona struktura 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 :)