我是 syslog-ng 的新手,正在尝试解决由于 syslog-ng 中持久名称的唯一性而出现的错误问题,我在 syslog 中看到以下错误
err 检查持久名称的唯一性时出错,请使用 persist-name 选项覆盖它。正在关闭。 persist_name='afsocket_dd.(dgram,10.120.21.10:514)', location='/etc/syslog-ng/syslog-ng.conf:81:26'
当前的 syslog-ng.conf 如下,我在谷歌中进行了搜索,发现我们需要添加 persist-name() 才能使其唯一,但根据我的理解,如果目的地已经是唯一的,则如下syslog-ng.conf,当 IP 地址相同destination d_tempask_1
并且destination d_temst_1
具有相同的 IP 地址时,我收到错误。但如果我提供不同的 IP 地址,我就不会看到该错误。任何人都可以提供一些有关如何处理相同 IP 地址的见解吗?
源 s_syslogng { 文件(“/proc/kmsg”program_override(“内核:”)); 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 { 消息(“__tempask”); };
目的地 d_tempask_1 { udp ( "10.120.21.10" port(514) template("<$PRI>$DATE local0 infoblox Outbound[]: debug $MSGONLY\n") template_escape(no) ); };
日志{源(s_syslogng);过滤器(f_tempask);目的地(d_tempask_1); };
过滤器 f_temst { 消息(“__temst”); };
目的地 d_temst_1 { udp ( "10.120.21.10" port(514) template("<$PRI>$DATE local0 infoblox Outbound[]: debug $MSGONLY\n") template_escape(no) ); };
日志{源(s_syslogng);过滤器(f_temst);目的地(d_temst_1); };
过滤器 f_dir { 消息(“__dir”); };
目的地 d_dir_1 { udp ( "10.35.183.11" port(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()
源 s_syslogng { 文件(“/proc/kmsg”program_override(“内核:”)); unix-stream (“/run/systemd/journal/syslog”最大连接数(200)); };
源 s_internal { 内部(); };
过滤器 f_test1 { 消息(“__test1”); };
目的地 d_test1_1 { persist-name(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 { 消息(“__tempask”); };
目的地 d_tempask_1 { persist-name(tempask_1) udp ( "10.120.21.11" port(514) template("<$PRI>$DATE local0 infoblox Outbound[]: debug $MSGONLY\n") template_escape(no) ); };
日志{源(s_syslogng);过滤器(f_tempask);目的地(d_tempask_1); };
过滤器 f_temst { 消息(“__temst”); };
目的地 d_temst_1 { persist-name(temst_1) udp ( "10.120.21.10" port(514) template("<$PRI>$DATE local0 infoblox Outbound[]: debug $MSGONLY\n") template_escape(no) ); };
日志{源(s_syslogng);过滤器(f_temst);目的地(d_temst_1); };
过滤器 f_dir { 消息(“__dir”); };
目的地 d_dir_1 { persist-name(dir_1) udp ( "10.35.183.11" port(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"));