
私はsyslog-ngを初めて使用し、syslog-ngの永続名の一意性によるエラーの問題を解決しようとしましたが、syslogに次のエラーが表示されます。
err 永続名の一意性の確認中にエラーが発生しました。これを無視するには、persist-name オプションを使用します。閉鎖。 persist_name='afsocket_dd.(dgram,10.120.21.10:514)', 場所='/etc/syslog-ng/syslog-ng.conf:81:26'
現在のsyslog-ng.confは次のとおりです。 Googleで検索した結果を一意にするには、persist-name()を追加する必要があることがわかりました。ただし、ターゲットがすでに一意の場合、syslog-ngは次のようになります。 confでIPアドレスが同じでdestination d_tempask_1
IPdestination d_temst_1
アドレスが同じ場合、エラーが発生します。ただし、別のIPアドレスを指定してもエラーは表示されません。同じIPアドレスを処理する方法について洞察を提供できる人はいますか?
source s_syslogng { file("/proc/kmsg" program_override("kernel:")); unix-stream("/run/systemd/journal/syslog" 最大接続数(200));
ソースs_internal {内部()};
フィルタf_test1 {メッセージ( "__test1")};
ターゲット d_test1_1 { udp ( "192.168.202.119" port(514) template("<$PRI>$DATE local0 infoblox Outbound[]: debug $MSGONLY\n") template_escape(no) };
ログ{ソース(s_syslogng);フィルタ(f_test1);ターゲット(d_test1_1);
フィルタ f_tempask { message("__tempask") };
宛先 d_tempask_1 { udp ( "10.120.21.10" ポート(514) template("<$PRI>$DATE local0 infoblox Outbound[]: debug $MSGONLY\n") template_escape(no) };
ログ{ソース(s_syslogng);フィルタ(f_tempask);ターゲット(d_tempask_1);
フィルタ f_temst { message("__temst") };
宛先 d_temst_1 { udp ( "10.120.21.10" ポート(514) template("<$PRI>$DATE local0 infoblox Outbound[]: debug $MSGONLY\n") template_escape(no) );
ログ{source(s_syslogng);フィルタ(f_temst);ターゲット(d_temst_1);
フィルタf_dir {メッセージ( "__dir")};
宛先 d_dir_1 { udp ( "10.35.183.11" ポート(514) template("<$PRI>$DATE local0 infoblox Outbound[]: debug $MSGONLY\n") template_escape(no) );
ログ{ソース(s_syslogng);フィルタ(f_dir);目的地(d_dir_1);
persist-name() を試してみましたが、IP アドレスが異なっているか同じであってもエラーが発生します。
syslog-ng.conf および persist-name()
source s_syslogng { file("/proc/kmsg" program_override("kernel:")); unix-stream("/run/systemd/journal/syslog" 最大接続数(200));
ソースs_internal {内部()};
フィルタf_test1 {メッセージ( "__test1")};
宛先 d_test1_1 { 永続名 (test1_1) udp ( "192.168.202.119" ポート(514) template("<$PRI>$DATE local0 infoblox Outbound[]: debug $MSGONLY\n") template_escape(no) } ;
ログ{ソース(s_syslogng);フィルタ(f_test1);ターゲット(d_test1_1);
フィルタ f_tempask { message("__tempask") };
宛先 d_tempask_1 { persist-name(tempask_1) udp ( "10.120.21.11" ポート(514) template("<$PRI>$DATE local0 infoblox Outbound[]: debug $MSGONLY\n") template_escape(no) };
ログ{ソース(s_syslogng);フィルタ(f_tempask);ターゲット(d_tempask_1);
フィルタ f_temst { message("__temst") };
宛先 d_temst_1 { 永続名 (temst_1) udp ( "10.120.21.10" ポート (514) template("<$PRI>$DATE local0 infoblox Outbound[]: debug $MSGONLY\n") template_escape(no) } ;
ログ{source(s_syslogng);フィルタ(f_temst);ターゲット(d_temst_1);
フィルタf_dir {メッセージ( "__dir")};
宛先 d_dir_1 { 永続名 (dir_1) udp ( "10.35.183.11" ポート (514) template("<$PRI>$DATE local0 infoblox Outbound[]: debug $MSGONLY\n") template_escape(no) } ;
ログ{ソース(s_syslogng);フィルタ(f_dir);目的地(d_dir_1);
どんな意見でも役に立ちます。
答え1
このpersist-name()
オプションはターゲット宣言内になければなりません。
udp("10.120.21.10" port(514) persist-name("temst_1"));