Sử dụng Rotatelogs để lưu log apache-server theo từng ngày

Để cấu hình định dạng log, sửa file cấu hình httpd.conf, tìm đến đoạn định nghĩa LogFormat, bổ sung thêm một LogFormat mới tên là vt_combined cho Apache;

LogFormat "%h %{X-Forwarded-For}i %l %u %t \"%r\" %>s %b\"%{Referer}i\" \"%{User-agent}i\"" vt_combined

– Để cấu hình xoay vòng log theo ngày, ta tìm đến đoạn cấu hình log access, log errorcủa Apache (từ khóa là CustomLog, ErrorLog), sửa thành:

CustomLog "|/path/to/rotatelogs /path/to/logs/httpd/bccs-app-01_access_%Y-%m-%d.log 86400" vt_combined
ErrorLog "|/path/to/rotatelogs /var/log/httpd/bccs-app-01_error_%Y-%m-%d.log 86400"

Chú ý: Mặc định khi cài apache theo dạng RPM hay APT-GET thì Linux có sẵn 1 chương trình xoay vòng log tên là “logrotate httpd”. Tuy nhiên khi dùng chương trình này thì mỗi lần xoay vòng log thì phải khởi động lại apache server, do đó ta thống nhất sử dụng “rotatelogs” của apache và xóa cấu hình của “logrotate httpd” của hệ điều hành đi.

#rm –rf /etc/logrotate.d/httpd

Trong đó:

/path/to/rotatelogs: Là đường dẫn đến file rotatelog của apache. Ví dụ như: “/usr/local/httpd_2.4.6/bin/rotatelogs”
/path/to/logs: Là đường dẫn đến thư mục logs của apache. Ví dụ như: /usr/local/httpd_2.4.6/logs.
bccs-app-01_access_%Y-%m-%d.log là ví dụ về định dạng tên file access log đối với máy chủ BCCS-APP-01 đi kèm với thông tin về thời điểm ghi log theo năm (%Y), tháng (%m), ngày (%d).
86400: Là thời gian để xoay vòng log tính theo giây (1 ngày).

Leave a reply:

Your email address will not be published.

Site Footer