저는 네트워크에 연결되지 않았을 때 때때로 로그를 생성하는 컴퓨터(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가 실행되는 동안 변경된 파일만 모니터링하는 tail에 더 가깝습니까?
읽어 주셔서 감사합니다.