シナリオは、すべての着信メッセージを受信し、それらをすべてに保存しますが、/app/syslog-ng/custom/output/all_devices.log
フィルタリングを介して特定のメッセージのみを転送することです。
filter
タグは、Syslog-NGに着信メッセージをフィルタリングするために使用されます。これはこの場合正しい使い方ではありません。たとえば、filter f_warn { level(warn); };
編集する:
私の現在の構成は次のとおりです。
@version: 3.17
source s_network {
udp(
flags(syslog_protocol)
keep_hostname(yes)
keep_timestamp(yes)
use_dns(no)
use_fqdn(no)
);
};
destination d_all_logs {
file("/app/syslog-ng/custom/output/all_devices.log");
};
log {
source(s_network);
destination(d_all_logs);
};
Syslog-NGにすべてのメッセージを保存した後、all_devices.log
Syslog-NGはフィルタリング後に特定のメッセージのみをリモートログサーバーに転送する構文(設定)を提供しますか?
答え1
構成ファイルに複数のディレクティブを結合できます。
たとえば、コードに従ってフィルタを定義します。
filter f_warn { level(warn); };
そして目的地は次のとおりです。
destination remote_log_server {
udp("192.168.0.20" port(25214));
};
次のように整理してください。
log { source(src); filter(f_warn); destination(remote_log_server); };
source
明らかに、およびを構成する必要がありますfilter
。destination
注意深く読んでください。公式マニュアル、あるから場所ロギングをカスタマイズするためのオプション。