모든 로그를 여러 원격 서버로 보내려면 rsyslog를 어떻게 설정합니까? 로그를 2 개의 원격 서버로

rsyslog가 모든 로그를 2 개의 원격 서버로 보내려고하지만 첫 번째 서버가 실패하면 rsyslog가 보조 서버로만 보내는 것 같습니다.

*.* @@server1
*.* @@server2

위의 내용을 /etc/rsyslog.conf에 넣으면 server1이 작동하는 한 server2는 로그를받지 않습니다. rsyslog에 두 서버 모두에게 보내도록 어떻게 지시합니까?

또한 추가 보너스로 원격 서버가 다운되면 로컬 저장을 위해 2 개의 다른 로컬 “버퍼”파일을 사용하고 싶습니다.



답변

에서
더 이상의 서버에 전달 ;

그러나 알아야 할 중요한 사항은 지시문 전체가 조치를 구성한다는 것입니다. 따라서 단순히 두 번째 전달 규칙을 추가 할 수는 없지만 규칙 구성을 복제해야합니다. 두 번째 조치에 다른 큐 파일 이름을 사용하도록주의하십시오. 그렇지 않으면 시스템이 엉망이됩니다.

그래서, 실제로, 당신은 2 개의 다른 로컬 큐를 사용 할 수 있습니다.

작업 디렉토리를 구성하십시오.

$WorkDirectory /var/spool/rsyslog

전달 규칙을 구성하십시오.

$ActionQueueType LinkedList
$ActionQueueFileName Forward1
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
*.* @@server1

$ActionQueueType LinkedList
$ActionQueueFileName Forward2
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
*.* @@server2