UDP/514를 통해 클라이언트로부터 정보를 수신하고 규칙 세트를 사용하여 호스트 이름/IP를 이름으로 사용하여 파일에 쓰도록 로그 서버를 설정했습니다. 다른 서버에 동일한 구성이 있는데 때로는 작동하지 않아서 작동하게 하려면 이리저리 움직여야 합니다. 문서를 읽었지만 의미가 있는 내용을 많이 찾을 수 없습니다.
rsyslog v8.2를 사용하는 RHEL 9에서 입력 줄은 기본 위치인 원격 추가에 있습니다.
` 입력(유형="imudp" 포트="514" 규칙 집합="원격")
&중지`
이는 원격에서는 작동하지만 로컬 로깅은 중지됩니다. 즉, /var/log/messages에 아무 것도 표시되지 않거나 localhost에서 보내야 하는 다른 내용이 있으면 원격은 예상대로 "원격" 지정된 위치로 이동합니다.
그러나 최근 시도에서는 다음과 같은 결과를 얻었습니다.
` 입력(유형="imudp" 포트="514")
:입력이름, isequal, "imudp" ?DynFile;TraditionalFormatWithPRI
&중지`
이는 예상대로 작동하며 UDP/514에서 수신된 로그가 적절한 파일로 전송되고 일반 로컬 로깅이 계속 작동합니다. 지역 벌목을 최초로 먹은 이유는 무엇일까요? 내가 무엇을 놓치고 있나요?
답변1
로컬 프로그램은 일반적으로 /dev/log
UDP를 사용하는 대신 로깅을 수행합니다.
Rsyslog는 다음을 사용하여 이러한 메시지를 받을 수 있지만imuxsock
입력 모듈은 이제 /dev/log
다음과 같이 표시 됩니다.journald
, 그래서 당신은 필요imjournal
기준 치수.
RHEL 9의 일반 rsyslog 구성에는 다음이 포함됩니다.
module(load="imuxsock" # provides support for local system logging (e.g. via logger command)
SysSock.Use="off") # Turn off message reception via local log socket;
# local messages are retrieved through imjournal now.
module(load="imjournal" # provides access to the systemd journal
UsePid="system" # PID nummber is retrieved as the ID of the process the journal entry originates from
StateFile="imjournal.state") # File to store the position in the journal