Làm thế nào để logrotate với systemd?


11

Tôi đang chạy một ứng dụng nút bằng systemd với một tệp đơn vị. Nhật ký ứng dụng có thể được xem bằng cách sử dụng journalctl -u example.comnhưng nhật ký bị cắt tại một số điểm, xóa lịch sử (mà tôi cần để gỡ lỗi).

Làm cách nào để định cấu hình xoay vòng nhật ký với systemd để nhật ký ứng dụng của tôi được lưu trữ example.com.log.1, example.com.log.2v.v. để tôi có thể truy vấn lịch sử của ứng dụng?

Đây là tập tin đơn vị của tôi:

ExecStart=/usr/bin/node keystone.js
#Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=example.com
User=user
Group=user
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

1
Vui lòng bao gồm phiên bản systemd cũng như hệ điều hành và phiên bản của bạn.
Mark Stosberg

1
Xem man journald.conflại để xem lại các tùy chọn kiểm soát không gian đĩa của tạp chí systemd. Nếu bạn vẫn còn một câu hỏi, hãy đăng nội dung của bạn /etc/systemd/journald.conf.
Mark Stosberg

Câu trả lời:


6

Tăng dung lượng

Nếu bạn đang lưu trữ vào đĩa, bạn có thể tăng dung lượng sử dụng bằng cách thay đổi SystemMaxUsevà / hoặc SystemKeepFree. Có nhiều không gian hơn sẽ cho phép nhiều mục được lưu trữ.

Theo mặc định, giới hạn sử dụng tối đa ( SystemMaxUse) là 10% của hệ thống tệp và SystemKeepFreegiá trị không gian trống ( ) tối thiểu là 15% - mặc dù cả hai đều được giới hạn ở mức 4G.

Tạp chí Xoay

Các tạp chí nên được xoay tự động khi chúng đạt đến SystemMaxFileSizegiá trị và số lượng tạp chí được kiểm soát bởi SystemMaxFiles. Nếu bạn thích xoay vòng theo thời gian, bạn có thể đặt MaxFileSecđể đặt các mục thời gian tối đa được lưu trữ trong một tạp chí.

Lưu ý về Vị trí / Loại lưu trữ

Với journald, bạn có thể chọn lưu trữ các mục nhật ký trong bộ nhớ ( Storage=volatile) hoặc trên đĩa ( Storage=persistent). Giả định ở trên bạn đang lưu trữ các tạp chí trên đĩa - nếu đây không phải là trường hợp "Hệ thống" sẽ cần phải được thay thế bằng "Thời gian chạy" trong các biến trên.

Thông tin chi tiết có sẵn trong man journald.conf.

Thay thế - Chuyển qua các mục tạp chí

Nếu bạn đã quen thuộc với trình nền SYSLOG truyền thống, bạn có thể chuyển các sự kiện nhật ký bằng cách đặt ForwardToSyslogtùy chọn (chuyển tiếp các thông báo ngay lập tức) hoặc có trình nền syslog giống như ứng dụng khách nhật ký và tự tìm nạp nhật ký.

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.