syslog发送udp不能给本地发送

想请问一下rsyslog这个,为什么我用公司的服务器(linux)给本地Windows发送日志的时候可以发送(udp通信),但是我在服务器上创建一个udp服务器却接收不到内容呢。。我先让rsyslog启动后,在运行服务器会报错bind: Address already in use,端口被占用。。有没有能解释一下

  • 这篇博客: Linux系统配置Syslog客户端中的 2.2用文件编辑器打开文件后,添加以下声明到文件底部,将IP地址替换为你的远程rsyslog服务器的IP地址。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • *.* @192.168.1.25:514
    

    如果需要更为可靠的协议,如TCP,而rsyslog服务器也被配置为监听TCP连接,可以在远程主机的IP地址前添加一个额外的@字符,像下面这样:

    *.* @@192.168.1.25:514 
    

    注意:也可以将rsyslog服务器的IP地址替换成它的主机名(FQDN)。

    如果你只想要转发服务器上的指定设备的日志消息,比如说内核设备,那么你可以在rsyslog配置文件中使用以下声明:

    kern.* @192.168.1.25:514 
    

    CentOS 7:

    systemctl restart rsyslog.service 
    

    CentOS 6:

    service rsyslog restart 
    

    若需要发送非syslog 的日志,列如:假定在机器上安装了一个名为“foobar”的应用程序,它会在/var/log下生成foobar.log日志文件。现在,需要将它的日志定向到rsyslog服务器,这可以通过像下面这样在rsyslog配置文件中加载imfile模块来实现。

    1)首先,加载imfile模块,这只需做一次。

    module(load="imfile" PollingInterval="5") 
    

    2)然后,指定日志文件的路径以便imfile模块可以检测到:

    input(type="imfile"
    File="/var/log/foobar.log"
    Tag="foobar"
    Severity="error"
    Facility="local7")
    

    3)最后,定向local7设备到远程rsyslog服务器:

    local7.* @192.168.1.25:514
    

    4)重启syslog进程

这意味着这个端口已经被占用了,需要找到占用此端口的进程并关闭它,然后重新运行UDP服务器。