Ưu và nhược điểm của logrotate so với rotatelogs với Apache là gì?


11

Apache cung cấp một công cụ gọi là rotatelogs, có lợi ích là không khởi động lại apache khi quay các bản ghi xảy ra với logrotate. Tôi không có đủ kinh nghiệm để nói nếu điều này là đủ tiêu chí để sử dụng rotatelogs trên logrotate.

Câu hỏi của tôi là có ai có kinh nghiệm thực tế khi sử dụng một trong hai công cụ này không và đầu vào của bạn sẽ là gì?

Bạn muốn giới thiệu cái gì và tại sao?

Câu trả lời:


7

Tôi muốn giới thiệu logrotate cho hầu hết mọi người vì đó là thứ sẽ xoay vòng tất cả các bản ghi khác (KISS: Keep it Simple St ngu). Logrotate không khởi động lại tất cả Apache, thay vào đó, nó chỉ gửi cho nó một tín hiệu báo cho nó mở lại tất cả các tệp nhật ký của nó và khởi động lại trẻ em. Tín hiệu này có thể là SIGHUP, khiến cho trẻ em khởi động lại ngay lập tức (sẽ làm gián đoạn tải xuống) hoặc SIGUSR1, khởi động lại một cách duyên dáng. Với SIGUSR1, bạn phải trì hoãn việc xử lý nhật ký cho đến khi bạn nghĩ rằng tất cả trẻ em sẽ chết một cách tự nhiên. Dù bằng cách nào, bạn có thể muốn phân tích nhật ký của mình và tính thời gian cho thời gian lưu lượng truy cập thấp nhất trong ngày hoặc tuần.

Nhật ký đường ống có vẻ như nó là giải pháp mạnh mẽ hơn. Một lợi thế lớn là nó sẽ cho phép bạn sử dụng một hệ thống ghi nhật ký tập trung và tự tải máy chủ web. Bản thân hướng dẫn sử dụng nói:

Như với ghi nhật ký có điều kiện, nhật ký đường ống là một công cụ rất mạnh, nhưng chúng không nên được sử dụng khi có giải pháp đơn giản hơn như xử lý hậu kỳ ngoại tuyến.

Vì vậy, rõ ràng, không sử dụng ghi nhật ký đường ống nếu bạn không cần nó. Tôi đã sử dụng nhật ký đường ống trong quá khứ như một cách hacky để lọc nhật ký và không có vấn đề gì.


Tập lệnh postrotate với các tệp logrotate của Apache là gửi SIGHUP, điều này khiến Apache chấm dứt tất cả trẻ em và khởi động lại. Bất kỳ kết nối hoạt động tại thời điểm được chấm dứt.
Warner

Tôi đã đọc một bình luận ở đâu đó nói rằng khởi động lại duyên dáng không hoạt động tốt với các máy chủ mang tải nặng. Nhưng tôi thực sự không nghĩ rằng có nhiều sự thay thế.
Mohan Gulati

logrotate với SIGHUP khá chuẩn. Tôi không lo lắng về điều đó.
Warner

2

Tôi đã sử dụng cả hai trước đây. Tôi thấy rằng sử dụng rotatelogs là một công cụ rất hữu ích trong việc quản lý nhật ký truy cập và nếu bạn không muốn thời gian ngừng hoạt động. Trên một trang web có khối lượng lớn tôi muốn giới thiệu điều này, Vấn đề duy nhất tôi tìm thấy là nếu bạn muốn quản lý nhật ký, bạn sẽ cần phải có một tập lệnh riêng để dọn dẹp hoặc di chuyển nhật ký đến máy chủ dự phòng, rõ ràng là phụ thuộc vào yêu cầu. Với logrotate bạn có nhiều tùy chọn hơn với cách xử lý logfiles, vấn đề duy nhất là khi logrotate chạy như được giải thích trong câu trả lời trước, bạn sẽ cần phải khởi động lại apache.

Về cơ bản tất cả là do sự lựa chọn, nếu bạn cần apache để chạy mà không bị gián đoạn thì rotatelogs với một tập lệnh cron bên ngoài để quản lý, logrotate khác sẽ đủ. Chỉ cần chắc chắn để thiết lập cron logrotate không xoay các bản ghi khi bạn có lưu lượng truy cập cao.

Cuối cùng, nếu bạn muốn có nhật ký apache vào syslog của mình, bạn luôn có thể sử dụng lệnh logger trên các linux Redhat Dựa.

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.