SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Logowanie zdarzeń w
architekturze opartej na
mikroserwisach
Paweł Grajewski
Łukasz Kamiński
Twitter: https://twitter.com/bms_devs
GitHub: https://github.com/bms-devs
Problem?
Serwer
App 3
App 2
…
App 1
Serwer
App 3
App 2
…
App 1
…
Serwer
App 3
App 2
…
App 1
ssh…? kopiowanie plików…?
Zdarzenia
Stos ELK
Serwer
App 1
App 2
…
Serwer
App 1
App 2
…
Logstash
Logstash
• Najprostsza konfiguracja:
input {

file {

path => “/some/logs/dir/*.log”

codec => "plain"

}

}


output {

elasticsearch {

host => es

port => 9300

cluster => "elk"

protocol => "transport"

}

}
Logstash
• Analiza logów tekstowych:
Structured logging
• Zamiast:
POST http://audit.service/trail (status:200 time:1.172s
correlationId:091dd542-ea27-46a2-a1c6-3c9111d2d9b9)
• Możemy użyć np. formatu JSON:
{

"app":"audit",

"method":"POST",

"url":"http://audit.service/trail",

"status":200,

"time":1.172,

"correlationId":"caaec80c-736e-4a42-954a-cb6748cdc9d7"

}
Kibana
Logstash
• Wiele węzłów generujących zdarzenia:
• broker np. Redis
• logstash-forwarder
The Twelve-Factor App
•
Logowanie przez sieć
• Syslog Protocol
• Text or JSON over TCP/UDP
• GELF (Graylog Extended Log Format)
• Wsparcie narzędziowe:
• logback-syslog4j, logback-gelf
• logstash-logback-encoder, gelfclient
Metryki
“If you can not
measure it, you can
not improve it.”
Po co zbieramy metryki?
• DevOps - monitorowanie stanu zdrowia
infrastruktury, wyszukiwanie słabych punktów,
reakcja na zwiększenie ruchu, etc.
• Business - śledzenie zachowań użytkowników,
zbieranie statystyk wartościowych z punktu
widzenia biznesu
Jakie metryki możemy
gromadzić?
App
https://www.datadoghq.com/blog/monitoring-101-collecting-data/
Które z metryk chcemy lub
powinniśmy gromadzić?
Które z metryk chcemy lub
powinniśmy gromadzić?
Narzędzia
App
Transmitter
App
Transmitter
App
Transmitter
Metrics Metrics
Data
Narzędzia
App
Transmitter
App
Transmitter
App
Transmitter
Metrics Metrics
Data
Graphite
fluentd StatsD PypeD
Whisper
+
Carbon
CollectD Telegraf
Narzędzia
App
Transmitter
App
Transmitter
App
Transmitter
Metrics Metrics
Data
StatsD
Graphite
fluentd StatsD PypeD
Whisper
+
Carbon
CollectD Telegraf
Bazy time-series
SQL
InfluxDB
indeksowane
Bazy time-series
• Analiza danych w locie
• Interfejs do przeglądania danych
• język zapytań
• generator wykresów
InfluxDB
Język zapytań
"SQL-like"
Analiza danych z Grafaną
Podsumowanie
• Istnieje darmowy, sprawdzony zestaw narzędzi
do zbierania zdarzeń i metryk z wielu aplikacji.
• Ich zastosowanie niesamowicie upraszcza
rozwiązywanie problemów; nie dowiecie się
dopóki nie spróbujecie ich wdrożyć!
• Nie należy bać się zbierania metryk, korzystając
z odpowiednich narzędzi można otrzymać duże
możliwości praktycznie za darmo (np. Spring Boot,
Spring Cloud).
Pytania?

Contenu connexe

Tendances

Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Meet Magento Poland
 
Exchange 2013 sp1 - what's new
Exchange 2013 sp1 - what's newExchange 2013 sp1 - what's new
Exchange 2013 sp1 - what's new
Konrad Sagala
 
Info meet pomiary wydajności
Info meet pomiary wydajnościInfo meet pomiary wydajności
Info meet pomiary wydajności
magda3695
 
ansible kmonticolo bezlogo
ansible kmonticolo bezlogoansible kmonticolo bezlogo
ansible kmonticolo bezlogo
Kamil Monticolo
 
Apache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użyciaApache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użycia
Wojciech Lichota
 

Tendances (18)

Monitoring sieci
Monitoring sieciMonitoring sieci
Monitoring sieci
 
Jakub Mrowiec (Grand Parade Poland) - Monumentum Case Study
Jakub Mrowiec (Grand Parade Poland) - Monumentum Case StudyJakub Mrowiec (Grand Parade Poland) - Monumentum Case Study
Jakub Mrowiec (Grand Parade Poland) - Monumentum Case Study
 
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStack
 
Jak działa CPython
Jak działa CPythonJak działa CPython
Jak działa CPython
 
Ansible w praktyce
Ansible w praktyceAnsible w praktyce
Ansible w praktyce
 
Dysk google.pdf
Dysk google.pdfDysk google.pdf
Dysk google.pdf
 
praca w chmurze
praca w chmurzepraca w chmurze
praca w chmurze
 
Dysk google.pdf
Dysk google.pdfDysk google.pdf
Dysk google.pdf
 
Ansible w 5 minut... Playbooki
Ansible w 5 minut...  PlaybookiAnsible w 5 minut...  Playbooki
Ansible w 5 minut... Playbooki
 
Aplikacje internetowe real-time w oparciu o React/Redux
Aplikacje internetowe real-time w oparciu o React/ReduxAplikacje internetowe real-time w oparciu o React/Redux
Aplikacje internetowe real-time w oparciu o React/Redux
 
Ansible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań ITAnsible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań IT
 
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010
 
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
Kainos Tech Space #1 : DevOps : Artur Senk - Jenkins, najważniejsze narzędzie...
 
Exchange 2013 sp1 - what's new
Exchange 2013 sp1 - what's newExchange 2013 sp1 - what's new
Exchange 2013 sp1 - what's new
 
Info meet pomiary wydajności
Info meet pomiary wydajnościInfo meet pomiary wydajności
Info meet pomiary wydajności
 
ansible kmonticolo bezlogo
ansible kmonticolo bezlogoansible kmonticolo bezlogo
ansible kmonticolo bezlogo
 
Apache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użyciaApache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użycia
 

En vedette

En vedette (7)

JDD2015: Twenty-one years of "Design Patterns" - Ralph Johnson
JDD2015: Twenty-one years of "Design Patterns" - Ralph JohnsonJDD2015: Twenty-one years of "Design Patterns" - Ralph Johnson
JDD2015: Twenty-one years of "Design Patterns" - Ralph Johnson
 
JDD2015: Kubernetes - Beyond the basics - Paul Bakker
JDD2015: Kubernetes - Beyond the basics - Paul BakkerJDD2015: Kubernetes - Beyond the basics - Paul Bakker
JDD2015: Kubernetes - Beyond the basics - Paul Bakker
 
JDD2015: Piękny Pan od HR radzi, czyli 1011 błędów, które popełniają programi...
JDD2015: Piękny Pan od HR radzi, czyli 1011 błędów, które popełniają programi...JDD2015: Piękny Pan od HR radzi, czyli 1011 błędów, które popełniają programi...
JDD2015: Piękny Pan od HR radzi, czyli 1011 błędów, które popełniają programi...
 
JDD2015: ClassIndex - szybka alternatywa dla skanowania klas - Sławek Piotrowski
JDD2015: ClassIndex - szybka alternatywa dla skanowania klas - Sławek PiotrowskiJDD2015: ClassIndex - szybka alternatywa dla skanowania klas - Sławek Piotrowski
JDD2015: ClassIndex - szybka alternatywa dla skanowania klas - Sławek Piotrowski
 
JDD2015: Z czym mierzą się zespoły? - Michał Bartyzel
JDD2015: Z czym mierzą się zespoły? - Michał Bartyzel JDD2015: Z czym mierzą się zespoły? - Michał Bartyzel
JDD2015: Z czym mierzą się zespoły? - Michał Bartyzel
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Similaire à JDD2015: Logowanie zdarzeń w architekturze opartej na mikroserwisach - Paweł Grajewski, Łukasz Kamiński

Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-PolskaModsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Leszek Mi?
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz
 

Similaire à JDD2015: Logowanie zdarzeń w architekturze opartej na mikroserwisach - Paweł Grajewski, Łukasz Kamiński (20)

ETW w służbie programisty .NET
ETW w służbie programisty .NETETW w służbie programisty .NET
ETW w służbie programisty .NET
 
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-PolskaModsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
 
Agregacja i analiza logów
Agregacja i analiza logówAgregacja i analiza logów
Agregacja i analiza logów
 
HTML5: Atak i obrona
HTML5: Atak i obronaHTML5: Atak i obrona
HTML5: Atak i obrona
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
 
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
 
Iron Python I Dlr
Iron Python I DlrIron Python I Dlr
Iron Python I Dlr
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
 
Optymalizacja pracy front-end developera
Optymalizacja pracy front-end developeraOptymalizacja pracy front-end developera
Optymalizacja pracy front-end developera
 
Zhakuj swojego Wordpressa, WordUP Trojmiasto
Zhakuj swojego Wordpressa, WordUP TrojmiastoZhakuj swojego Wordpressa, WordUP Trojmiasto
Zhakuj swojego Wordpressa, WordUP Trojmiasto
 
Monitoring systemu. Dlaczego mój kardiolog jest bogatym człowiekiem?
Monitoring systemu. Dlaczego mój kardiolog jest bogatym człowiekiem?Monitoring systemu. Dlaczego mój kardiolog jest bogatym człowiekiem?
Monitoring systemu. Dlaczego mój kardiolog jest bogatym człowiekiem?
 
test
testtest
test
 
OpenEmbedded
OpenEmbeddedOpenEmbedded
OpenEmbedded
 
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
 
Secure Coding w praktyce.
Secure Coding w praktyce.Secure Coding w praktyce.
Secure Coding w praktyce.
 
Automatyzacja tworzenia maszyn wirtualnych Magdalena Wojnarowska
Automatyzacja tworzenia maszyn wirtualnych Magdalena WojnarowskaAutomatyzacja tworzenia maszyn wirtualnych Magdalena Wojnarowska
Automatyzacja tworzenia maszyn wirtualnych Magdalena Wojnarowska
 
Optymalizacja pracy front-end developera
Optymalizacja pracy front-end developeraOptymalizacja pracy front-end developera
Optymalizacja pracy front-end developera
 
Krytyczne błędy konfiguracji
Krytyczne błędy konfiguracjiKrytyczne błędy konfiguracji
Krytyczne błędy konfiguracji
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
 
Joomla Day Poland 15 - Docker
Joomla Day Poland 15 - DockerJoomla Day Poland 15 - Docker
Joomla Day Poland 15 - Docker
 

JDD2015: Logowanie zdarzeń w architekturze opartej na mikroserwisach - Paweł Grajewski, Łukasz Kamiński