[Docker] Phân tích LOGS Webserver dùng GOACCESS
Hello các bạn, hôm nay mình cùng tìm hiểu về phân tích LOGS Webserver dùng GOACCESS nhé!!
1. GoAccess là gì?
GoAccess là một công cụ phân tích log web server mã nguồn mở, hoạt động thời gian thực và được thiết kế để chạy trên dòng lệnh (terminal). Nó cực kỳ nhanh, nhẹ và dễ sử dụng, thường được dùng để phân tích log từ các web server như Nginx, Apache, hoặc Amazon S3.
- Chạy bằng Terminal
- Chạy bằng Broswer
2. GoAccess làm được gì?
-
Phân tích và hiển thị thống kê truy cập web: số lượng truy cập, URL phổ biến, trình duyệt, hệ điều hành, quốc gia,...
-
Hỗ trợ thời gian thực: có thể xem log cập nhật liên tục (real-time dashboard).
-
Xuất báo cáo ở nhiều định dạng: HTML, JSON, CSV, terminal dashboard.
-
Hỗ trợ GeoIP để xác định quốc gia truy cập.
-
Tích hợp tốt với hệ thống log chuẩn như combined, common, vhost,...
3. Về cách hoạt động
GoAccess đọc file log từ web server, parse dữ liệu, sau đó hiển thị thống kê phân tích ngay trên terminal hoặc tạo file HTML để xem bằng trình duyệt.
4. Cài đặt
4.1 Chuẩn bị môi trường.
Yêu cầu hệ thống bao gồm:
- Hệ điều hành: Linux (Ubuntu, CentOS, hoặc Debian)
- Docker: Phiên bản 20.10 trở lên
- CPU & RAM: Tối thiểu 1 CPU và 2GB RAM
4.2 Cài đặt Docker
Bài viết này mình dùng Docker. Bạn có thể cài đặt Docker như sau hoặc tham khảo bài viết này
sudo apt-get update
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
4.3 Cài đặt NPM và GoAccess
Các bạn có thể tải repo cài đặt tại đây. Sau khi tải về máy thì vào
folder npm-goaccess
cd npm-goaccess
docker network create reverse_proxy
docker-compose up -d
Tiếp đến các bạn thiết lập và cấu hình Nginx Proxy Manager
Sau đó map ứng dụng các bạn đang sử dụng, ở đây mình map cho chính ứng dụng GoAccess luôn.
Trong đó:
- GoAccess đang expose port 7880
- Thay IP localhost hoặc IP server proxy
- Thay domain các bạn muốn dùng đã mua trên Godady, Inet...
Lưu ý: Domain đã point về IP public server Nginx Proxy
Truy cập vào domain GoAccess
4.4 Bonus
Nếu muốn cài trên Ubuntu bằng Terminal bạn chạy câu lệnh sau
sudo apt update
sudo apt install goaccess
View logs
goaccess /var/log/nginx/access.log -o report.html --log-format=COMBINED
Trong đó:
/var/log/nginx/access.log: File log cần phân tích
-o report.html: Xuất báo cáo HTML
--log-format=COMBINED: Định dạng log. Phổ biến nhất là COMBINED
5. Tổng kết
GoAccess là công cụ tuyệt vời giúp phân tích logs hiệu quả. Bài viết này mình đã hướng dẫn bạn cài đặt và phân tích logs web server và Nginx Proxy Manager dùng GoAccess.
Hẹn gặp lại các bạn trong các bài viết tiếp theo.
Thân ái và quyết thắng 🥰🥰🥰 !
Follow các kênh mình chia sẻ
Các bạn tham khảo video:
Nguồn tham khảo
Github: https://github.com/allinurl/goaccess
GoAccess docs: https://goaccess.io/
GoAccess-install: https://github.com/kienle1819/kienletv/tree/main/npm-goaccess
All Rights Reserved