Nikola Krgović
Analiza Web Logova
Analiza Web Logova
Nikola Krgovic
Sajt: kupindo.com
Posete: ~30-40M PageViews/Month*
limundo.com: ~60-70M PageViews/Month*
*Izvor: audience.rs (Gemius)
Kupindo
Kupindo
Limundo
Limundo (Pretraga)
Arhitektura
Tradicionalne metode:
• Webalyzer
• Piwik
• …
Piwik
Prednosti tradicionalnih metoda:
• Laka instalacija
• Laka integracija
• Standardizovani izveštaji
• Brza kriva učenja
Mane tradicionalnih metoda:
• Storage u relacionoj bazi
• Relativno slozena integracija kompleksnih
pracenja
• Ne čuvaju se kompletni logovi već samo izveštaji
ELK Stack:
LogStash Daemon
ElasticSearch Storage
Kibana Front-End
LogStash
• Daemon sa client-server arhitekturom
• Prikuplja logove raznih formata
• Mogućnost da radi normalizaciju logova
• Mogućnost dodavanja pluginova
• Ima agent koji se vrti na svakom serveru
ElasticSearch
• Lucene-based
• Full-text search sistem
• Schema-free JSON document engine
• HTTP Interfejs
• RESTfull API
Kibana
• Platforma za vizuelizaciju
• Real-time grafici
• ElasticSearch Back-end integracija
• Generisanje izvestaja
Kibana ScreenShot
Sakupljanje logova:
Moguće je skupljati logove na Load Balanceru, ili na
Web (aplikativnom) serveru, koji izvršava samu php
aplikaciju. Svaka strana pristupa ima prednosti i mane.
Load Balanser:
• Svi zahtevi su po redu
• Nema pristup API
pozivima untar samog
servera
Web Server:
• Razlike reda veličine
1ms mogu dovesti do
razlike u redosledu
• Ima sve interne API
pozive
Load Balancer:
NginX Log Format:
log_format kupindo '$remote_addr [$time_local]
"$request" $status $body_bytes_sent $request_time
$upstream_response_time $cookie_PHPSESSID
"$http_referer" "$http_user_agent"';
Prednosti:
• Velika baza korisnika
• Poznat Google-Like RegExp način upita
• Par minuta do dashboard-a tipa “koliko je
cipela prodato na sajtu?”
• Čuvaju se log entries
Mane:
• Zahteva otvaranje posebnih portova, ako želite
remote skupljanje logova
• Agent na svakom web serveru, koji zauzima neke
resurse
• Za skaliranje preko odredjene granice zahteva da
ElasticSearch radi na Hadoop back-endu.
• Analitike zahtevaju pisanje de-facto sofvera, što nije
prirodan način rada analitičarima naviklim na SQL
okruženje.
Alternative:
StreamSets + Cloudera
Cloudera CDH:
Naš izbor za sveobuhvatnu
Hadoop distribuciju
Web logs: Collecting and analysing - Nikola Krgovic
Prednosti CDH Distribucije:
• Integracija svih komponenti
• Jednostavan installer
• Podrzan Yarn
• Hue kao interfejs za korisnike
• Hive i HBase
• Impala, kao Cloudera rešenje
• Spark i Sqoop instaliran u paketu
Web logs: Collecting and analysing - Nikola Krgovic
Stream Sets
Nezavisna aplikacija, koja, osim kao stand-alone
software, može da radi i kao integrisani deo
CDH-a. Ima više različitih načina na koje može
da skuplja logove, kao i načina na koje može da
ih dalje procesira i distribuira.
Stream Sets Instalacija
StreamSets integrisan u Cloudera Manager
Stream Sets Komponente
Ulazni ekran
Vizuelni editor za izbor i prikupljanje podataka
Input moduli
Procesori
Izlazni Moduli
Mogućnost različitih filtera, različitih tipova za ulaz i različitih tipova izlaza.
Dodatno, postoji mogućnost da izlaz ide u dva različita pipeline-a, tako da logovi posle procesiranja idu
na dva sistema obrade.
Pocetak Rada
Izbor: Hive ili HBase
Hive vs HBase
• Rad sa prostim tab-
separated fajlovima
• Niže performanse
• Dobro podnosi promenu
ulaznih podataka
• Columnar-based storage
engine
• Visoke performanse
• Zahteva složenije
rekonfiguracije u slučaju
promene formata
Inicijalni import logova, u Tab-separated fajl
MetaStore Properties:
Definisanje kolona u skladu sa formatem Log-ova
Rezultat:
Mogućnost da se kroz SQL-like upit zada generisanje izveštaja koji, za neki SessionID, daje kompletan
ClickStream log kretanja korisnika po sajtu.
Dodatne mogućnost:
• Uvoz logova iz svih log fajlova na NFS serveru
• Više paralelnih pipeline-ova za obradu
različitih logova, uz podelu po imenu log fajla
Konačna primena:
• Uvoz logova sa Load Balancer-a u ElasticSearch,
za Kibana dashboard.
• Mogućnost paralelnog uvoza u dve ElasticSearch
baze, kao vid particionisanja po datumu.
• Uvoz istih tih logova, paralelno i u Hive-
kompatibilne Tab-separated fajlove
• Paralelno, iz istog direktorijuma na NFS serveru,
uvoz i logova sa svih Web servera, za potrebe
debug-a. Opciono, uz Sticky cookie generisan na
Load Balanceru.
Dodatne izmene
• Zakljucavanje korisnika na jedan applikativni
server (sticky cookie)
• Prikupljanje dodatnih error logova
• Logovanje vremena izvršavanja
Konfiguracija
NginX Sticky plugin:
upstream kupindo_sticky {
sticky name=KID domain=.kupindo.com
path=/ ;
NginX Log format:
log_format kupindo '$remote_addr [$time_local]
"$request" $status $body_
bytes_sent $request_time $upstream_response_time
$cookie_KID $cookie_PHPSESSID "
$http_referer" “$http_user_agent"';
Apache Log format:
LogFormat "%{X-Forwarded-For}i %h %t %T ”%r"
"%f%q" %>s %b %D "%{Referer}i" "%{User-Agent}i" "
detailed
Upotreba:
• Klasična analiza logova
• Debug logovi za aplikaciju
• Paralele izmedju error i access logova kroz istoriju
• Clickstream analiza
• Analiza rada mreže i debug na osnovu
upoređivanja vremena odziva na LB-u i vremena
izvršavanja na apache-u
Problemi konačne implementacije:
Veličina logova:
5GB Dnevno Kupindo
12GB Dnevno ceo LimundoGrad
4T Godišnje Kupindo
9TB Godišnje ceo LimundoGrad
Cena Implementacije:
3 Servera:
• Rack-Mount
• 256GB RAM
• 4x6TB Hard Disk
~30,000 EUR za ceo cluster
Buduće primene:
• UX analiza
• Recommendation Engine
• Fraud prevention
Web logs: Collecting and analysing - Nikola Krgovic
Web logs: Collecting and analysing - Nikola Krgovic
Buduće primene:
• UX analiza
• Recommendation Engine
• Fraud Prevention
• Biometrics
Pitanja?

More Related Content

PPTX
Big Data: Apache Spark -novo pojačanje tradicionalnom BI ili ne?
DOCX
Schedule
PDF
Ley de Gestion Ambiental de Ecuador
PPTX
3-4. Деревина та її властивості. Теорія - 5 клас
DOCX
Resume Dec 2016
PPTX
How to Avoid Becoming a Casualty of Social Media Wars
PPTX
7 клас. Малярні_кріпильні роботи_теорія
PDF
Le roy seabrook_ppp
Big Data: Apache Spark -novo pojačanje tradicionalnom BI ili ne?
Schedule
Ley de Gestion Ambiental de Ecuador
3-4. Деревина та її властивості. Теорія - 5 клас
Resume Dec 2016
How to Avoid Becoming a Casualty of Social Media Wars
7 клас. Малярні_кріпильні роботи_теорія
Le roy seabrook_ppp

Viewers also liked (8)

PPTX
The Resident Who Loved Me - 5 Steps to Securing Loyalty
PDF
Wendy case
PPTX
Tech Spark Presentation
PPT
Ap4 aa4-ev3-reflexión social sobre la comunicación
PDF
Антон Бут — Auditorius — ICBDA 2015
PDF
Adl 09-human-resource-management
PDF
TENDENCIAS EDUCATIVAS SIGLO XXI
DOC
Resume 1
The Resident Who Loved Me - 5 Steps to Securing Loyalty
Wendy case
Tech Spark Presentation
Ap4 aa4-ev3-reflexión social sobre la comunicación
Антон Бут — Auditorius — ICBDA 2015
Adl 09-human-resource-management
TENDENCIAS EDUCATIVAS SIGLO XXI
Resume 1
Ad

Similar to Web logs: Collecting and analysing - Nikola Krgovic (20)

PPT
Migration to 9i
PPSX
Decouple Goals
PPT
Projektovanje web aplikacija
PDF
SPUG Srbija - Sinergija portal ispod haube - Damjan Tomić
PPTX
Arquitectura ejemplo para integraciones cloud en Azure
PPTX
Getting application production ready
PPT
Zotero – nekomercijalni softver za organizovanje bibliografskih baza podataka...
PDF
Javantura v2 - Dock your apps - Tomislav Klišanić, Matija Folnović
PDF
Automatizacija u Front-end razvojnom procesu
PPTX
Koliko možemo da savijemo Dynamics 365, a da ne pukne?
PDF
PHP za pocetnike - predavanje 11
PPTX
.NET Core - Sve što trebate znati
PPTX
PDF
Pitanja kss (1)
PPTX
Hadoop i sveprisutno računarstvo
PPTX
Sibin Grasić - Najčešće greške WP developera
ZIP
Android vs iOS development
PPTX
Карактеристике ЈАVA програмског језика.pptx
PPT
Java Script.ppt
PDF
Virtual desktop infrastructure
Migration to 9i
Decouple Goals
Projektovanje web aplikacija
SPUG Srbija - Sinergija portal ispod haube - Damjan Tomić
Arquitectura ejemplo para integraciones cloud en Azure
Getting application production ready
Zotero – nekomercijalni softver za organizovanje bibliografskih baza podataka...
Javantura v2 - Dock your apps - Tomislav Klišanić, Matija Folnović
Automatizacija u Front-end razvojnom procesu
Koliko možemo da savijemo Dynamics 365, a da ne pukne?
PHP za pocetnike - predavanje 11
.NET Core - Sve što trebate znati
Pitanja kss (1)
Hadoop i sveprisutno računarstvo
Sibin Grasić - Najčešće greške WP developera
Android vs iOS development
Карактеристике ЈАVA програмског језика.pptx
Java Script.ppt
Virtual desktop infrastructure
Ad

More from Institute of Contemporary Sciences (20)

PDF
First 5 years of PSI:ML - Filip Panjevic
PPTX
Building valuable (online and offline) Data Science communities - Experience ...
PPT
Data Science Master 4.0 on Belgrade University - Drazen Draskovic
PPTX
Deep learning fast and slow, a responsible and explainable AI framework - Ahm...
PPTX
Solving churn challenge in Big Data environment - Jelena Pekez
PDF
Application of Business Intelligence in bank risk management - Dimitar Dilov
PPTX
Trends and practical applications of AI/ML in Fin Tech industry - Milos Kosan...
PPTX
Recommender systems for personalized financial advice from concept to product...
PDF
Advanced tools in real time analytics and AI in customer support - Milan Sima...
PPTX
Complex AI forecasting methods for investments portfolio optimization - Pawel...
PPTX
From Zero to ML Hero for Underdogs - Amir Tabakovic
PDF
Data and data scientists are not equal to money david hoyle
PPSX
The price is right - Tomislav Krizan
PPTX
When it's raining gold, bring a bucket - Andjela Culibrk
PPTX
Reality and traps of real time data engineering - Milos Solujic
PPTX
Sensor networks for personalized health monitoring - Vladimir Brusic
PDF
Improving Data Quality with Product Similarity Search
PPTX
Prediction of good patterns for future sales using image recognition
PPTX
Using data to fight corruption: full budget transparency in local government
PPTX
Geospatial Analysis and Open Data - Forest and Climate
First 5 years of PSI:ML - Filip Panjevic
Building valuable (online and offline) Data Science communities - Experience ...
Data Science Master 4.0 on Belgrade University - Drazen Draskovic
Deep learning fast and slow, a responsible and explainable AI framework - Ahm...
Solving churn challenge in Big Data environment - Jelena Pekez
Application of Business Intelligence in bank risk management - Dimitar Dilov
Trends and practical applications of AI/ML in Fin Tech industry - Milos Kosan...
Recommender systems for personalized financial advice from concept to product...
Advanced tools in real time analytics and AI in customer support - Milan Sima...
Complex AI forecasting methods for investments portfolio optimization - Pawel...
From Zero to ML Hero for Underdogs - Amir Tabakovic
Data and data scientists are not equal to money david hoyle
The price is right - Tomislav Krizan
When it's raining gold, bring a bucket - Andjela Culibrk
Reality and traps of real time data engineering - Milos Solujic
Sensor networks for personalized health monitoring - Vladimir Brusic
Improving Data Quality with Product Similarity Search
Prediction of good patterns for future sales using image recognition
Using data to fight corruption: full budget transparency in local government
Geospatial Analysis and Open Data - Forest and Climate

Web logs: Collecting and analysing - Nikola Krgovic