Apache: Cấu hình gỡ lỗi Nhật ký LogLevel chỉ dùng cho các mô-đun nhất định?


13

Tôi muốn gỡ lỗi một số vấn đề về xác thực và ủy quyền trên máy chủ web của mình, đặc biệt là với các mô-đun mod_authnz_ldap và các mô-đun mod_auth * khác.

Vì vậy, tôi đã thiết lập LogLevel debugcấu hình Apache, trên toàn cầu hoặc cho một Virtualhost duy nhất. Điều này cung cấp cho tôi thông tin hữu ích từ mod_authnz_ldap, nhưng nó cũng tạo ra rất nhiều tiếng ồn từ các mô-đun SSL. Xem ví dụ bên dưới.

Có cách nào để giảm LogLevel cho ssl_engine *, trong khi vẫn duy trì loglevel cho mod_authnz_ldap không?

Có, tôi có thể loại trừ các dòng bằng cách sử dụng một cái gì đó như grep -v ssl_engine logfile, nhưng tôi cũng muốn loại trừ dữ liệu bổ sung này khỏi một số công cụ phân tích cú pháp nhật ký hệ thống khác. Tôi thà giảm việc đăng nhập từ nguồn, thay vì loại trừ nó ở đích.

[Tue Jul 06 16:55:31 2010] [debug] ssl_engine_io.c(1830): | 0100: 12 23 e7 0f 45 1f 1f d3-ed 12 f8 12 1f a9 90 85  .+..(........... |
[Tue Jul 06 16:55:31 2010] [debug] mod_authnz_ldap.c(474): [client 10.10.10.123] [96991] auth_ldap authenticate: accepting joe
[Tue Jul 06 16:55:31 2010] [debug] mod_authnz_ldap.c(730): [client 10.10.10.123] [96991] auth_ldap authorise: require group: authorisation successful (attribute memberUid) [Comparison true (cached)][Compare True]
[Tue Jul 06 17:02:17 2010] [debug] ssl_engine_io.c(1830): | 0023: 23 ff 29 5a 4b bd 4c e6-bc 36 22 9c c3 22 c2 4b  ..)ZK.L..6u....K |
[Tue Jul 06 17:02:17 2010] [debug] ssl_engine_io.c(1830): | 0023: 23 ff 29 5a 4b bd 4c e6-bc 22 75 9c c3 b6 22 4b  ..)blahblah|

Câu trả lời:


16

Tôi đang trả lời câu hỏi của riêng tôi, Phong cách nguy hiểm.

Apache 2.3

Điều này có thể có trong Apache 2.3.

Apache> Máy chủ HTTP> Tài liệu> Phiên bản 2.4> Ghi nhật ký theo mô-đun cho biết:

Ghi nhật ký theo từng mô-đun

Lệnh LogLevel cho phép bạn chỉ định mức độ nghiêm trọng của nhật ký trên cơ sở từng mô-đun. Theo cách này, nếu bạn đang khắc phục sự cố chỉ với một mô-đun cụ thể, bạn có thể tăng khối lượng ghi nhật ký của nó mà không cần lấy thông tin chi tiết về các mô-đun khác mà bạn không quan tâm. Điều này đặc biệt hữu ích cho các mô-đun như mod_proxy hoặc mod_rewrite nơi bạn muốn biết chi tiết về những gì nó đang cố gắng làm.

Thực hiện việc này bằng cách chỉ định tên của mô-đun trong chỉ thị LogLevel của bạn:

LogLevel info rewrite:trace5

Điều này đặt LogLevel chính thành thông tin, nhưng biến nó thành dấu vết5 cho mod_rewrite.

Điều này thay thế các chỉ thị ghi nhật ký trên mỗi mô-đun, như RewriteLog, đã có trong các phiên bản trước của máy chủ.

Tổng quan về các tính năng mới trong Apache HTTP Server 2.4 cho biết:

Cấu hình LogLevel cho mỗi mô-đun và mỗi thư mục Hiện tại LogLevel có thể được cấu hình cho mỗi mô-đun và mỗi thư mục. Các cấp độ mới track1 đến track8 đã được thêm vào trên mức nhật ký gỡ lỗi.

Cũng xem cuộc thảo luận về danh sách gửi thư của Apache-dev .

Apache 2.2 & trước đó:

Không, điều này hiện không thể có trong Apache 2.2. Hướng dẫn tại Máy chủ HTTP> Tài liệu> Phiên bản 2.2> Mô-đun "Chỉ thị LogLevel" không hiển thị tùy chọn này. Tùy chọn duy nhất hiện tại là "grep -v" các dòng vi phạm.

Apache 2.4 (đề xuất tại thời điểm viết):

Điều này sẽ được bao gồm trong Apache 2.4. Các tài liệu Apache trong thân cây (2.3) hiện nói:

Khả năng tương thích: Cấu hình mỗi mô-đun và mỗi thư mục có sẵn trong Apache HTTP Server 2.3.6 trở lên

Và:

Chỉ định cấp độ không có tên mô-đun sẽ đặt lại cấp độ cho tất cả các mô-đun về mức đó. Chỉ định cấp độ với tên mô-đun sẽ chỉ đặt cấp độ cho mô-đun đó. Có thể sử dụng tên tệp nguồn mô-đun, mã định danh mô-đun hoặc mã định danh mô-đun với dấu _module được bỏ qua làm đặc tả mô-đun. Điều này có nghĩa là ba thông số kỹ thuật sau là tương đương:

LogLevel info ssl:warn
LogLevel info mod_ssl.c:warn
LogLevel info ssl_module:warn
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.