Nếu bạn muốn ghi lại các yêu cầu HTTP trong NCSA Common Log Format bạn cần sử dụng varnishncsa
. Trên CentOS/RedHat, gói RPM Varnish bao gồm một tập lệnh init varnishncsa mà bạn có thể sử dụng để bắt đầu ghi nhật ký. Theo mặc định, nhật ký sẽ ghi lại thành logfile="/var/log/varnish/varnishncsa.log"
.
Ngoài ra nếu bạn muốn phục vụ nhiều máy chủ khác nhau thông qua cài đặt Varnish đơn lẻ, bạn cũng sẽ muốn bao gồm tên máy chủ lưu trữ trong nhật ký. Điều này có thể được thực hiện với các thiết lập sau đây trong /etc/sysconfig/varnishncsa
DAEMON_OPTS="$DAEMON_OPTS -F '%{Host}i %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"'"
Xin lưu ý rằng phương pháp mô tả trong liên kết bởi Anshu chỉ ghi lại các yêu cầu đó được chuyển qua bởi Varnish đến các máy chủ backend. Yêu cầu truy cập bộ nhớ cache sẽ không bao giờ được ghi lại (trước Varnish 5.0 - xem bên dưới). Do đó các bản ghi HTTPD được thu thập theo cách này không thể được sử dụng để phân tích thống kê.
Cập nhật: Như @VikrantPogula đã đề cập, như Varnish 5.0, tất cả các yêu cầu của khách hàng đều được ghi lại - bao gồm lần truy cập bộ nhớ cache. Đây là hành vi mặc định và có thể được bật rõ ràng bằng cách sử dụng công tắc -c
.
Cũng lưu ý khi sử dụng varnishlog -w với phiên bản <3.0.3, bạn phải khởi động lại sau mỗi lần khởi động lại véc ni. – Doomsday