syslog - 添加到内存队列的日志在重新连接后不会转发到 rsyslog 服务器
问题描述
当连接可靠时,我能够让客户端机器将其所有日志发送到 rsyslog 服务器。只有当与 rsyslog 服务器的连接丢失时,我才会遇到问题。
这是我的服务器配置:
$ModLoad imtcp
$InputTCPServerRun 514
$template RemoteServer, "/var/log/%HOSTNAME%/%SYSLOGFACILITY-TEXT%.log"
*.* ?RemoteServer
这是我的客户端配置:
action(type="omfwd" target="<IP>" port="514" protocol="tcp"
queue.filename="forwarding" queue.size="100000"
queue.type="LinkedList" queue.saveOnShutdown="on")
如果网络连接断开,客户端机器上会出现预期的错误消息:
Jun 18 10:20:45 <HOSTNAME> rsyslogd[64208]: cannot connect to <IP>:514: Connection refused [v8.2102.0 try https://www.rsyslog.com/e/2027 ]
当网络连接恢复时,客户端机器上会出现预期的重新连接消息:
Jun 18 10:21:17 <HOSTNAME> rsyslogd[64208]: action 'action-0-builtin:omfwd' resumed (module 'builtin:omfwd') [v8.2102.0 try https://www.rsyslog.com/e/2359 ]
但是,连接失败期间客户端计算机上生成的日志不会转发到服务器。
没有错误表明出了什么问题。
如何检查日志是否正在发布到队列,以及如何强制客户端确保服务器接收在连接失败期间丢失的日志?
谢谢。
解决方案
推荐阅读
- if-statement - 如何在此代码段中添加 php if 条件
- search - Jump Point Search 是否严格优于 A*?
- dapper - 将值传递给 BulkDelete 的 sql
- jquery - Magento 主题在刷新后显示错误和响应式显示
- firebase-realtime-database - 是否可以将坐标数据发送到具有超过 2 个小数位的 firebase 实时数据库?
- angular - 设置顶点值时属性丢失
- azure-application-insights - Power M Query/Kusto 从组中抢先
- excel - 打开 ZipFile,查找特定文件类型并保存文件名
- docker - 使用 docker image testcafe/testcafe 时无权创建截图目录
- azure - 在 Azure DevOps 发布管道中控制作业顺序