Sử dụng goaccess để visualize access log nginx/apache

Trong trường hợp bạn cần phân tích access log để tìm kiếm các thông tin như: thống kê status code server trả về, thống kê nguồn gốc địa lý của user, thống kê top dynamic file nào được request nhiều nhất, thống kê top static file nào được request nhiều nhất... Những kết qủa truy vấn đó sẽ cho bạn căn cứ để đưa ra các điều chỉnh cần thiết như cache lại các file được request nhiều, tạo ra các server cache tại các vùng địa lý có nhiều request, xác định tình trạng server qua các status code. Nếu có quá nhiều response 5xx hay 4xx thì hẳn là có vấn đề.

Nếu trước kia, bạn sẽ phải kết hợp các command truy vấn khác nhau để trích xuất thông tin từ file access log. Thường thì chuỗi command này khá phức tạp và ngay bản thân mình đôi khi cũng không biết nó có chính xác không :D Goaccess sẽ giải quyết cho bạn vấn đề này.

Việc cài đặt goaccess rất đơn giản:
https://goaccess.io/download

Mình lấy bộ access log mẫu trong document logstash:
https://download.elastic.co/demos/logstash/gettingstarted/logstash-tutorial.log.gz

Lấy thử một request mẫu:

83.149.9.216 - - [04/Jan/2015:05:13:42 +0000] "GET /presentations/logstash-monitorama-2013/images/kibana-search.png HTTP/1.1" 200 203023 "http://semicomplete.com/presentations/logstash-monitorama-2013/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"

Dựa theo man page của goaccess:
https://goaccess.io/man#custom-log
mình sẽ cấu hình log-format khớp với mẫu request.

Cấu hình /usr/local/etc/goaccess.conf

time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

Sau đó chạy:

goaccess -f logstash-tutorial.log -a

Kết quả:
alt text

Hoặc có thể xem ở dạng dashboard:

goaccess -f logstash-tutorial.log -a -o report.html

alt text

Một số trick nho nhỏ trong việc dùng goaccess có thể tìm thấy cuối bài viết này:
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-goaccess-web-log-analyzer-with-apache-on-debian-7

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

manhdung

44 bài viết.
275 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
82 11
Giới thiệu RabbitMQ là một message broker ( messageoriented middleware) sử dụng giao thức AMQP Advanced Message Queue Protocol (Đây là giao thức ph...
manhdung viết hơn 3 năm trước
82 11
White
48 4
Giả định bạn tiếp nhận một server mới toanh, bạn cần tìm một số thông tin về nó như loại CPU, loại main, loại memory, memory dùng của hãng nào... c...
manhdung viết hơn 2 năm trước
48 4
White
43 12
Trong phần 1, tôi đã giới thiệu về sơ lược rabbitmq, vai trò của rabbitmq trong hệ thống phân tán và hướng dẫn cài đặt. Trong phần này, tôi sẽ trìn...
manhdung viết hơn 3 năm trước
43 12
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
44 bài viết.
275 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!