bộ đệm ổ cắm journald cho tùy chọn ForwardToSyslog


0

Tôi có một cấu hình trong đó journald được thiết lập ForwardToSyslog=yes. Trích dẫn từ tài liệu :

Nếu chuyển tiếp tới syslog được bật nhưng không có gì đọc tin nhắn từ ổ cắm, chuyển tiếp đến syslog không có hiệu lực.

Tôi đang trải nghiệm một quan sát khác với thử nghiệm sau đây:

systemctl disable rsyslog
systemctl stop rsyslog
logger "rsyslog is dropped, journald won't forward this message"
systemctl enable rsyslog
systemctl start rsyslog

# This shouldn't find anything
grep "rsyslog is dropped" /var/log/syslog
    Mar 15 16:26:23 hostname user: rsyslog is dropped, journald won't forward this message

Kết quả là rsyslog quản lý để kết thúc xử lý tin nhắn.

rsyslog đã được thiết lập mà không có khả năng đọc cơ sở dữ liệu tạp chí .

Giả định của tôi là khả năng đệm ổ cắm đang khiến rsyslog nhận được trước thời gian nó chạy.

Nếu đó là trường hợp có thể loại bỏ bộ đệm này ít nhất là buộc xả ổ cắm khỏi bash bằng cách nào đó để lịch sử rsyslog bắt đầu cùng với nó?

Câu trả lời:


1

Một tùy chọn là để rsyslog tiêu thụ ổ cắm trực tiếp và không phụ thuộc vào việc nhận systemdổ cắm biểu mẫu dữ liệu :

# /etc/rsyslog.conf should contain
module(load="imuxsock"
       SysSock.Use="on"
       SysSock.Name="/run/systemd/journal/syslog")


# cat /lib/systemd/system/rsyslog.service
[Unit]
Description=System Logging Service
Documentation=man:rsyslogd(8)
Documentation=http://www.rsyslog.com/doc/

[Service]
Type=notify
ExecStart=/usr/sbin/rsyslogd -n
StandardOutput=null
Restart=on-failure

[Install]
WantedBy=multi-user.target

Điều này có nhiều hàm ý:

  • rsyslog sẽ không được tự động bắt đầu khi có các sự kiện trên ổ cắm (đây là điều tôi muốn đạt được, chỉ rõ ràng)
  • Không rõ nếu điều này mâu thuẫn với mã rsyslog được kết hợp với kích hoạt ổ cắm systemd
  • nó dường như được chính thức hó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.