私はネットワークに接続していないときにログを生成するコンピュータ(ubuntu 18.04)で作業しています。コンピュータがネットワークに接続すると、これらのログの一部をコレクタサービス(fluidd)に転送するようにrsyslogを設定しました。構成は次のとおりです。
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
。私はこのファイルが数百ギガバイトに大きくなるのを見ました。このようなキューファイルが増え続け、ディスク容量が不足する可能性があることが心配です。これらのファイルの多くは「sendtofluenced」操作に入れられているようです。そこに着いたら、これらのキューファイルはもう必要ありません。このファイルは時々必要なのですかrm
?これはrsyslogに問題がありますか?私はそれを維持する必要がありますか/var/spool/rsyslog/myapp.qi
? - rsyslogが開始される前に既存のファイルがある場合は、そのログをキューに
/var/log/myapp/*.log
送信しようとしますか、またはrsyslogの実行中に変更されたファイルのみを監視するテールに近いですか?
読んでくれてありがとう。