Các tập tin cấu hình Rsyslog được đặt trong: /etc/rsyslog.d/*.conf
Rsyslog đọc các tệp conf một cách tuần tự, vì vậy điều quan trọng là bạn phải đặt tên cho tệp cấu hình của mình để cấu hình cụ thể được tải trước khi có bất kỳ điều gì khác xảy ra. Vì vậy, hãy đặt tên cho tệp của bạn bắt đầu bằng số 0 hàng đầu, tức là 00-my-file.conf
. Tốt hơn là tạo một tệp mới để cập nhật và không ghi đè cấu hình cục bộ của bạn.
Thí dụ:
if $programname == 'programname' and $msg contains 'a text string' and $syslogseverity <= '6' then /var/log/custom/bind.log
Hoặc nếu bạn chỉ muốn loại bỏ một số mục nhất định:
if $programname == 'programname' then ~
Trong trường hợp của bạn: (UDP)
if $programname == 'programname' then @remote.syslog.server
& ~
Hoặc (TCP)
if $programname == 'programname' then @@remote.syslog.server
& ~
Các & ~
phương tiện để dừng xử lý khớp (chỉ dòng trước đó!).
Một số thông tin chung hơn:
Ngoài ra, luôn đảm bảo các bộ lọc nằm trên cùng một dòng:
# Example: Log mail server control messages to mail-queue.log
if $hostname == 'titus'\
and $programname == 'smtp.queue.'\
and $syslogseverity <= '6' then /var/log/titus/mail-queue.log
& ~
Bộ lọc hữu ích:
$hostname
$programname
$msg
$syslogseverity
Toán tử:
== (equals)
contains
and
or
Thông tin thêm: http://wiki.rsyslog.com/index.php/Configuration_Samples