特定のフィルタを使用したメッセージ配信

特定のフィルタを使用したメッセージ配信

シナリオは、すべての着信メッセージを受信し、それらをすべてに保存しますが、/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.logSyslog-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明らかに、およびを構成する必要がありますfilterdestination

注意深く読んでください。公式マニュアル、あるから場所ロギングをカスタマイズするためのオプション。

おすすめ記事