Hiểu nhật ký truy cập của Apache


134

Mỗi thứ trong dòng này từ nhật ký truy cập của tôi có ý nghĩa gì?

127.0.0.1 - - [05/2/2012: 17: 11: 55 +0000] "GET / HTTP / 1.1" 200 140 "-" "Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 535.19 (KHTML, như Tắc kè) Chrome / 18.0.1025.5 Safari / 535.19 "

Câu trả lời:


237

Bạn dường như đang sử dụng định dạng nhật ký kết hợp .

LogFormat "% h% l% u% t \"% r \ "%> s% b \"% {Người giới thiệu} i \ "\"% {Tác nhân người dùng} i \ "" kết hợp

  • % h là máy chủ từ xa (tức là IP máy khách)
  • % l là danh tính của người dùng được xác định bởi nhận dạng (không thường được sử dụng vì không đáng tin cậy)
  • % u là tên người dùng được xác định bởi xác thực HTTP
  • % t là thời gian nhận được yêu cầu.
  • % r là dòng yêu cầu từ khách hàng. ("NHẬN / HTTP / 1.0")
  • %> s là mã trạng thái được gửi từ máy chủ đến máy khách (200, 404, v.v.)
  • % b là kích thước của phản hồi cho máy khách (tính bằng byte)
  • Người giới thiệu là tiêu đề Người giới thiệu của yêu cầu HTTP (chứa URL của trang mà yêu cầu này được bắt đầu) nếu có, và "-"nếu không thì có.
  • Tác nhân người dùng là chuỗi nhận dạng trình duyệt.

Danh sách đầy đủ (?) Của các trình định dạng có thể được tìm thấy ở đây . Phần tương tự của tài liệu cũng liệt kê các định dạng nhật ký phổ biến khác; những người đọc có nhật ký không giống như thế này có thể tìm thấy mẫu mà cấu hình Apache của họ đang sử dụng được liệt kê ở đó.


Tôi tự hỏi những gì có thể là con số (19) cuối cùng, sau tác nhân người dùng.
ivanceras

2
@ivanceras 535.19là phiên bản webkit được sử dụng, do đó, nó là một phần của chuỗi tác nhân người dùng (và nó cũng được đặt bên trong các trích dẫn có chứa tác nhân người dùng)
Joachim Isaksson

4
Tôi có 4 trường bổ sung sau tác nhân người dùng, như thế này: ... "Mozilla / 5.0 (Windows NT 5.1; rv: 16.0) Gecko / 20100101 Firefox / 16.0" 369 74500 - 567 họ chỉ ra điều gì?
của tôi_ram

9

Tôi cũng không hiểu ý nghĩa của "-" sau phần 200 140 của nhật ký

Giá trị đó tương ứng với tham chiếu như được mô tả bởi Joachim. Tuy nhiên, nếu bạn thấy dấu gạch ngang, điều đó có nghĩa là không có giá trị tham chiếu nào để bắt đầu (ví dụ: người dùng đã đi thẳng đến một đích cụ thể, như nếu anh ấy / cô ấy gõ URL trong trình duyệt của họ)


7

Và " Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 535.19 (KHTML, như Gecko) Chrome / 18.0.1025.5 Safari / 535.19 " nghĩa là gì?

Đây là giá trị của User-Agent, chuỗi nhận dạng trình duyệt.

Vì lý do này, hầu hết các trình duyệt Web sử dụng giá trị chuỗi User-Agent như sau:

Mozilla / [phiên bản] ([thông tin hệ thống và trình duyệt]) [nền tảng] ([chi tiết nền tảng]) [tiện ích mở rộng]. Ví dụ: Safari trên iPad đã sử dụng như sau:

Mozilla / 5.0 (iPad; U; CPU OS 3_2_1 như Mac OS X; en-us) AppleWebKit / 531.21.10 (KHTML, như Gecko) Mobile / 7B405 Các thành phần của chuỗi này như sau:

Mozilla / 5.0: Trước đây được sử dụng để biểu thị khả năng tương thích với công cụ kết xuất Mozilla. (iPad; U; CPU OS 3_2_1 như Mac OS X; en-us): Chi tiết về hệ thống mà trình duyệt đang chạy. AppleWebKit / 531,21.10: Nền tảng trình duyệt sử dụng. (KHTML, như Gecko): Chi tiết nền tảng trình duyệt. Di động / 7B405: Trình duyệt này được sử dụng để chỉ ra các cải tiến cụ thể có sẵn trực tiếp trong trình duyệt hoặc thông qua các bên thứ ba. Một ví dụ về điều này là Microsoft Live Meet đăng ký tiện ích mở rộng để dịch vụ Cuộc họp trực tiếp biết nếu phần mềm đã được cài đặt, điều đó có nghĩa là nó có thể cung cấp trải nghiệm hợp lý khi tham gia các cuộc họp.

Giá trị này sẽ được sử dụng để xác định trình duyệt nào đang được sử dụng bởi người dùng cuối.

Tham khảo


Trên môi trường cân bằng tải của tôi, có 4 nút phục vụ ẩn sau máy chủ cân bằng tải apache. Gần đây tôi đã nhận được vấn đề không có sẵn. Trong khi gỡ lỗi, tôi tìm thấy Nhật ký truy cập trên bộ cân bằng tải của mình với trạng thái 504. trông như thế này {Địa chỉ IP} - - [ngày] "POST url http / 1.1" 504 247 "-" "-" Bây giờ tôi nghi ngờ rằng một trong 4 nút máy chủ ứng dụng của tôi sẽ hết thời gian chờ hơn các nút khác. Nhưng các nhật ký này không đưa ra manh mối nào về yêu cầu được chuyển tiếp đến máy chủ và dẫn đến thời gian chờ. Làm thế nào tôi có thể đăng nhập ip của nút mà một yêu cầu đang được chuyển tiếp đến.
GIÁO SƯ

Tôi sẽ đưa ra các tùy chọn sau a) Kích hoạt và xem nhật ký cân bằng tải b) kiểm tra mức sử dụng bộ nhớ, CPU, IO cho từng vm của bạn và xem chúng có giống nhau không. c) Đếm số lượng yêu cầu cho mỗi vm trong một ngày nhất định. Họ nên ở cùng. Nếu không Load Balancer có thể thấy rằng máy chủ không phản hồi ping và đó là lý do tại sao không gửi yêu cầu.
vsingh
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.