Chương 1 giới thiệu tổng quan về log truy cập, các khái niệm. Tìm hiểu phương pháp phân tích log truy cập bằng kỹ thuật học không giám sát. Hai bài toán chính cần giải quyết là bài toán thu thập log truy cập website (ghi lại tương tác của người dùng với nội dung trên website như mở trang, click vào đường link trên trang, click vào nút trên trang web, …) và bài toán phân tích log truy cập website (xác định các nhóm người dùng có nhu cầu thông tin tương tự nhau dựa trên log tương tác ghi lại) 1. Bài toán thu thập và phân tích log truy cập website Log truy cập hay nhật ký, hoặc vết truy cập (gọi tắt là log) là một danh sách các bản ghi mà một hệ thống ghi lại khi xuất hiện các yêu cầu truy cập các tài nguyên của hệ thống.
Log truy cập website (gọi tắt là web log) chứa tất cả các yêu cầu truy cập các tài nguyên của một website. Các tài nguyên của một website như các file ảnh, các mẫu định dạng và file mã Javascript. Khi một người dùng ghé thăm một trang web để tìm một sản phẩm, máy chủ web sẽ tải xuống thông tin và ảnh của sản phẩm và log truy cập sẽ ghi lại các yêu cầu của người dùng đến các tài nguyên thông tin và ảnh của sản phẩm. Trong những năm gần đây, sự phát triển mạnh của dữ liệu lớn, các hệ thống phân tán phục vụ hàng triệu người dùng.
Các hệ thống lớn như website thương mại điện tử, cổng thông tin điện tử mỗi ngày ghi nhận hàng trăm ngàn cho đến hàng triệu bản ghi log truy cập. Dựa trên các dữ liệu đã thu thập được, các nhà phát triển phải tiến hành xử lý, phân tích dữ liệu này để nắm bắt được hiện trạng thực tế của hệ thống. Bài toán phân tích log truy cập là bài toán đang được nhiều nghiên cứu quan tâm, mục tiêu của bài toán là giải quyết các vấn đề còn tồn đọng được ghi nhận (ví dụ các lỗi, các tính năng không hoạt động hoặc hoạt động chưa tốt, …) của hệ thống hiện tại để cải thiện và nâng cao chất lượng của hệ thống. Luan van 4 Thu thập log truy cập website là quá trình ghi lại các tương tác của người dùng với website, ví dụ như: - Xem trang web - Click vào đường dẫn, nút trên trang web - Cuộn chuột trên trang web - Điền dữ liệu vào biểu mẫu, tìm kiếm, … Bài toán phân tích log truy cập website là một bài toán thuộc lĩnh vực khai phá dữ liệu có: - Đầu vào: Các bản ghi dữ liệu truy cập hệ thống về hành vi người dùng.
- Đầu ra: Các kết quả phân tích về hệ thống làm cơ sở để đánh giá, cải thiện chất lượng của website. Để giải quyết hai bài toán trên, chúng ta cần phải tìm hiểu các phương pháp thu thập và phân tích log hiện nay, xem xét các ưu, nhược điểm các phương pháp để lựa chọn các phương pháp phù hợp. Các phương pháp thu thập log. Thông thường, có nhiều hình thức thu thập log truy cập.
Tuy nhiên theo nhóm tác giả Jaideep Srivastava [5] và L. Joshila Grace [7] thu thập log website có ba hình thức phổ biến: Thu thập log ở máy chủ, thu thập log ở máy khách và thu thập log thông qua proxy. Phương pháp thu thập log phía máy chủ Các phần mềm Web server cho phép lưu lại lịch sử tương tác (log tương tác) giữa người dùng với website. Cụ thể khi trình duyệt gửi yêu cầu của người dùng về máy chủ, các thao tác này được ghi lại trong file log.1 là ví dụ một đoạn log như vậy.
Luan van 5 Hình 1.1: Dữ liệu log thu thập trên máy chủ Log phía máy chủ web là một nguồn quan trọng để thực hiện khai thác sử dụng web bởi vì từng bản ghi log sẽ được lưu trữ lại cùng những thông tin về người dùng web được cung cấp bởi trình duyệt. Dữ liệu được ghi trong nhật log máy chủ phản ánh việc truy cập (có thể đồng thời) của trang web bởi nhiều người dùng khác nhau. Những tập tin log có thể được lưu trữ dưới định dạng chung hoặc dạng mở rộng. Máy chủ web cũng dựa vào các tiện ích khác như tập lệnh CGI để xử lý dữ liệu được gửi lại từ trình duyệt của người dùng.
Các máy chủ web triển khai tiêu chuẩn CGI phân tích URI của tệp được yêu cầu để xác định xem đó có phải là chương trình ứng dụng hay không. URI cho các chương trình CGI có thể chứa các giá trị tham số bổ sung được truyền cho ứng dụng CGI. Khi chương trình CGI đã hoàn thành việc thực thi, máy chủ Web sẽ gửi đầu ra của ứng dụng CGI trở lại trình duyệt.2 mô tả quá trình thu thập log phía máy chủ. Giống như các hệ thống bình thường, phía máy chủ ứng dụng web cũng được tích hợp các công cụ để lưu lại các tác động trên hệ thống.
Thông thường, các máy chủ web đều được tích hợp sẵn tính năng này. Một số được cấu hình mặc định, một số trường hợp quản trị viên phải tiến hành cấu hình các thông tin cần lưu log truy cập. Luan van 6 Ưu điểm của phương pháp thu thập log phía máy chủ là thường đi kèm các bộ cài đặt máy chủ web, người quản trị không cần cài đặt thêm phần mềm bên thứ ba, cũng không cần thay đổi mã nguồn website cả phía backend và frontend. Tuy nhiên, cũng có nhiều công cụ được phát triển sẵn với nhiều tính năng nâng cao cho việc thu thập log truy cập.2: Mô hình thu thập log phía máy chủ Tuy nhiên, giải pháp thu thập log phía máy chủ cũng có một số nhược điểm.
Công nghệ web hiện nay có nhiều mức độ lưu bộ đệm ở nhiều bước khác nhau trong môi trường web. Dữ liệu bộ đệm có thể được lưu ở trình duyệt của người sử dụng, hoặc một máy chủ proxy trung gian. Ví dụ, một trang web người dùng vừa truy cập, sau đó không lâu, người dùng lại tiếp tục truy cập lại trang web này, trình duyệt có thể lấy kết quả đã được lưu trước đó để hiển thị cho người dùng. Trong trường hợp này, người dùng vẫn xem được nội dung của trang web, nhưng máy chủ hoàn toàn không biết việc người dùng đang xem trang web đó, dẫn đến dữ liệu log cũng không được ghi lại.
Có thể thấy, các giải pháp thu thập log phía máy chủ phù hợp để sử dụng trong các hệ thống website, với nhiều ưu điểm về hiệu năng, các giải pháp đều hỗ trợ các báo cáo tổng quan về hiệu năng của máy chủ, theo dõi những hoạt động bất thường Luan van 7 của hệ thống. Tuy nhiên các giải pháp thu thập log này không ghi lại được các tương tác của người dùng với hệ thống để giải quyết bài toán đã đưa ra. Phương pháp thu thập log phía máy khách Thu thập log ở phía máy có thể được cài đặt và bằng cách sử dụng các mã hỗ trợ bởi trình duyệt (như Javascripts hoặc Java applets) hoặc bằng cách thay đổi mã nguồn có sẵn của trình duyệt(như Mosaic hay Mozilla) để tăng cường khả năng thu thập dữ liệu. Việc cài đặt thu thập dữ liệu log phía máy khách đòi hỏi phải có sự hợp tác từ phía người dùng, họ cần phải bật chức năng cho phép JavaScripts hay Java applets.
Thật may mắn, ngày nay, các trình duyệt phổ biến đều hỗ trợ Javascripts và mặc định được bật khi trình duyệt được cài đặt, các tính năng chạy trên công nghệ web hiện tại cũng sử dụng rất nhiều mã JavaScripts do đó phần lớn người sử dụng đều bật tính năng này để có thể trải nghiệm tốt nhất với trang web. Ưu điểm của phương pháp này giảm tải được công việc phải xử lý cho máy chủ. Thu thập log phía máy khách giải quyết được các vấn đề liên quan đến dữ liệu được lưu trên bộ nhớ đệm ở phía máy khách hoặc qua các máy chủ proxy, hành vi duyệt web của người dùng vẫn được thu thập do mã nguồn Javascripts được thực thi trên chính trình duyệt mà người dùng sử dụng. Thu thập log phía máy khách bao gồm 2 thành phần, mã nguồn Javascripts được thực thi tại máy khách chỉ thực hiện công việc nhận biết hành vi người dùng, có thể xử lý dữ liệu thô thành dạng dữ liệu đã được tùy biến.
Đằng sau quá trình này, vẫn cần một máy chủ để lưu trữ dữ liệu phục vụ cho quá trình phân tích, khai phá dữ liệu sau này. Sau khi dữ liệu được xử lý sơ bộ ở máy khác, mã nhúng Javascripts sẽ thực hiện quá trình gửi thông tin về phía máy chủ. Máy chủ thu thập log này không nhất thiết phải đặt cùng với máy chủ web. Nó có thể hoạt động độc lập và một máy chủ thu thập log có thể thu thập dữ liệu log cho nhiều trang web thuộc nhiều máy chủ khác nhau.3 mô tả cách hoạt động của phương pháp thu thập log phía máy khách.
Luan van 8 Các website trên toàn cầu ngày càng phát triển, nhu cầu thu thập log trên các webiste cũng ngày càng gia tăng, các dịch vụ thu thập log cũng được các ông lớn trong làng công nghệ chú trọng phát triển. Các công cụ thu thập log được xây dựng sẵn để dễ dàng triển khai, tùy vào tính chất và tính năng các công cụ này có thể miễn phí hoặc trả phí.3: Mô hình thu thập log phía máy khách Trong luận văn này sẽ giới thiệu 2 phần mềm thu thập log phía máy khách là Google Analytics (do Google phát triển) và Countly (Mã nguồn mở - có thể tự cài đặt) 1. Phần mềm thu thập log Google Analytics Google Analytics là một dịch vụ phân tích trang web miễn phí cung cấp cho người quản trị các công cụ để đo lường sự thành công của trang web liên quan đến tiếp thị, tối ưu hóa nội dung hoặc thương mại điện tử. Google Analytics sử dụng kết hợp các cookie và phiên tạm thời để theo dõi hành vi trực tuyến của khách truy cập.
Google Analytics sử dụng cookie của bên thứ nhất để xác định duy nhất từng khách truy cập. Bằng cách truy cập trang web, khách truy cập kích hoạt JavaScript này, thông tin cookie sẽ được chuyển đến tài khoản Google Analytics của người quản trị. Luan van 9 Hình 1.4: Mô hình hoạt động của Google Analytics Quyền riêng tư đã trở thành một chủ đề quan trọng trong phân tích trang web. Là một vấn đề thực tiễn tốt nhất, không nên theo dõi Thông tin nhận dạng cá nhân (Personally Identifiable Information - PII).
Dưới đây là tóm tắt nhanh về thông tin liên quan đến quyền riêng tư liên quan đến Google Analytics: - Google Analytics không báo cáo về thông tin nhận dạng cá nhân.