1.安装Rsyslog
在Ubuntu 18.04系统上Rsyslog安装非常的简单,只需要一个命令,你可以通过运行以下命令来安装它:
sudo apt-get install rsyslog
2.配置/etc/rsyslog.conf
现在配置rsyslog服务以在服务器模式下运行:
sudo vim /etc/rsyslog.conf
取消注释udp和tcp端口绑定的行:
module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")
如果你想限制访问特定子网,IP或域,请添加如下(可选择)
$AllowedSender TCP, 127.0.0.1, 192.168.0.0/24, *.example.com
可以在输入input(type=“imtcp” port=“514”)行后添加上面的行
3.创建用于接收远程消息的新模板
让我们创建一个模板,指示rsyslog服务器如何存储传入的syslog消息,在GLOBAL DIRECTIVES部分之前添加模板:
$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
& ~
收到的日志将使用上面的模板进行解析并存储在目录/var/log/中,文件命名遵循约定:%HOSTNAME% and %PROGRAMNAME%变量,即客户端主机名和生成日志消息的客户端工具
& ~指示rsyslog守护程序仅将日志消息存储到指定的文件
4.重启rsyslog
sudo systemctl restart rsyslog
查看514端口是否存在