Logging and Big Data - wunca.uni.net.thwunca.uni.net.th/wunca_regis/wunca33_doc/14/015_Logging and...

Post on 05-Feb-2018

228 views 3 download

Transcript of Logging and Big Data - wunca.uni.net.thwunca.uni.net.th/wunca_regis/wunca33_doc/14/015_Logging and...

WUNCA-33

Logging and Big Data

หวัหน้าภาควิชาวิศวกรรมคอมพิวเตอร์คณะวิศวกรรมศาสตร์จฬุาลงกรณ์มหาวิทยาลยั

natawut.n@chula.ac.th@natawutnhttp://natawutn.wordpress.comhttp://www.slideshare.net/natawutnupairoj

ผศ.ดร.ณัฐวุฒ ิหนูไพโรจน์

เราจะเก็บ IT LOG ของ SERVER ไปท าไม?

• ตามข้อบงัคบัของพรบ.คอมพิวเตอร์

• ตรวจสอบปัญหาที่อาจจะเกิดขึน้

• ตรวจสอบด้านความปลอดภยั

• วิเคราะห์สถิติที่ส าคญั

คุณสมบัตทิี่ส าคัญของระบบ LOG ขนาดใหญ่

• รองรับข้อมลูขนาดใหญ่

• รองรับการตรวจจบัข้อมลูแบบ Real-Time

• รองรับข้อมลูที่หลากหลายรูปแบบ

• รองรับการรวบรวมข้อมลูจากหลาย Server ที่อาจอยูต่า่งสถานที่

• มีความสามารถในการค้นหาข้อมลูได้อย่างรวดเร็ว

ข้อมูลที่ไม่สามารถประมวลผลได้เสร็จสิน้ ในเวลาที่เหมาะสม โดยใช้เคร่ืองเพียง 2-3 เคร่ือง

ตัวอย่างเล็กๆ IT LOG ของจุฬาลงกรณ์มหาวิทยาลัย

Users 40,000+Servers = 500+Wifi + NAT

Manual processes

Approx. traffic: 5,000 events / sec

Storage 90 days= 39,000,000,000 events (6.5TB)

Use Syslog + Graylog-2 (based on

ElasticSearch technology)

คุณลักษณะของ BIG DATA

Source: IBM

สถาปัตยกรรมของระบบต้นแบบ

ความต้องการเพิ่มเตมิ

• การจดัเก็บและบริหารของข้อมลู Log จากวิทยาเขตตา่งๆ

• จฬุาลงกรณ์มหาวิทยาลยั วิทยาเขตน่าน

• ศนูย์วิจยัจฬุาลงกรณ์มหาวิทยาลยั วิทยาเขตสระบรีุ

• การตรวจจบัปัญหาแบบ Real-Time

• การขยายที่จดัเก็บในราคาที่เหมาะสม

สรุปความต้องการของ BIG DATA LOG SYSTEM

• รองรับการเก็บข้อมลูขนาดใหญ่ ที่มีเสถียรภาพ มีประสิทธิภาพ ในราคาสมเหตสุมผล

• รองรับการรวบรวมข้อมลูจากหลายแหง่ โดยไมต่กหลน่ อยา่งมีประสิทธิภาพ

• รองรับการสืบค้น และแสดงผลที่งา่ยตอ่การใช้งาน

• รองรับการประมวลผลตามกฎหมาย และการท างานทัว่ไป ทัง้ในรูปแบบ Batch และ/หรือ Real-Time

ARCHITECTURAL PATTERN #1BASIC ARCHITECTURE

รวบรวมข้อมลู จดัเก็บข้อมลูประมวลผลข้อมลู

สืบค้นข้อมลู

• Opensource software framework โดยมีแนวความคิดจาก Google Search Engine Architecture

• เน้นการใช้ Commodity Hardware ราคาถกู แต ่Software ท่ีเก่ง เพื่อท าให้เกิด Reliability

• Map-Reduced ท าให้ง่ายตอ่การเขียนโปรแกรมท างานบน Cluster โดยไม่จ าเป็นต้องช านาญด้าน Parallel Processing

• มี Hadoop File System (HDFS) ในการจดัเก็บข้อมลูท่ี reliable ในราคาไมแ่พง

• ผู้ใช้: Yahoo!, Facebook, Amazon, eBay, American Airline, Apple, Google, HP, IBM, Microsoft, Netflix, New York Times, ฯลฯ

Rackaware

3 copy

ELASTICSEARCH

• ระบบ OpenSource ท่ีมีลกัษณะเป็นฐานข้อมลูผสม Search Engine

• ถกูออกแบบมาเพื่อรองรับการจดัการ Real-Time data

• รองรับการท า Scale-Out ในรูปแบบของ Cluster

• เป็นการแบง่ข้อมลูออกเป็นชิน้ๆ แตล่ะชิน้เรียกวา่ Shard

• การแบง่ Shard จะใช้ Timestamp ของ Log เป็นตวัแบง่

• 1 Shard สามารถมีหลาย Copy ได้ (Replication)

# of shards = 1# of replicas = 1

# of shards = 2# of replicas = 1

# of shards = 3# of replicas = 1

# of shards = 3# of replicas = 2

ARCHITECTURAL PATTERN #2LAMBDA ARCHITECTURE

รวบรวมข้อมลู จดัเก็บข้อมลูประมวลผลข้อมลู

สืบค้นข้อมลู

รวบรวมข้อมลูประมวลผลข้อมลู

ตรวจจบัเง่ือนไข แจ้งเตือน

Speed Layer

Batch Layer Serving Layer

Python

• ระบบงานประมวลผลโดยใช้หน่วยความจ าเป็นหลกั (In-Memory Data Processing) ของ UC Berkeley

• ขยาย MapReduce ให้รองรับ batch executions, interactive queries, และstream processing

• รองรับหลายภาษา ทัง้ Java, Python, Scala, และ R และมี analytic libraries (machine learning, graph processing)

• ได้รับความร่วมมือในการพฒันา และการสนบัสนนุจากคนทัว่โลก

• เร็วกวา่ Hadoop 10-100 เทา่

DATA COLLECTOR (LOG SHIPPER)

• เคร่ืองมือในการดงึข้อมลูจาก Server ต้นทาง สง่มายงั Big Data ปลายทาง แบบ Real-Time

• มีประสทิธิภาพสงู ใช้เวลาในการเคลื่อนย้ายข้อมลูสัน้

• สามารถประมวลผล/ปรับเปลี่ยน In-Flight Data ได้

• มีลกัษณะเป็น Adapter / Plugin Architecture

• สามารถขยายระบบเพ่ือรองรับเคร่ืองต้นทางจ านวนมากได้

• รองรับการท างานแบบกระจาย

• Reliability และ Availability

Source: Sematext, “Top 5 Most Popular Log Shipper”,

http://blog.sematext.com/2014/10/06/top-5-most-popular-log-shippers/

APACHE FLUME

• ระบบน าเข้าข้อมลูแบบ Opensource

• Distributed / Reliable / Scalable

Event

APACHE FLUME OVERVIEW BY GETINDATA

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

Source: http://www.slideshare.net/getindata/apache-flume-37675297

ตัวอย่างของการวิเคราะห์ LOG ที่ต้องอาศัย LAMBDA ARCHITECTURE

• การนบัจ านวนผู้ใช้งานแยกตามพืน้ที่ / เวลา

• การวิเคราะห์ Traffic Anomaly (เช่น SARIMA)

บทสรุป

• การเก็บ Log ขนาดใหญ่ไม่ใช่เร่ืองยุง่ยากอีกตอ่ไป

• เคร่ืองมือมีหลายหลายและเป็น Opensource

• รูปแบบ Architecture มีความส าคญัตอ่การพฒันา

• ความเข้าใจในเชิงลกึมีความส าคญัตอ่การปรับแตง่ระบบ

• สามารถใช้เป็นพืน้ฐานในการตอ่ยอดในด้านงานวิจยั