Trình phân tích nhật ký cho nginx [đã đóng]


13

Tôi có một ứng dụng web đang chạy với nginx và tôi muốn phân tích nhật ký để nhận thông tin về số lần truy cập mà mỗi tệp đang nhận và 404 và các lỗi khác mà chúng tôi đang tạo ra (điều mà Google Analytics không thể cung cấp).

Thông thường tôi sẽ thả awstats trong một máy chủ, nhưng với nginx, do thiếu cgi-bin, nó không tầm thường. Có một giải pháp tầm thường khác để có được thông tin này? Tôi không ngại trả tiền cho bên thứ ba để thực hiện phân tích này cho tôi.

Câu trả lời:


20

Bạn có thể sử dụng goaccess để phân tích nhật ký web của mình và nhận bản tóm tắt các lần truy cập, IP duy nhất, tệp tĩnh hàng đầu, 404 hàng đầu, mã trạng thái khác nhau và hơn thế nữa. Nó hiển thị một bản tóm tắt thông tin cấp cao nhất đầu tiên và sau đó cho phép bạn đi sâu vào từng chương chính một cách tương tác. Bạn cho nó ăn một logfile hoặc một đường ống và nó rất nhanh.

Tôi đã phát hiện ra nó ở đây trên SF và nó đã thay đổi cách nhìn của tôi về nhật ký máy chủ web: Tôi có xu hướng thực hiện phân tích nhật ký theo hướng cơ hội, có vấn đề và không hài lòng với trình duyệt tương tự, awstats và webalizer.


Ồ, cảm ơn vì đã đề cập đến GoAccess, thật tuyệt vời!
Richie086

6

Nếu bạn sẵn sàng để bị bẩn tay, tôi sẽ khuyên bạn nên sử dụng Logstash + ElasticSearch + Kibana .

Nó có thể làm nhiều hơn những gì bạn yêu cầu, nhưng nó có thể làm tốt những gì bạn yêu cầu và bạn sẽ có một suy luận thực sự để duyệt nhật ký của bạn để hiểu những gì đang - hoặc đã - đang diễn ra.

Đây là trang web demo Kibana

Đây là một bài đăng trên blog cho thấy cách nó đã được thiết lập để phân tích Apache Tomcat với nền tảng này, bạn chỉ cần điều chỉnh nó theo nhu cầu của mình: http://spredzy.wordpress.com/2013/03/02/monitor-your-cluster -of-tomcat-application-with-logstash-and-kibana /


1
+1 cho câu trả lời đúng.
Tom O'Connor

1

Tôi đã phải sử dụng awstats với Nginx trong tuần này và bạn không nhất thiết phải sử dụng cgi-bin. Awstats đi kèm với tập lệnh awstats_buildstaticpages.pl sẽ tạo các tệp html tĩnh mà sau đó bạn có thể phục vụ với Nginx. Với một công việc định kỳ, tôi cập nhật các tệp html thường xuyên.

/usr/share/doc/awstats/examples/awstats_updateall.pl now -awstatsprog=/usr/lib/cgi-bin/awstats.pl

/usr/share/awstats/tools/awstats_buildstaticpages.pl -update -config=domain.com -dir=/path/to/save/html/files awstatsprog=/usr/lib/cgi-bin/awstats.pl (Tùy thuộc vào hệ điều hành của bạn, các đường dẫn có thể khác nhau một chút nhưng bạn sẽ có thể tìm thấy các tập lệnh)

Để tránh mất dữ liệu trong quá trình quay vòng nhật ký, bạn có thể thêm dòng này vào tệp awstats.domain.com.conf của mình:

LogFile="/usr/share/awstats/tools/logresolvemerge.pl /path/to/log/access.domain.tld.log /path/to/log/access.domain.tld.log.1 |"

Tập lệnh sẽ hợp nhất 2 nhật ký cuối cùng bất cứ khi nào bạn tìm nạp nhật ký để cập nhật dữ liệu của mình. Hoặc bạn có thể thêm một hook hook-logrotate trên Nginx giống như họ làm ở đây: http://www.bytetouch.com/blog/system-adftime/how-to-awstats-installation-and-configuration-on-debian/


0

Tùy thuộc vào mức độ chức năng bạn yêu cầu, nhưng AFAIK có thể khiến AWStats tạo các tệp tĩnh - do đó không cần cgi.

Một cách khác - có thể khiến AWStats chạy dưới dạng tập lệnh FastCGI. Tôi sẽ nói rằng nó sẽ không bị hack quá nhiều.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.