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


10

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

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

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

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

답변:


16

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

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

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

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

$WorkDirectory /var/spool/rsyslog

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

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

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

그것은 실제로 다른 대기열 파일을 포함하여 내가 사용한 구성입니다. 그러나 여전히 작동하지 않습니다. "server1"을 끄면 "server2"에 나오는 로그 만 볼 수 있습니다
Daniele Testa

미안 내 잘못이야. 방화벽 규칙이 잘못되었습니다 :) 방화벽 문제를 해결 한 후 원래 구성이 작동했습니다.
Daniele Testa

방화벽은 매번 그렇게 할 것입니다. 나는 그것에 대해 물어야했습니다! :) 기존 구성 작업에 관계없이 내 노력에 대한 공감대는 어떻습니까? 이 사이트는 투표 시스템이 참여를 권장 할 때 가장 잘 작동합니다. 기회가 생기면 투어 페이지를 참조하십시오 .
Aaron Copley

1
죄송합니다. 공표하려면 15 명 이상의 명성이 필요합니다
Daniele Testa
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.