我正在一台机器(ubuntu 18.04)上工作,它在未连接到网络时有时会生成日志。我已将 rsyslog 配置为在计算机插入网络时将其中一些日志转发到聚合器服务(fluidd)。配置如下:
module(load="imfile")
ruleset(name="sendtofluentd") {
action(
type="omfwd"
target="example.com"
port="6666"
protocol="tcp"
queue.type="LinkedList"
queue.size="100000"
queue.filename="skidder-queue"
queue.saveonshutdown="on"
queue.maxdiskspace="5g"
action.resumeRetryCount="-1"
action.resumeInterval="30"
action.resumeIntervalMax="99999999999"
)
}
input(type="imfile" tag="camera.falcon" file="/var/log/myapp/*.log" ruleset="sendtofluentd")
input(type="imfile" tag="camera.syslog" file="/var/log/syslog" ruleset="sendtofluentd")
一切正常,但我有几个问题。
- 我看到 rsyslog 正在假脱机队列文件
/var/spool/rsyslog/myapp.xxxxxxx
。我看到这个文件增长到数百GB。我担心这些队列文件会不断增长,并且可能会耗尽磁盘空间。看起来很多这样的文件已经进入了“sendtofluenced”操作。一旦它们到达那里,我就不再需要这些队列文件了。我只是偶尔需要rm
这些文件吗?这会导致 rsyslog 出现问题吗?我应该保留吗/var/spool/rsyslog/myapp.qi
? - 如果在
/var/log/myapp/*.log
rsyslog 启动之前存在现有文件,那么它是否会尝试将这些日志发送到队列,或者它更像是一个尾部,它只监视在 rsyslog 运行期间发生更改的文件?
感谢您的阅读。