Dễ dàng phân tích lưu lượng truy cập trang web của bạn từ thiết bị đầu cuối Linux với GoAccess
Tạo và chạy một trang web là một sở thích thú vị và đầy thử thách—đặc biệt nếu bạn lưu trữ trang web đó trên hệ thống Linux, sử dụng phần cứng hoặc VPS của riêng bạn. Nhưng việc đo lường lưu lượng khách truy cập và phân tích hành vi có thể khó khăn nếu bạn không muốn dựa vào các gói phân tích xâm nhập của bên thứ ba.
GoAccess thu thập dữ liệu từ nhật ký máy chủ của bạn và cung cấp giao diện người dùng đầu cuối đẹp mắt, nơi bạn có thể khám phá những gì khách truy cập muốn từ trang web của bạn và cách cải thiện giao diện đó.
Mục Lục
Tại sao không sử dụng Google Analytics?
Google Analytics thực tế là vua của các gói phân tích và hầu hết các trang web bạn sẽ truy cập hôm nay (bao gồm cả trang này) sẽ ghi lại các thông tin cơ bản về lượt truy cập của bạn, bao gồm địa chỉ IP, trình duyệt, hệ điều hành, v.v.
Tiến trình của bạn xung quanh các trang web này sẽ được theo dõi bằng cách sử dụng cookie. Những lợi thế của Google Analytics cho chủ sở hữu trang web là rõ ràng. Thật dễ dàng để bắt đầu, sử dụng miễn phí và mạnh mẽ.
Bạn có thể triển khai Google Analytics trên hầu hết mọi trang web bằng cách sao chép đoạn mã vào tiêu đề trang của mình, sử dụng plugin hoặc làm theo hướng dẫn của chúng tôi để thêm Google Analytics vào trang web WordPress của bạn.
Nhưng Google không có tiếng là tôn trọng quyền riêng tư và nếu mọi người đang truy cập trang web của bạn từ các quốc gia khác, bạn có thể lo ngại rằng việc sử dụng Google Analytics sẽ khiến bạn gặp rắc rối với các cơ quan bảo vệ dữ liệu khác nhau.
Ngoài ra, nếu bạn đang chạy một trang web trên phần cứng của riêng mình tại nhà riêng của mình, Google Analytics có thể hơi… khó chịu.
GoAccess tận dụng Nhật ký truy cập của bạn để cung cấp phân tích tuyệt vời
Ngoài việc chia sẻ cùng một khởi tạo và chức năng tương tự như sản phẩm của Google, GoAccess không thể khác hơn về cách thức hoạt động.
Khi bạn chạy máy chủ Linux, trên máy vật lý hoặc VPS, thông lệ tiêu chuẩn là ghi lại tất cả các lượt truy cập vào nhật ký truy cập. Các nhật ký này ghi lại tất cả thông tin do trình duyệt của khách truy cập cung cấp—thường bao gồm loại thiết bị, địa chỉ IP, hệ điều hành và trình duyệt, cùng với trang họ đang xem và thời gian.
Xem qua các nhật ký này có thể cung cấp cho bạn một số thông tin chi tiết về những người đang truy cập trang web của bạn, nội dung họ đang xem và hơn thế nữa. Nhưng nhật ký truy cập không đặc biệt dễ đọc và việc đếm từng mục nhập rất tốn thời gian và tẻ nhạt.
GoAccess lấy thông tin trong nhật ký của bạn và định dạng thông tin đó theo cách trực quan và dễ đọc, với đồ thị và biểu đồ, hiển thị các số liệu khác nhau bao gồm khách truy cập mỗi ngày, tệp được yêu cầu, phân phối thời gian, tài nguyên tĩnh, quốc gia xuất xứ, mã trạng thái và hơn.
Nó không xâm phạm quyền riêng tư, không gửi dữ liệu người dùng ra nước ngoài và không yêu cầu bạn kết hợp mã của Google.
Cài đặt GoAccess trên máy chủ Linux của bạn
GoAccess có sẵn trong kho tiêu chuẩn cho hầu hết các bản phân phối. Để cài đặt GoAccess trên Debian hoặc Ubuntu:
sudo apt install goaccess
Trên Arch và các bản phân phối liên quan:
pacman -S goaccess
Hoặc cho Fedora:
yum install goaccess
Nếu Gentoo là bản phân phối bạn chọn:
emerge net-analyzer/goaccess
Bạn cần cho GoAccess biết chính xác cách định dạng các tệp nhật ký của bạn. Sử dụng nano để chỉnh sửa tệp cấu hình GoAccess:
sudo /etc/goaccess/goaccess.conf
Mọi thứ trong tệp này đều được ghi chú và bạn sẽ cần bỏ ghi chú các dòng tương ứng với định dạng thời gian, định dạng ngày và định dạng nhật ký. Bạn có thể kiểm tra một trong các nhật ký hệ thống của mình để khám phá xem họ có ghi định dạng ngày tháng là %d/%b/%Y hoặc là %Y-%m-%d.
Lưu và thoát nano với Ctrl + O sau đó Ctrl + X.
Sử dụng GoAccess để xem Phân tích trang web của bạn trong Terminal
Sử dụng GoAccess để xem nhật ký của bạn thật dễ dàng: chỉ cần cung cấp đường dẫn đến nhật ký của bạn hoặc các bản ghi vào GoAccess. Nhật ký Apache thường được lưu trữ trong /var/log/apache2/trong khi các bản ghi NGINX đang ở /var/log/nginx/. Chẳng hạn, đang chạy:
goaccess /var/log/apache2/your_site.log
… sẽ tạo ra kết quả tương tự như hình trên.
Bạn có thể thấy rằng các trường được hiển thị bao gồm:
- Yêu cầu được phân tích tổng thể: Phần này cung cấp bảng phân tích về tổng số yêu cầu, khách truy cập duy nhất, tệp được yêu cầu, liên kết giới thiệu, v.v.
- Số lượng khách truy cập mỗi ngày (bao gồm cả nhện): Phần này hiển thị cho bạn biểu đồ thanh của khách truy cập mỗi ngày.
- Tệp được yêu cầu (URL): Cung cấp danh sách bảy URL được truy cập nhiều nhất, cùng với tổng băng thông cho từng URL, tổng số lần truy cập và phần trăm lưu lượng truy cập.
- Yêu cầu tĩnh: Đây là những yêu cầu cho các tệp không phải là HTML. Thường là CSS hoặc hình ảnh.
- Không tìm thấy URL (404s): Hiển thị các URL đã được yêu cầu nhưng không tìm thấy. Trừ khi trang web của bạn được định cấu hình kém, nếu không thì đây có thể là các bot đang cố gắng thực hiện các mục tiêu thường được sử dụng như trang đăng nhập, cài đặt hoặc cấu hình.
- Tên máy chủ và IP của khách truy cập: Hiển thị địa chỉ IP của bảy khách truy cập thường xuyên nhất. Nếu một tên máy chủ có sẵn, nó cũng sẽ hiển thị điều này. Đây có khả năng thuộc về trình đọc nguồn cấp dữ liệu RSS.
- Các hệ điều hành: Điều này cho bạn thấy các hệ điều hành phổ biến nhất của người dùng truy cập trang web của bạn.
- Trình duyệt: Các trình duyệt phổ biến nhất truy cập trang web của bạn.
- Trang web giới thiệu: Khách truy cập đến từ đâu để đến một trang cụ thể.
Việc phân tích một tệp nhật ký đơn lẻ rất thú vị, nhưng việc phân tích đồng thời nhiều tệp sẽ cho bạn cái nhìn về hiệu suất trang web của bạn theo thời gian. Nguồn cấp dữ liệu trong toàn bộ thư mục nhật ký của bạn với:
goaccess /path/to/logs/*
Hoặc phân tích chọn lọc nhiều tệp nhật ký bằng:
goaccess your-site.log your-site.log.1 your-site.log.2
Xem GoAccess Analytics trong trình duyệt của bạn
Mặc dù xem phân tích tệp nhật ký trong thiết bị đầu cuối của bạn là cách tuyệt vời nhất để làm bất cứ điều gì, một số người thích sử dụng trình duyệt để xem số liệu thống kê.
GoAccess có thể tạo và cập nhật tệp HTML trong thời gian thực với:
goaccess /path/to/log/file.log -o /path/to/report.html
Sau đó bạn có thể mở báo cáo.html trong trình duyệt của bạn.
Nếu bạn muốn có thể truy cập báo cáo GoAccess của mình thông qua một địa chỉ web, hãy viết báo cáo vào thư mục HTML của trang web của bạn.
Nếu bạn không chạy GoAccess với tư cách là người dùng root hoặc nếu người dùng của bạn không có quyền ghi đối với thư mục HTML, hãy sử dụng sudo. Ví dụ:
goaccess /path/to/log/file.log -o /var/www/your-site-root-directory/report.html --real-time-html
Sau đó, bạn có thể truy cập báo cáo từ bất kỳ máy nào tại https://your-site.tld/report.html.
Như bạn mong đợi, báo cáo đẹp hơn nhiều so với báo cáo xuất hiện trong thiết bị đầu cuối, mặc dù báo cáo chứa cùng thông tin và bạn có thể nhấp vào các phần tử. Để thay đổi từ chủ đề mặc định, hãy nhấp vào răng cưa ở phía bên trái của màn hình, sau đó chọn màu xám đậm, sáng, xanh đậm và tím đậm.
Bạn cũng có thể chọn số lượng mục trên mỗi trang và số lượng bố cục.
GoAccess không phải là giải pháp thay thế thân thiện với quyền riêng tư duy nhất cho Google Analytics
Chạy GoAccess trên máy chủ Linux của bạn rất đơn giản và có nghĩa là bạn không cần rời khỏi thiết bị đầu cuối nếu không muốn.
Nếu bạn muốn xem phân tích trang web của mình trong trình duyệt, thì Google Analytics không phải là lựa chọn duy nhất của bạn. Có một số lựa chọn thay thế thân thiện với quyền riêng tư cho Google Analytics.