TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN VĂN CƯỜNG GIẢI PHÁP NỀN TẢNG CHO HỆ THỐNG TÍCH HỢP DỮ LIỆU LỚN VÀ KHÔNG ĐỒNG NHẤT LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN Hà Nội - 2015... ĐẠI HỌC QUỐC GIA
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRẦN VĂN CƯỜNG
GIẢI PHÁP NỀN TẢNG CHO HỆ THỐNG TÍCH HỢP DỮ LIỆU LỚN VÀ KHÔNG ĐỒNG NHẤT
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
Hà Nội - 2015
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRẦN VĂN CƯỜNG
GIẢI PHÁP NỀN TẢNG CHO HỆ THỐNG TÍCH HỢP DỮ LIỆU LỚN VÀ KHÔNG ĐỒNG NHẤT
Ngành: Công nghệ Thông tin
Chuyên ngành: Kỹ thuật phần mềm
Mã số: 60 48 01 03
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS NGUYỄN VĂN NAM
Hà Nội - 2015
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan luận văn đƣợc hoàn thành trên cơ sở nghiên cứu, tổng hợp và phát triển các nghiên cứu về các giải pháp tốt nhất về quy trình xử lý tích hợp dữ liệu hiện có
Luận văn này là mới, các đề xuất trong luận văn do chính tôi thực hiện, qua quá trình nghiên cứu đƣa ra và không sao chép nguyên bản từ bất kỳ một nguồn tài liệu nào khác
Hà Nội, ngày tháng năm
2015
Học viên
Trần Văn Cường
Trang 4
LỜI CẢM ƠN
Lời đầu tiên tôi xin gửi lời cảm ơn chân thành và biết ơn sâu sắc tới TS Nguyễn Văn Nam, người thầy đã chỉ bảo và hướng dẫn tận tình cho tôi trong suốt quá trình nghiên cứu khoa học và thực hiện luận văn này
Tôi xin chân thành cảm ơn sự giúp đỡ và góp ý rất nhiệt tình của các Anh/Chị/Em trong trung tâm phần mềm FIS-Bank thuộc công ty Hệ thống thông tin FPT đã tạo mọi điều kiện thuận lợi cho tôi trong thời gian hoàn thành các môn học cũng như trong suốt quá trình làm luận văn tốt nghiệp
Và cuối cùng, tôi xin gửi lời cảm ơn tới gia đình, người thân và bạn bè – Những người luôn ở bên tôi những lúc khó khăn nhất, luôn động viên khuyến khích tôi trong cuộc sống và trong công việc
Trang 5MỤC LỤC
LỜI CAM ĐOAN
LỜI CẢM ƠN
MỤC LỤC
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
DANH MỤC CÁC HÌNH VẼ
MỞ ĐẦU 8
CHƯƠNG 1: SỰ CẦN THIẾT PHẢI XỬ LÝ TÍCH HỢP DỮ LIỆU TẬP
TRUNG Error! Bookmark not defined
1.1 Tổng quan về dữ liệu lớn và không đồng nhấtError! Bookmark not defined
1.1.1 Log - dữ liệu không đồng nhất Error! Bookmark not defined
1.1.2 Các cấp độ của log [2][3] Error! Bookmark not defined
1.1.3 Chi tiết về Log File [1][4][5] Error! Bookmark not defined
1.1.4 Tại sao phân tích dữ liệu log Error! Bookmark not defined
1.2 Khó khăn của việc thực hiện hệ thống tích hợp dữ liệu không đồng nhấtError! Bookmark not defined 1.3 Khó khăn khi thực hiện xử lý tích hợp dữ liệu thời gian thựcError! Bookmark not defined
1.4 Kết luận Error! Bookmark not defined
CHƯƠNG 2: HỆ THỐNG TÍCH HỢP DỮ LIỆU LỚN VÀ KHÔNG ĐỒNG
NHẤT LÀ GÌ? Error! Bookmark not defined
2.1 User Case Error! Bookmark not defined
2.2 Thực hiện quản lý tích hợp dữ liệu tập trung Error! Bookmark not defined
2.2.2 Chi tiết bộ thu thập dữ liệu Shipper Error! Bookmark not defined
2.2.3 Chi tiết về hàng đợi Error! Bookmark not defined
2.2.4 Chi tiết về bộ phân giải dữ liệu Parser Error! Bookmark not defined
2.2.5 Chi tiết về Database Error! Bookmark not defined
2.2.6 Chi tiết về Client Error! Bookmark not defined
2.3 Nền tảng từ các hệ thống hiện có Error! Bookmark not defined
2.3.2 Hệ thống Splunk [13] Error! Bookmark not defined
2.3.3 Hệ thống ELK [14] Error! Bookmark not defined
Trang 62.4 Các vấn đề tiếp cận Error! Bookmark not defined 2.4.1 Đọc dữ liệu log mới sinh ra Error! Bookmark not defined 2.4.2 Đọc dữ liệu từ file lớn Error! Bookmark not defined 2.4.3 Các mô hình nghiên cứu Error! Bookmark not defined
2.4.5 Filter – Format – Tag [18] Error! Bookmark not defined
2.5 Kết luận Error! Bookmark not defined
CHƯƠNG 3: ĐỀ XUẤT eLMS – HỆ THỐNG TÍCH HỢP GỌN NHẸ, THỜI
GIAN THỰC Error! Bookmark not defined 3.1 Xây dựng giải pháp Error! Bookmark not defined 3.1.1 eLMS đa luồng Error! Bookmark not defined 3.1.2 eLMS đơn luồng Error! Bookmark not defined 3.2 Triển khai mô hình cơ sở eLMS Error! Bookmark not defined 3.3 Thực nghiệm Error! Bookmark not defined 3.4 Kết luận Error! Bookmark not defined 3.5 Các công việc tiếp theo Error! Bookmark not defined KẾT LUẬN Error! Bookmark not defined
TÀI LIỆU THAM KHẢO 9
Trang 7DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Trang 8DANH MỤC CÁC HÌNH VẼ
Trang 9H ÌNH 3.6 MESSAGE CYCLE 58
Trang 108
MỞ ĐẦU
1 Đặt vấn đề
Ngày nay, việc thực hiện giám sát các máy chủ server là một hành động thực sự cần thiết và quan trọng, có thể giúp cho các quản trị hệ thống theo dõi các hoạt động của người sử dụng nhằm cải thiện khả năng quản lý hệ thống, quản lý người dùng, quản lý các vấn đề về cân bằng tải cũng như để phát hiện ra các cuộc tấn công DDoS Thông thường, việc giám sát, theo dõi các máy chủ server dựa vào nhật ký file dữ liệu ghi lại Tuy nhiên, hệ thống quản lý dữ liệu luôn được coi là và đắt đỏ cho việc thu thập, tích hợp, lưu trữ, tìm kiếm và phân tích dữ liệu
Trong luận văn này sẽ trình bày các phương pháp xây dựng một hệ thống quản lý và tích hợp dữ liệu tập trung với hiệu suất tối ưu, viết tắt là eLMS (Efficient Log Management System) – Một hệ thống có kiến trúc được thiết kế nhẹ nhàng, mềm dẻo và có khả năng mở rộng Trong eLMS, các file dữ liệu có thể được thu thập từ nhiều nguồn từ nhiều server khác nhau Lưu trữ trong một
mô hình có khả năng kết hợp thêm nhiều Plug-in, tích hợp việc lập chỉ mục index và có thể phân tích dữ liệu nhanh chóng Hệ thống eLMS hoạt động trên
cả chế độ online và offline, cung cấp một giao diện hiển thị các thông số giám sát, thống kê dựa trên dữ liệu thời gian thực Hiệu suất của eLMS được đánh giá tổng thể ở một vài trường hợp nghiên cứu
Cơ sở khoa học và thực tiễn của luận văn dựa trên các vấn đề về tích hợp
và xử lý các dữ liệu không đồng nhất – Log, xml, meta-data hoặc các dữ liệu tương tự Để tổng quát kiểu dữ liệu như vậy luận văn chỉ đề cập tới các vấn đề
xử lý tích hợp dữ liệu log tập trung
Log cũng được coi như là dữ liệu lớn bởi vì kích thước thường xuyên tăng trưởng theo thời gian Việc quản lý log cũng là một ứng dụng xử lý dữ liệu lớn
mà chúng ta thường hay biết đến với nền tảng Hadoop Tuy nhiên, Hadoop chủ yếu hỗ trợ các hệ thống có quy mô rất lớn như Google, Yahoo, Đối với hệ thống cỡ vừa và nhỏ, Hadoop trở nên cồng kềnh, đắt đỏ, không thực tế để thực hiện Hơn nữa, Nó cũng không đủ nhanh cho việc dữ lý dữ liệu online Luận văn hướng đến xây dựng một hệ thống quản lý tích hợp nhẹ hơn và xử lý thời gian thực để việc sử dụng có ích cho cho các tổ chức, các công ty vừa và nhỏ nhưng
Trang 11[1] The Logstash Book Version v1.4.3 Publisher by You Lulu Inc James Turnbull 2014
[2] A Gentle Introduction to ROS, chapter 4: Log messages Publisher by CreateSpace Independent Publishing Platform Jason M O’Kane 2013
[3] Oracle JDBC Logging using java.util.logging, An Oracle White Paper 2009
[4] I Heart Logs Publisher by O'Reilly Media; 1 edition Jay Kreps 2014
[5] System Logging and Log Analysis (AKA: Everything we know and hate about system logging
Marcus J Ranum 2014
[6] Patricio Córdova Analysis of Real Time Stream Processing Systems Considering Latency University of Toronto patricio@cs.toronto.edu 2015
[7] Centralised logging with rsyslog Peter Matulis 2009
[8] Radomır Sohlich, Jakub Janostık, Frantisek Spacek Centralized logging system based on WebSockets protocol 13th International Conference on telecommunications and informatics, Istanbul,Turkey 2014
[9] Jay Kreps , Neha Narkhede , Jun Rao Kafka: a Distributed Messaging System for Log Processing LinkedIn Corp 2015
[10] Arhs Cerebro Real-Time Engine, Business Analytics For All, http://www.ba4all.be
[11] Centralized logging architecture series, http://logs101.com
[12] Tom White 2009 Hadoop: The Definitive Guide (1st ed.) O'Reilly Media, Inc
[13] Splunk system, Splunk® Inc Headquarters, http://www.splunk.com
[14] Alberto Paro 2013 Elasticsearch Cookbook Packt Publishing
[15] MIT College of Engineering University of Pune Real Time Generalized Log File Management and Analysis using Pattern Matching and Dynamic Clustering International Journal of Computer Applications (0975 8887) Volume 91 - No 16, April 2014
[16] Monitor everything part 3, Logstash Improvements https://ianunruh.com
[17] Johnvey Hwang 2009 Splunk, innovation behind In Proceedings of the Symposium on Computer Human Interaction for the Management of Information Technology (CHiMiT '09) ACM, New York, NY, USA, , pages DOI=http://dx.doi.org/10.1145/1641587.1814304
[18] Alien Vault, Life Cycle of a Log, 2014, https://www.alienvault.com/doc-repo/usm/security-intelligence/AlienVault_Life_cycle_of_a_log.pdf
[19] Large Scale Log Analytics With Solr, Sematext group, http://blog.sematext.com
https://highlyscalable.wordpress.com