Nghiên cứu giải pháp tự động phát hiện sự cố hệ thống dựa trên công nghệ ELK (elasticsearch, logstash và kibana)

68 179 3
Nghiên cứu giải pháp tự động phát hiện sự cố hệ thống dựa trên công nghệ ELK (elasticsearch, logstash và kibana)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN VĂN LINH NGHIÊN CỨU GIẢI PHÁP TỰ ĐỘNG PHÁT HIỆN SỰ CỐ HỆ THỐNG DỰA TRÊN CÔNG NGHỆ ELK (ELASTICSEARCH, LOGSTASH VÀ KIBANA) LUẬN VĂN THẠC SĨ NGÀNH HỆ THỐNG THÔNG TIN Hà Nội - 2019 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN VĂN LINH NGHIÊN CỨU GIẢI PHÁP TỰ ĐỘNG PHÁT HIỆN SỰ CỐ HỆ THỐNG DỰA TRÊN CÔNG NGHỆ ELK (ELASTICSEARCH, LOGSTASH VÀ KIBANA) Ngành: Hệ thống thông tin Chuyên ngành: Hệ thống thông tin Mã số: 8480104.01 LUẬN VĂN THẠC SĨ NGÀNH HỆ THỐNG THÔNG TIN GIẢNG VIÊN HƯỚNG DẪN: PGS.TS Nguyễn Hà Nam Hà Nội - 2019 LỜI CẢM ƠN Để hồn thiện luận văn thạc sĩ mình, trước tiên, tơi xin bày tỏ lòng biết ơn sâu tới thầy – PGS.TS Nguyễn Hà Nam (bộ môn Các hệ thống thông tin – trường Đại học Công nghệ – Đại học Quốc gia Hà Nội) Sự gần gũi nhiệt tình hướng dẫn thầy nguồn động lực lớn suốt thời gian thực luận văn Tôi xin gửi lời cảm ơn chân thành tới tất thầy, cô môn Các hệ thống thông tin, thầy, cô khoa Công nghệ thông tin – trường Đại học Công nghệ – Đại học Quốc gia Hà Nội nhiệt tình giảng dạy, cung cấp cho kiến thức, kinh nghiệm không học tập mà sống hàng ngày Đồng thời xin gửi lời cảm ơn đến cha mẹ, người thân gia đình, bạn học viên, đồng nghiệp giúp đỡ, động viên, tạo điều kiện tốt cho tơi suốt khóa học Trường Đại học Công nghệ – Đại học Quốc gia Hà Nội để tơi hồn thiện tốt luận văn thạc sĩ Hà Nội, tháng năm Học viên Trần Văn Linh LỜI CAM ĐOAN Tôi xin cam đoan luận văn tốt nghiệp “Nghiên cứu giải pháp tự động phát cố hệ thống dựa công nghệ ELK (ElasticSearch, Logstash Kibana)” công trình nghiên cứu thực thân, được thực hiện cơ sở nghiên cứu lý thuyết, kiến thức chuyên ngành, nghiên cứu khảo sát tình hình thực tiễn dưới hướng dẫn khoa học PGS.TS Nguyễn Hà Nam Các kết viết chung với tác giả khác đồng ý tác giả trước đưa vào luận văn Những phần tham chiếu, trích dẫn luận văn nêu rõ phần tài liệu tham khảo Các số liệu, kết trình bày luận văn hồn tồn trung thực Nếu sai tơi xin chịu hồn tồn trách nhiệm chịu kỷ luật khoa nhà trường đề Hà Nội, tháng năm 201 Học viên Trần Văn Linh MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC .4 DANH MỤC CÁC TỪ VIẾT TẮT .6 DANH MỤC HÌNH VẼ MỞ ĐẦU CHƯƠNG I: GIỚI THIỆU BÀI TỐN VÀ LỰA CHỌN CƠNG NGHỆ 12 1.1 Một số khái niệm 12 1.2 Giới thiệu toán 12 1.3 Lựa chọn công nghệ .13 1.4 Tìm hiểu tảng cơng nghệ ELK 21 1.4.1 Giới thiệu ELK .21 1.4.2 ElasticSearch 21 1.4.3 Logstash 33 1.4.4 Kibana 41 1.5 Kết luận 41 CHƯƠNG II: PHÂN TÍCH, THIẾT KẾ, XÂY DỰNG HỆ THỚNG QUẢN LÝ LOG TẬP TRUNG CHO TẬP ĐỒN BẢO VIỆT .42 2.1 Hiện trạng hạ tầng CNTT Bảo Việt 42 2.1.1 Hiện trạng dịch vụ 42 2.1.2 Hiện trạng hạ tầng máy chủ 43 2.1.3 Hiện trạng tảng hệ điều hành phần mềm 43 2.1.4 Hiện trạng mơ hình hạ tầng hệ thống CNTT 44 2.1.5 Hiện trạng quản lý, giám sát hệ thống 45 2.2 Kiến trúc giải pháp 45 2.2.1 Mô hình tổng thể giải pháp 46 2.2.2 Mơ hình luồng liệu 49 2.2.3 Mơ hình trao đổi liệu với hệ thống khác .50 2.3 Kết luận 50 CHƯƠNG III: XÂY DỰNG THỬ NGHIỆM HỆ THỐNG QUẢN LÝ LOG TẠI BẢO VIỆT 51 3.1 Môi trường thử nghiệm 51 3.2 Mơ hình cấu hình thử nghiệm 53 3.3 Kết đạt 59 3.4 Đánh giá kết 62 3.5 Các vấn đề tồn hướng phát triển 63 3.5.1 Vấn đề sử dụng nhiều tài nguyên máy chủ 63 3.5.2 Vấn đề thất lạc liệu log 63 3.5.3 Hướng phát triển giải vấn đề 63 3.6 Kết luận 64 KẾT LUẬN 65 TÀI LIỆU THAM KHẢO 67 DANH MỤC CÁC TỪ VIẾT TẮT CSDL Cơ sở liệu ELK ElasticSearch, Logstash, Kibana ETL Extract, Transform, Load ESB Enterprise Service Bus EAI Enterprise application integration EDR Enterprise data replication VSM Vector Space Model CNTT Công nghệ thông tin BI Business Inteligence DANH MỤC HÌNH VẼ Hình 1.1 : Một số tảng công nghệ sử dụng để quản lý log .14 Hình 1.2 : Mơ hình Massive Parallel Processing 23 Hình 1.3 : Mơ hình cụm Cluster ElasticSearch .23 Hình 1.4 : So sánh thành phần ElasticSearch với Cơ sở liệu quan hệ 24 Hình 1.5 : Biểu đồ Tearm Frequency mơ hình BM25 TF/IDF 29 Hình 1.6 : Tiến trình phân tích từ tố (Analysis) ElasticSearch 32 Hình 1.7 : Giới thiệu logstash 33 Hình 1.8 : Tiến trình ETL .35 Hình 1.9 : Các tiến trình hoạt động Logstash 35 Hình 1.10 : Cơ chế hoạt động Pull Push Logstash 35 Hình 1.11 : Giới thiệu Kibana .41 Hình 2.1 : Cơ cấu tổ chức mơ hình dịch vụ Tập đồn Bảo Việt 42 Hình 2.2 : Hiện trạng mơ hình hạ tầng CNTT Bảo Việt 44 Hình 2.3 : Mơ hình tổng thể giải pháp 46 Hình 2.4 : Mơ hình hoạt động Logstash 47 Hình 2.5 : Mơ hình luồng liệu giải pháp 49 Hình 2.6 : Mơ hình trao đổi liệu với hệ thống khác 50 Hình 3.1: Mơ hình hệ thống dịch vụ BVCare 52 Hình 3.2 : Mơ hình cấu hình thử nghiệm giải pháp ELK cho dịch vụ BVCare .53 Hình 3.3 : Sơ đồ khối luồng xử lý liệu log với Logstash 54 Hình 3.4 : Sơ đồ khối bước “Lọc chuẩn hóa liệu log” thực Logstash .55 Hình 3.5 : Email cảnh báo hết dung lượng lưu trữ 60 Hình 3.6 : Biểu đồ thống kê mã lỗi gặp phải với hệ thống BVCare .61 Hình 3.7 : Email cảnh báo địa lạ kết nối tới sở liệu hệ thống BVCare 61 Hình 3.8 : Biểu đồ thống kê địa người dùng kết nối tới sở liệu BVCare 62 Hình 3.9 : Mơ hình hướng phát triển giải pháp 64 MỞ ĐẦU Trong thời đại công nghệ số, dịch vụ mua bán, trao đổi truyền thống dần thay bởi thương mại điện tử Đặc biệt với giao dịch tài chuyển tiền ngân hàng, mua bán hợp đồng bảo hiểm, chứng khoán thực internet thông qua dịch vụ công nghệ thông tin mà tổ chức tài chính, ngân hàng, bảo hiểm xây dựng để cung cấp cho khách hàng Chất lượng dịch vụ công nghệ thông tin tổ chức, doanh nghiệp mang ý nghĩa sống lợi cạnh tranh không nhỏ cho doanh nghiệp thương trường; đặc biệt doanh nghiệp hoạt động lĩnh vực tài chính, bảo hiểm, ngân hàng, mà hệ thống phải hoạt động liên tục 24/7 để đáp ứng nhu cầu sử dụng dịch vụ khách hàng Khi chất lượng dịch vụ công nghệ thông tin nâng cao, trải nghiệm người dùng tốt thu hút giữ khách hàng ngược lại Trong trình hoạt động, hệ thống cơng nghệ thơng tin doanh nghiệp gặp cố lúc Các tổ chức phải đối mặt với cố ngừng hoạt động dịch vụ mối đe dọa bảo mật khác nhau, việc giám sát toàn tảng ứng dụng điều cần thiết để hiểu rõ nguồn gốc mối đe dọa nguyên nhân xảy cố, để xác minh kiện, log dấu vết để hiểu hành vi hệ thống thời điểm dự đốn có hành động khắc phục kịp thời Giám sát phân tích liệu log quan trọng tổ chức hoạt động CNTT để xác định nỗ lực xâm nhập trái phép, theo dõi hiệu suất ứng dụng, cải thiện hài lòng khách hàng, tăng cường bảo mật chống lại công mạng, thực phân tích nguyên nhân gốc phân tích hành vi, hiệu suất, đo lường số liệu dựa phân tích liệu log Việc phát xử lý sớm lỗi dẫn tới nguy xảy cố hệ thống có ý nghĩa quan trọng chất lượng dịch vụ mà doanh nghiệp cung cấp Nhiều doanh nghiệp thực cơng việc cách thủ cơng – nhóm cán phụ trách trực hạ tầng thực đọc log hệ thống riêng lẻ tìm kiếm theo từ khóa lỗi xảy ra, từ khóa tìm thấy, cán trực hạ tầng thực gửi thư điện tử (email) thông báo tới cán quản trị dịch vụ để khắc phục lỗi Việc tìm kiếm lỗi gửi email thơng báo theo cách thủ công dẫn tới việc chậm trễ thiếu sót q trình phát xử lý lỗi, ảnh hưởng trực tiếp đến hoạt động kinh doanh doanh nghiệp Bài toán đặt cần phải tự động hóa cơng việc để phát thông báo lỗi tới cán quản trị cách nhanh để giảm thiểu tối đa thời gian ảnh hưởng đến khả cung cấp dịch vụ doanh nghiệp Mục tiêu đề tài tập trung vào nghiên cứu, xây dựng giải pháp công nghệ để giải toán cho doanh nghiệp Giải toán mang ý nghĩa to lớn cho doanh nghiệp, khơng phục vụ cho hoạt động kinh doanh doanh nghiệp mà tăng vị thế, uy tín doanh nghiệp chất lượng dịch vụ mà doanh nghiệp cung cấp nâng cao Có nhiều tảng cơng nghệ đáp ứng cho toán quản lý log, kể số tảng trội Splunk, Graylog, Loggly, Solarwind thân nội hệ thống hệ điều hành Window, Linux, Database,… có phần quản lý logs riêng Tuy nhiên điểm yếu tảng công nghệ kể không hỗ trợ quản lý tập trung, khơng có tảng tìm kiếm đủ mạnh, khơng hỗ trợ mở rộng, khơng hỗ trợ phân tích logs sử dụng phải trả khoản chi phí cao (phần mềm thương mại) Đề tài tập trung nghiên cứu giải pháp công nghệ ELK công nghệ hài hòa chi phí đầu tư khả đáp ứng tiêu chí mã nguồn mở, hỗ trợ mở rộng theo chiều ngang (Clusters), có tảng tìm kiếm mạnh mẽ (ElasticSearch), hỗ trợ phân tích số liệu thu thập (Analytic), quản lý logs tập trung, tìm kiếm thơng báo lỗi cách tự động Tính cấp thiết đề tài Tại Việt Nam, dịch vụ Công nghệ thông tin phục vụ nghiệp vụ kinh doanh trở thành xương sống doanh nghiệp Nền kinh tế hội nhập đòi hỏi doanh nghiệp cần phải cung cấp dịch vụ với chất lượng cao để cạnh tranh với đối thủ nước Một hệ thống dịch vụ Công nghệ thông tin phục vụ nghiệp vụ kinh doanh đòi hỏi dịch vụ phải có tốc độ xử lý nhanh, phục vụ nhiều người dùng đồng thời phải sẵn sàng 24/7 Bất kỳ hệ thống dịch vụ Công nghệ thông tin tiềm ẩn nhiều rủi ro gây gián đoạn hoạt động kinh doanh Tổ chức, Doanh nghiệp Để cung cấp dịch vụ Cơng nghệ thơng tin với chất lượng cao nhất, ngồi đội ngũ cán có trình độ chun mơn tốt để phát triển vận hành dịch vụ công nghệ thông tin doanh nghiệp cần phải có giải pháp để giúp giảm thiểu cố, rủi ro gây gián đoạn dịch vụ Tại Tập đoàn Bảo Việt, Trung tâm Công nghệ thông tin cung cấp hàng trăm dịch vụ Công nghệ thông tin cho đơn vị thành viên phục vụ nghiệp vụ kinh doanh Số lượng máy chủ phần mềm lên tới số hàng nghìn Kiểm soát diễn biến, thay đổi hệ thống phút, giúp đội ngũ kỹ thuật phát sớm rủi ro tiềm ẩn gây cố gián đoạn dịch vụ, ảnh hưởng tới kết kinh doanh công ty thành viên tồn Tập đồn Do việc nghiên cứu xây dựng hệ thống quản lý log tập trung cho hệ thống Tập đoàn nhằm mục đích phát sớm rủi ro tiềm ẩn vấn đề cần thiết cấp bách mà theo tác giả không cần thiết cho riêng Tập đồn Bảo Việt mà cho doanh nghiệp sử dụng dịch vụ Công nghệ thông tin vào phục vụ sản xuất kinh doanh 53 ngày lớn, ElasticSearch với kiến trúc Cluster mở rộng theo chiều ngang (thêm node) giúp tăng sức mạnh tính tốn phân tán, hồn tồn xử lý lượng liệu log sinh bởi hệ thống phần mềm Tập đoàn Bảo Việt Dịch vụ BVCare phần mềm quản lý bảo hiểm bảo lãnh Y tế, cung cấp cho Tổng công ty Bảo hiểm Bảo Việt, công ty sở Y tế đối tác với Bảo hiểm Bảo Việt sử dụng 24/7 Với đặc thù dịch vụ cần hoạt động liên tục khơng có thời gian dừng, nên cơng việc giám sát phát kịp thời lỗi gặp phải với hệ thống cách nhanh xác giúp giảm thiểu cố xảy với hệ thống 3.2 Mơ hình cấu hình thử nghiệm Từ mơ hình hệ thống trình bày mục 3.1 ta có mơ hình cấu hình thử nghiệm triển khai giải pháp ELK sau: Hình 3.2 : Mơ hình cấu hình thử nghiệm giải pháp ELK cho dịch vụ BVCare Mơ hình thử nghiệm hệ thống BVCare hình 3.2 bao gồm luồng liệu: (I) : Luồng trích xuất, tích hợp, giám sát, cảnh báo lỗi liệu log máy chủ Apache Http (II) : Luồng trích xuất, tích hợp, giám sát, cảnh báo lỗi liệu log máy chủ ứng dụng (III) : Luồng trích xuất, tích hợp, giám sát, cảnh báo lỗi liệu log máy chủ sở liệu Dữ liệu log Logstash trích xuất tổng hợp theo cơng nghệ ETL, liệu từ Logstash đưa vào đầu ElasticSearch để đánh mục Email Server để gửi email cảnh báo tự động lỗi phát liệu log Sau liệu 54 sau đánh mục ElasticSearch sử dụng bởi Kibana để người dùng, nhà phân tích liệu xây dựng biểu đồ, trừu tượng hóa liệu để phân tích chúng Với thành phần hệ thống (Http, ứng dụng, sở liệu) có liệu log với cấu trúc khác nhau, nhiên để cấu hình Logstash trích xuất tích hợp liệu log vào ElasticSearch gửi email cảnh báo tự động phát mã lỗi ta phải thực cấu hình cho thành phần: Input, Filter Output tương ứng với tiến trình cơng nghệ ETL Extract, Transform Load Chúng xây dựng sơ đồ khối chung để xử lý cho nhiều loại liệu log sau: File input Plugin: input { file { path => "/u01/app/oracle/diag/ rdbms/bvcaredb/bvcaredb1/trace/ alert_ bvcaredb1.log" } } Kiểm tra có liệu thay đổi hay khơng? Khơng thay đổi Có thay đổi Filter Plugin: filter { # Kết hợp nhiều dòng lưu ký mốc thời gian thành kiện multiline { pattern => "%{DAY} %{MONTH} %{MONTHDAY} %{TIME} %{YEAR}" negate => true what => "previous" } …… Đọc tệp liệu lưu ký Lọc, chuẩn hóa liệu lưu ký (1) Kiểm tra mã lỗi Đưa liệu vào ElasticSearch đánh mục Khơng có lỗi Có mã lỗi ElasticSearch output Plugin: # đưa liệu vào đánh mục ElasticSearch elasticsearch { hosts => ["elk:9200"] index => "oracle-%{+YYYY.MM.dd}" } …… Gửi email cảnh báo Email output Plugin: if "ORA-" in [message] { email { port => 587 address => "smtp.gmail.com" username => "linh****@gmail.com" password => "*****" authentication => "plain" use_tls => true from => " linh****@gmail.com" subject => "Cảnh Báo: Có lỗi tìm thấy liệu lưu ký sở liệu hệ thống BVCare" to => "tranvan.linh@baoviet.com.vn" via => "smtp" body => "%{message}" debug => true } Hình 3.3 : Sơ đồ khối luồng xử lý liệu log với Logstash Trong đó: Bước (1): “Lọc chuẩn hóa liệu log” thực theo lưu đồ sau: 55 Filter Plugin: if [message] =~ /Starting ORACLE instance/ { mutate { add_field => [ "oradb_status", "starting" ] } } else if [message] =~ /Instance shutdown complete/ { mutate { add_field => [ "oradb_status", "shutdown" ] } } else { mutate { add_field => [ "oradb_status", "running" ] } Filter Plugin: multiline { pattern => "%{DAY} %{MONTH} %{MONTHDAY} %{TIME} %{YEAR}" negate => true what => "previous" } Nhóm dòng liệu theo thời gian Filter Plugin: Kiểm tra trạng thái bật/ tắt sở liệu Trích xuất mã lỗi có if [message] =~ /ORA-/ { grok { match => [ "message","(?ORA-[0-9]*)" ] } } Filter Plugin: # Trích xuất thơng tin message mutate { replace => [ "message", "%{log_message}" ] } mutate { remove_field => [ "time" ,"month","monthday","year","timesta mp","day","log_message"] } } Trích xuất thơng tin liệu lưu ký Hình 3.4 : Sơ đồ khối bước “Lọc chuẩn hóa liệu log” thực Logstash Để cụ thể việc áp dụng sơ đồ khối vào việc trích xuất, tích hợp cảnh báo lỗi tự động cho liệu log nào, chúng tơi trình bày chi tiết cấu hình cho phân hệ sở liệu hệ thống BVCare Dữ liệu log thử nghiệm sở liệu BVCare có dạng sau: 56 … Mon Jan 28 15:42:41 2019 db_recovery_file_dest_size of 3882 MB is 0.00% used This is a user-specified limit on the amount of space that will be used by this database for recovery-related files, and does not reflect the amount of space available in the underlying filesystem or ASM diskgroup Mon Jan 28 15:49:37 2019 alter database open Errors in file /u01/app/oracle/diag/rdbms/dr1/DR1/trace/DR1_ora_11881.trc: ORA-01113: file needs media recovery ORA-01110: data file 1: '/u02/oradata/DR1/system01.dbf' ORA-1113 signalled during: alter database open Mon Jan 28 15:49:38 2019 Checker run found new persistent data failures … Chi tiết cấu hình cho thành phần input, filter output Logstash để trích xuất, tích hợp liệu log đưa vào ElasticSearch, gửi email cảnh báo tự động mã lỗi “ORA-“ phát liệu log sau: # Cấu hình File input Plugin input { file { path => "/u01/app/oracle/diag/rdbms/bvcaredb/bvcaredb1/trace/alert_ bvcaredb1.log" } } # Cấu hình Filter Plugin filter { # Kết hợp nhiều dòng log mốc thời gian thành kiện 57 multiline { pattern => "%{DAY} %{MONTH} %{MONTHDAY} %{TIME} %{YEAR}" negate => true what => "previous" } # Tạo thêm trường để mô tả trạng thái database: # oradb_status: starting, running, shutdown if [message] =~ /Starting ORACLE instance/ { mutate { add_field => [ "bvcaredb_status", "starting" ] } } else if [message] =~ /Instance shutdown complete/ { mutate { add_field => [ " bvcaredb_status", "shutdown" ] } } else { mutate { add_field => [ " bvcaredb_status", "running" ] } } # Tìm kiếm mã lỗi ORA- tạo trường lưu mã lỗi tìm thấy if [message] =~ /ORA-/ { grok { match => [ "message","(?ORA-[0-9]*)" ] } } # Trích xuất liệu thời gian chi tiết thông điệp 58 grok { match => [ "message","%{DAY:day} %{MONTH:month} %{MONTHDAY:monthday} %{TIME:time} %{YEAR:year}(?.*$)" ] } mutate { add_field => { "timestamp" => "%{year} %{month} %{monthday} %{time}" } } date { locale => "en" match => [ "timestamp" , "yyyy MMM dd HH:mm:ss" ] } # Trích xuất thơng tin thơng điệp mutate { replace => [ "message", "%{log_message}" ] } mutate { remove_field => [ "time" ,"month","monthday","year","timestamp","day","log_message"] } } # Cấu hình ElasticSearch Output Plugin output { # đưa liệu vào đánh mục ElasticSearch elasticsearch { hosts => ["elk:9200"] index => "bvcare" } 59 # gửi email cảnh báo mã lỗi “ORA-” tìm thấy if "ORA-" in [message] { email { port address => 587 => "smtp.gmail.com" username => "linh****@gmail.com" password => "*****" authentication => use_tls => from => "plain" true " linh****@gmail.com" subject => "Cảnh Báo: Có lỗi tìm thấy liệu log sở liệu hệ thống BVCare" to => "tranvan.linh@baoviet.com.vn" via => "smtp" body => "%{message}" debug => true } } Kết đạt Sau triển khai thử nghiệm giải pháp, chúng tơi nhận biết lỗi phát sinh hệ thống theo thời gian thực, so với việc giám sát liệu log thủ công trước kết bước tiến giúp cán quản lý hệ thống khắc phục kịp thời lỗi trước cố xảy với hệ thống, nâng cao tốt chất lượng dịch vụ Với thông tin log đánh mục ElasticSearch chúng tơi giám sát tình trạng hoạt động hệ thống thông qua hình điều khiển mà chúng tơi xây dựng Kibana, ngồi chúng tơi sử dụng liệu log để phân tích hành vi người dùng vấn đề an ninh, bảo mật hệ thống 3.3 Để đánh giá hiệu hệ thống quản lý log xây dựng tình giả định phân vùng lưu trữ liệu sở liệu hết phát sinh liệu nhiều đột ngột, mà không bổ sung thêm dung lượng lưu trữ kịp thời 60 hệ thống bị ngừng hoạt động, liệu log sở liệu có cảnh báo “warning” mã lỗi kèm theo Theo cách thức giám sát kiểm tra hệ thống thủ công tại, cán trực hạ tầng kiểm tra liệu log định kỳ ngày từ đến lần tùy theo hệ thống khó để phát xử lý kịp thời lỗi ở lỗi xảy thời điểm ngày, chưa kể đến việc tìm kiếm mã lỗi cách thủ cơng gây thiếu sót bỏ qua lỗi, cố chắn xảy hệ thống, việc khắc phục muộn, ảnh hưởng đến hoạt động kinh doanh Tuy nhiên, đưa giải pháp ELK vào xây dựng hệ thống quản lý log, liệu log tổng hợp theo thời gian thực (real-time) Ngay sau liệu log xuất mã lỗi liên quan đến dung lượng lưu trữ bị hết, hệ thống tự động gửi email cảnh báo đến cán quản trị hệ thống để thực bổ sung thêm dung lượng lập tức, trước cố xảy ra: Hình 3.5 : Email cảnh báo hết dung lượng lưu trữ Việc đưa liệu log vào lưu trữ đánh mục ElasticSearch giúp cho cán quản trị cán ở phòng ban liên quan tìm kiếm thơng tin liệu log cách nhanh chóng tiện lợi tồn liệu log lưu trữ tập trung đánh mục, khác với việc lưu trữ phân tán trước Ngoài ra, với thông tin lưu trữ tập trung ElasticSearch nên cán quản trị sử dụng để tổng hợp, thống kê tình hình hoạt động vấn đề xảy tuần, tháng, quý,… việc thực với cách thức quản lý liệu log thủ công truyền thống Bảo Việt Ví dụ sau, từ liệu log đánh mục ElasticSeach chúng tơi dễ dàng xây dựng biểu đồ thống kê tình trạng lỗi gặp phải sở liệu theo thời gian thực: 61 Hình 3.6 : Biểu đồ thống kê mã lỗi gặp phải với hệ thống BVCare Trường hợp thử nghiệm thứ 2, thực giám sát phân tích liệu log kết nối vào sở liệu để kịp thời phát bất thường xảy sở liệu Chúng giả định trường hợp sở liệu có kết nối bất thường từ địa lạ, điều dẫn đến việc mát liệu mà khơng thể kiểm sốt khơng có hệ thống quản lý liệu log Kết có thơng tin log ghi nhận có địa lạ kết nối tới sở liệu, hệ thống quản lý log thực gửi email cảnh báo tới cán quản trị: Hình 3.7 : Email cảnh báo địa lạ kết nối tới sở liệu hệ thống BVCare Đồng thời, liệu log đánh mục ElasticSearch cách thời gian thực (real-time) giúp chúng tơi dễ dàng xây dựng hình thống kê, biểu đồ để phân tích số liệu Kibana, tìm xác vấn đề thời điểm hệ thống ghi nhận thông tin bất thường vào liệu log, với sức mạnh hệ truy hồi thông tin ElasticSearch kết hợp với phần mềm Kibana chúng tơi thực cơng việc cách dễ dàng nhanh chóng, điều mà thực sử dụng phương pháp quản lý liệu log thủ công truyền thống Ví dụ đây, chúng tơi thống kê danh sách địa có kết nối tới sở liệu vòng ngày trở lại, user sử dụng để đăng nhập vào hệ thống: 62 Hình 3.8 : Biểu đồ thống kê địa người dùng kết nối tới sở liệu BVCare Từ biểu đồ chúng tơi dễ dàng nhận xuất phát từ đâu có nhiều kết nối tới sở liệu nhất, địa bất thường, địa không thuộc diện phép truy cập vào hệ thống cách cố ý thực kết nối vào hệ thống hay biết người dùng truy cập bất hợp pháp vào sở liệu hệ thống,… Đánh giá kết Sau thực cấu hình thử nghiệm dựa mơ hình thử nghiệm trình bày ở trên, chúng tơi đánh giá kết đạt giải vấn đề toán quản lý liệu log Bảo Việt đề cập Chương – mục 1.2: “Giới thiệu toán”, là: 3.4  Quản lý liệu log tập trung ElasticSearch giúp dễ dàng tra cứu với hiệu cao, làm nguồn liệu cho tốn phân tích, xây dựng hình giám sát Kibana theo thời gian thực  Phát gửi thư điện tử cảnh báo lỗi, bất thường xảy với hệ thống cách tự động đến cán quản trị mang tính xác cao tức thời, giúp cán kịp thời phát khắc phục lỗi trước xảy cố với hệ thống So với công việc trước phải kiểm tra tìm mã lỗi cách thủ cơng kết bước tiến dài phục vụ hữu ích cho doanh nghiệp, giải phóng nguồn nhân lực thực công việc thủ công Việc giải vấn đề đồng nghĩa với việc giải hạn chế sử dụng cách thức quản lý giám sát liệu log truyền thống Bảo 63 Việt đề cập đến Chương – mục 2.1.5: “Hiện trạng quản lý, giám sát hệ thống” Ngoài ra, với liệu log lưu trữ tập trung ElasticSearch phần mềm Kibana mạnh mẽ, chúng tơi xây dựng biểu đồ, trừu tượng hóa liệu theo nhiều chiều để phân tích phát bất thường xảy với hệ thống thời gian thực, từ giúp nâng cao hiệu giám sát hệ thống chất lượng dịch vụ mà cung cấp Các vấn đề tồn hướng phát triển Qua trình thử nghiệm giải pháp trên, chúng tơi nhận thấy tồn số vấn đề mơ hình kiến trúc giải pháp chúng tơi trình bày mục 2.3 Chương II, là: 3.5 3.5.1 Vấn đề sử dụng nhiều tài nguyên máy chủ Do Logstash viết tảng ngơn ngữ Java, nên Logstash chạy cần cấp phát máy chủ ảo Java (JVM), máy chủ ảo chiếm lượng nhớ định, có nhiều tệp liệu log cần giám sát số lượng máy chủ JVM tăng theo chiếm phần lớn dung lượng nhớ máy chủ dịch vụ, điều gây nên ảnh hưởng đến hiệu dịch vụ 3.5.2 Vấn đề thất lạc liệu log Với mơ hình thử nghiệm, trình đẩy liệu log từ Logstash đến ElasticSearch tới mail server (máy chủ thư điện tử) qua giao thức mạng, đó, lý đó, thời điểm liệu log truyền mà đường mạng có vấn đề kết nối phần liệu log bị thất lạc không truyền Đây rủi ro cần kiểm soát để đảm bảo hệ thống giám sát cảnh báo lỗi liệu log hoạt động cách đắn đầy đủ nhất, không bỏ sót kiện liệu log 3.5.3 Hướng phát triển giải vấn đề Qua q trình nghiên cứu, chúng tơi nhận thấy vấn đề gặp phải trình bày mục 3.5.1 3.5.2 khắc phục, hướng phát triển cho hệ thống quản lý liệu log mà xây dựng  Với vấn đề Logstash sử dụng nhiều tài nguyên nhớ máy chủ chứa liệu log giải theo phương án sau: - Sử dụng Filebeat để tổng hợp liệu log thay Logstash - Logstash sử dụng với vai trò lọc, chế biến đẩy liệu log nhận từ Filebeat vào lưu trữ ElasticSearch Filebeat phát triển tảng Go API, nên Filebeat nhẹ, chạy tiết kiệm tài nguyên hỗ trợ nhiều loại liệu log tảng khác Kết hợp sử dụng Filebeat Logstash giải tốt vấn đề sử 64 dụng nhiều tài nguyên gây ảnh hưởng đến hoạt động dịch vụ Logstash  Với vấn đề thất lạc liệu log giải cách sử dụng thêm thành phần đệm hàng đợi (queue) để lưu giữ liệu log chờ xử lý Có thể kể đến số tảng đệm hàng đợi trội Redis, Kafka hay RabbitMQ Mô hình tổng thể hướng phát triển giải pháp sau: Tổng hợp liệu Bộ đệm hàng đợi Lọc, biến đổi liệu Lưu trữ, đánh mục Trừu tượng hóa, phân tích Hình 3.9 : Mơ hình hướng phát triển giải pháp 3.6 Kết luận Trong Chương III, luận văn trình bày chi tiết cơng việc triển khai thử nghiệm hệ thống Tập đoàn Bảo Việt, giải pháp quản lý log tập trung giúp người quản trị hệ thống tiếp nhận thông tin lỗi hệ thống từ liệu log cách tức thời thông qua việc gửi thư điện tử cảnh báo tự động, từ người quản trị hệ thống khắc phục lỗi kịp thời trước hệ thống gặp cố, gây gián đoạn dịch vụ Từ nguồn liệu log tổng hợp tập trung vào hệ truy hồi thông tin mạnh mẽ ElasticSearch nguồn liệu phục vụ để chúng tơi xây dựng hình giám sát hệ thống, phân tích liệu log để phân tích hành vi người dùng, vấn đề liên quan đến an ninh bảo mật hệ thống 65 KẾT LUẬN Quản lý tốt liệu log có chế cảnh báo tự động giúp cán quản trị hệ thống sớm biết vấn đề xảy với hệ thống theo thời gian thực để thực biện pháp khắc phục kịp thời trước cố hệ thống thực xảy Luận văn có số đóng góp sau: Thứ nhất: phân tích điểm yếu tồn cách thức quản lý giám sát liệu log Tập đoàn Bảo Việt: - Cán phải truy xuất liệu thủ công phân tán máy chủ để đọc tìm mã lỗi - Việc tìm kiếm thủ cơng chậm gây nhầm lẫn thiếu sót trình kiểm tra liệu log, gây rủi ro xảy cố cho hệ thống mà người quản trị kịp thời - Dữ liệu log không tận dụng để xây dựng báo cáo phân tích để tìm thơng tin hữu ích - Mất nhiều nguồn lực người để thực cơng việc đọc tìm kiếm lỗi thủ công Thứ hai: xác định vấn đề cần giải cho tốn quản lý liệu log Bảo Việt để giải điểm yếu, hạn chế trên, là: - Quản lý liệu log tập trung giúp dễ dàng tra cứu với hiệu cao, làm nguồn liệu cho tốn phân tích, xây dựng hình thống kê, giám sát hệ thống theo thời gian thực - Phát gửi thư điện tử cảnh báo lỗi, bất thường xảy với hệ thống cách tự động đến cán quản trị mang tính xác cao tức thời, giúp cán kịp thời phát khắc phục lỗi trước xảy cố với hệ thống Thứ ba: phân tích, thiết kế đưa vào thử nghiệm thành công giải pháp quản lý liệu log sử dụng công nghệ ELK giúp giải vấn đề phân tích ở trên, kết đạt hỗ trợ phát sớm vấn đề phát sinh bên hệ thống giúp cán quản trị khắc phục kịp thời lỗi gây xảy cố cho hệ thống, giải pháp ELK giúp: - Quản lý liệu log tập trung hệ truy hồi thông tin ElasticSearch - Thu thập phân tích liệu log thời gian thực với Logstash - Gửi email cảnh báo thời gian thực log ghi nhận vấn đề - Xây dựng hình thống kê, giám sát thời gian thực với Kibana giúp cán theo dõi trạng hoạt động hệ thống - Giải phóng nguồn nhân lực thu thập tìm kiếm mã lỗi, kiểm tra hệ thống thủ công trước 66 Vấn đề tồn Bên cạnh kết đạt được, Luận văn số hạn chế cần khắc phục thiết kế giải pháp như: - Vấn đề Logstash sử dụng tốn dung lượng nhớ máy chủ, ảnh hưởng đến hiệu ứng dụng - Vấn đề rủi ro thất lạc liệu log xảy lỗi đường truyền từ Logstash tới hệ truy hồi thông tin ElasticSearch - Vấn đề bảo mật với Kibana, giao diện Kibana mã nguồn mở không hỗ trợ phân quyền người dùng đăng nhập hệ thống Đây vấn đề liên quan đến bảo mật liệu log hệ thống cần giải Hướng phát triển Với hạn chế phân tích ở trên, tiếp tục thực nghiên cứu hồn thiện mơ hình giải pháp, bước đầu chúng tơi tìm hiểu giải pháp sử dụng để khắc phục vấn đề tồn tại: - Vấn đề Logstash sử dụng tốn dung lượng nhớ máy chủ: Sử dụng Filebeat để thu thập liệu log - Vấn đề rủi ro thất lạc liệu log: Sử dụng đệm hàng đợi Redis - Vấn đề bảo mật với Kibana: Sử dụng Ngnix làm lớp phân quyền người dùng đăng nhập vào hệ thống 67 TÀI LIỆU THAM KHẢO Tài liệu tiếng việt [1] PGS TS Nguyễn Trí Thành, Bài giảng môn học hệ truy hồi thông tin, Đại học Công Nghệ Tài liệu tiếng anh [2] Mounia Lalmas (2011), Introduction to Information Retrieval [3] Djoerd Hiemstra, Information Retrieval Models [4] Clinton Gormley and Zachary Tong (2015), Elasticsearch: The Definitive Guide [5] Patrick Ziegler and Klaus R Dittrich (2007), “Data Integration-Problems, Approaches, and Perspectives”, Database Technology Research Group [6] Colin White, data integration IBM BI Research(2006), A roadmap to enterprise Các trang Web [7] https://en.wikipedia.org/wiki/Information_retrieval [8] https://en.wikipedia.org/wiki/Vector_space_model [9] https://www.elastic.co/guide/en/logstash/current/index.html [10] http://www.oaktable.net/content/auditing-oracle-database-stopping-andstarting-using-elk-stack [11] https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html [12] https://www.elastic.co/guide/en/kibana/current/index.html [13] https://en.wikipedia.org/wiki/Boolean_model_of_information_retrieval ... TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN VĂN LINH NGHIÊN CỨU GIẢI PHÁP TỰ ĐỘNG PHÁT HIỆN SỰ CỐ HỆ THỐNG DỰA TRÊN CÔNG NGHỆ ELK (ELASTICSEARCH, LOGSTASH VÀ KIBANA) Ngành: Hệ thống thông tin... văn tốt nghiệp Nghiên cứu giải pháp tự động phát cố hệ thống dựa cơng nghệ ELK (ElasticSearch, Logstash Kibana) cơng trình nghiên cứu thực thân, được thực hiện cơ sở nghiên cứu lý thuyết,... truy hồi thơng tin - Tìm hiểu số tảng công nghệ thông dụng sử dụng cho toán quản lý liệu log tập trung - So sánh giải pháp công nghệ lựa chọn giải pháp công nghệ phù hợp để triển khai toán quản

Ngày đăng: 14/10/2019, 23:50

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan