SLES10でsyslog-ng 1.6.8
を使用しています。このマシンから、すべてのイベントをリモートホスト10.30.38.115に転送する必要があります。ただし、予備的にメッセージを少し変更して、イベントの最後に「MyMark」プレフィックスを追加する必要があります。私は以下を試しました:
source src {
internal();
unix-dgram("/dev/log");
};
destination editredirect { udp("10.30.38.115" port(514) template("<$PRI> $DATE $Host $MSG MyMark\n") ); };
log { source(src); destination(editredirect); };
しかし、それは機能しません。リモートホストでは、これらのメッセージをまったく受信しません。実は、テンプレートを削除しても届きません。リモートホストは着信メッセージを受け入れるように構成されており、実際に受け入れます。
したがって、私の質問は、リモートホストにメッセージを送信する前にメッセージを変更できるようにsyslog-ng.conf
を調整する方法です。
更新:解決済み
リダイレクトが現在どのように編成されているかを次に示します。
リモートマシン:
source src {
#
# include internal syslog-ng messages
# note: the internal() soure is required!
#
internal();
#
# the default log socket for local logging:
#
unix-dgram("/dev/log");
#
# uncomment to process log messages from network:
#
udp(ip("0.0.0.0") port(514));
tcp(ip("0.0.0.0") port(1470)); };
ローカルマシン:
source src {
#
# include internal syslog-ng messages
# note: the internal() soure is required!
#
internal();
#
# the following line will be replaced by the
# socket list generated by SuSEconfig using
# variables from /etc/sysconfig/syslog:
#
#unix-dgram("/dev/log");
unix-stream("/dev/log");
#
# uncomment to process log messages from network:
#
#udp(ip("0.0.0.0") port(514));
};
destination editredirect { tcp("10.30.38.115" port(1470) template("<$PRI> $DATE $Host $MSG MyMark\n")); };
log { source(src); destination(editredirect); };
リダイレクトが現在どのように編成されているかを次に示します。
Remote machine:
source src {
#
# include internal syslog-ng messages
# note: the internal() soure is required!
#
internal();
#
# the default log socket for local logging:
#
unix-dgram("/dev/log");
#
# uncomment to process log messages from network:
#
udp(ip("0.0.0.0") port(514));
tcp(ip("0.0.0.0") port(1470)); };
Local machine:
source src {
#
# include internal syslog-ng messages
# note: the internal() soure is required!
#
internal();
#
# the following line will be replaced by the
# socket list generated by SuSEconfig using
# variables from /etc/sysconfig/syslog:
#
#unix-dgram("/dev/log");
unix-stream("/dev/log");
#
# uncomment to process log messages from network:
#
#udp(ip("0.0.0.0") port(514));
};
destination editredirect { tcp("10.30.38.115" port(1470) template("<$PRI> $DATE $Host $MSG MyMark\n")); };
log { source(src); destination(editredirect); };
これを試して
source src {
internal();
unix-stream("/dev/log");
};
destination editredirect { tcp("10.30.38.115" port(1470) template("$FULLDATE $PROGRAM $MSGONLY MyMark \n") template_escape(no)); };
log { source(src); destination(editredirect); };