0

postfix の複数行をサポートするように syslog-ng を取得しようとしています。私が理解しているように、syslog-ng は " flags(no-multi-line)" 構成オプションを使用できますが、機能していないか、間違って適用しています。

私の構成:

クライアント:

source s_src {
       system();
       internal();
};
filter f_mail { facility(mail) and not filter(f_debug); };
log { source(s_src); filter(f_mail); destination(d_mail); };
destination d_tls {
    tcp("logs.myserver.com" port(999)
    tls( ca_dir("/etc/syslog-ng/ssl/")) );
};

log {
 source(s_src);
 destination(d_tls);
 };

サーバ:

source s_tls {
        tcp(port(999)
        tls( key_file("/etc/syslog-ng/ssl/logs.key")
                cert_file("/etc/syslog-ng/ssl/logs.crt")
        peer_verify(optional-untrusted))
        flags(no-multi-line) # no worky
        );
};
4

1 に答える 1

1

syslog ドキュメントから:

no-multi-line: no-multi-line フラグは、メッセージの改行を無効にします。メッセージ全体が 1 行に変換されます。これは、基になるトランスポート メソッドが実際に複数行のメッセージをサポートしている場合にのみ発生することに注意してください。現在、syslog、udp、unix-dgram ドライバーは複数行メッセージをサポートしています。他のドライバー、たとえば、tcp ドライバーはそうではありません

したがって、最初に複数行のメッセージがサーバーに到達する方法が明確ではありません。回避策として、ファイル パラメータにフラグを入れることができます。

destination d_farm_cmtslog_debug {
   file("/var/log/cm/cmts.debug" flags(no-multi-line));
};
于 2013-12-09T08:56:41.570 に答える