rsyslog发送日志到远程

rsyslog发送日志到远程

  1. 日志服务器和客户端都安装并启动rsyslog
  2. 日志服务器配置
    创建文件/etc/rsyslog.d/30-ros.conf,内容为

    $template remote-incoming-logs, "/var/log/remote/%HOSTNAME%.log"
    if $hostname contains 'ros' then {
    *.* ?remote-incoming-logs
    }
    

    mkdir /var/log/remote
    chown syslog:adm /var/log/remote
    编辑/etc/rsyslog.conf
    反注释

    module(load="imudp")
    input(type="imudp" port="514")
    

    这两行
    systemctl restart rsyslog

  3. 客户端配置
    创建文件/etc/rsyslog.d/remote.conf,内容为

    . @192.168.33.15:514

    其中192.168.33.15是日志服务器的IP,一个@符表示UDP协议,两个@@符表示TCP协议
    systemctl restart rsyslog

  4. 测试
    客户端执行以下命令发送日志
    logger -n 192.168.33.15 --udp --port=514 "Test message from client over UDP"
    服务端执行以下命令查看收到的日志
    tail /var/log/remote/ros.log

发表回复