rsyslog 队列文件处理后会发生什么?

rsyslog 队列文件处理后会发生什么?

我正在一台机器(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")

一切正常,但我有几个问题。

  1. 我看到 rsyslog 正在假脱机队列文件/var/spool/rsyslog/myapp.xxxxxxx。我看到这个文件增长到数百GB。我担心这些队列文件会不断增长,并且可能会耗尽磁盘空间。看起来很多这样的文件已经进入了“sendtofluenced”操作。一旦它们到达那里,我就不再需要这些队列文件了。我只是偶尔需要rm这些文件吗?这会导致 rsyslog 出现问题吗?我应该保留吗/var/spool/rsyslog/myapp.qi
  2. 如果在/var/log/myapp/*.logrsyslog 启动之前存在现有文件,那么它是否会尝试将这些日志发送到队列,或者它更像是一个尾部,它只监视在 rsyslog 运行期间发生更改的文件?

感谢您的阅读。

相关内容