Định cấu hình Rsyslog để dừng ghi nhật ký một số tin nhắn


13

Tôi muốn dừng rsyslog đăng nhập những tin nhắn này.

[168707.740364] TCP: Peer 192.168.100.1:46199/41503 unexpectedly shrunk window 2027330493:2027331431 (repaired)

Tôi đã thử điều này trong /etc/rsyslog.conf nhưng các tin nhắn vẫn được ghi lại.

if $msg contains 'unexpectedly' then /dev/null

ai đó có thể chỉ cho tôi phương hướng đúng không?

Câu trả lời:


8

Nếu bạn sử dụng phiên bản gần đây của rsyslog (7 chẳng hạn), bạn cần phải làm

& stop

sau tin nhắn của bạn. Không làm như vậy sẽ cung cấp cho bạn

warning: ~ action is deprecated, consider using the 'stop' statement instead [try http://www.rsyslog.com/e/2307 ]

6

rsyslog cần một tuyên bố để ngừng đăng nhập sau trận đấu. Thêm dòng này ngay sau câu lệnh if bạn đã có.

& ~

Bạn cũng có thể cần di chuyển cả hai câu lệnh lên trong tệp conf để chúng được phân tích cú pháp trước một số câu lệnh khác có thể ghi chúng vào tin nhắn. Tôi thay đổi cấu hình rsyslog của tôi để trông giống như sau

/etc/rsyslog.conf ($IncludeConfig /etc/rsyslog.d/*.conf)
/etc/rsyslog.d/40-specificdaemon.conf
/etc/rsyslog.d/99-general.conf

Điều này đảm bảo thứ tự tôi muốn và giúp quản lý cấu hình dễ dàng đẩy ra các bản cập nhật.


3
& ~không được dùng nữa trong các phiên bản mới hơn của rsyslog: rsyslog.com/doc/v8-urdy/compabilities/v7compabilities.html . Đây ~còn được gọi là hành động loại bỏ, nếu bạn tìm kiếm trang đó bạn sẽ thấy ghi chú về nó. Bạn nên sử dụng & stopđi về phía trước.
slm

2

Lệnh này là "$ stop", không phải "$ stop". Có một sự khác biệt rất lớn ở đó.


4
Vui lòng làm rõ. Theo tôi biết, nó là if ... then stophoặc & stop. Không bao giờ thấy một $stopbiến được đề cập ở bất cứ đâu. Tôi đã bỏ lỡ một cái gì đó?
mivk
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.