14.7. 通过 UDP 配置远程日志记录到服务器
您可以配置系统,以通过 UDP 协议将日志消息转发到服务器。omfwd 插件通过 UDP 或 TCP 提供转发。默认协议是 UDP。因为插件内置在内,所以不必加载它。
先决条件
-
rsyslog软件包安装在应该向服务器报告的客户端系统上。 - 您已为远程日志记录配置了服务器,如配置服务器 以通过 UDP 接收远程日志信息。
流程
在
/etc/rsyslog.d/目录中创建一个新的.conf文件,如10-remotelogcli.conf,并插入以下内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
-
queue.type="linkedlist"设置启用一个 LinkedList 内存中队列。 -
queue.filename设置定义磁盘存储。备份文件使用之前全局workDirectory指令指定的工作目录中的example_fwd前缀创建。 -
action.resumeRetryCount -1设置可防止rsyslog在重试时丢弃消息(如果服务器没有响应)。 -
如果
rsyslog关闭,启用的 queue.saveOnShutdown="on"设置会保存内存中的数据。 -
portno值是您要rsyslog使用的端口号。默认值为514。 最后一行将所有收到的消息转发到日志记录服务器,端口规格是可选的。
使用这个配置,
rsyslog会向服务器发送消息,但如果远程服务器无法访问,则会将消息保留在内存中。只有rsyslog耗尽配置的内存队列空间或需要关闭时,才能创建磁盘上的文件,从而让系统性能受益。
注意rsyslog 按照一般顺序处理配置文件
/etc/rsyslog.d/。-
重新启动
rsyslog服务。systemctl restart rsyslog
# systemctl restart rsyslogCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:如果没有启用
rsyslog,请确保rsyslog服务在重启后自动启动:systemctl enable rsyslog
# systemctl enable rsyslogCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
要验证客户端系统向服务器发送信息,请按照以下步骤执行:
在客户端系统中发送测试信息:
logger test
# logger testCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在服务器系统中,查看
/var/log/remote/msg/hostname/root.log日志,例如:cat /var/log/remote/msg/hostname/root.log Feb 25 03:53:17 hostname root[6064]: test
# cat /var/log/remote/msg/hostname/root.log Feb 25 03:53:17 hostname root[6064]: testCopy to Clipboard Copied! Toggle word wrap Toggle overflow 其中
hostname是客户端系统的主机名。请注意,该日志包含输入 logger 命令的用户的用户名,本例中为root。