![unix 套接字的 syslog-ng 修改问题](https://linux22.com/image/144307/unix%20%E5%A5%97%E6%8E%A5%E5%AD%97%E7%9A%84%20syslog-ng%20%E4%BF%AE%E6%94%B9%E9%97%AE%E9%A2%98.png)
我在研究解决问题的正确方法时遇到问题。问题是 salt master 服务器中的 syslog-ng 文件目前仅强制执行 unix-stream,如下所示:
source s_sys {
file ("/proc/kmsg" program_override("kernel: "));
unix-stream ("/dev/log");
internal();
};
source s_remote {
udp(ip(0.0.0.0) port(514));
};
但现在我们希望新的 Centos-7 备份服务器具有 unix-dgram。所以现在我面临一个困境,要么将此行更改为 unix-dgram,然后等待查看当 salt 在我们所有服务器上强制执行 unix-dgram 时,使用此配置进行 highstating 是否会出现问题,但我非常想将这两个条件添加到盐配置文件。我进行了一些研究,但找不到任何与 dgram 和 Stream 在同一配置文件中使用相关的内容。
有没有办法两全其美?
答案1
更新:问题已修复。它看起来像这样:
source s_sys {
file ("/proc/kmsg" program_override("kernel: "));
{%- if syslogng.osfinger == "CentOS Linux-7" %}
unix-dgram ("/dev/log"); {%- else %}
unix-stream ("/dev/log"); {%- endif %}
internal();
# udp(ip(0.0.0.0) port(514)); };