Rsyslog는 여러 호스트로부터 수신하여 다른 파일에 저장합니다.

Rsyslog는 여러 호스트로부터 수신하여 다른 파일에 저장합니다.

홈 네트워크의 라우터와 AP가 Debian을 실행하는 Raspberry Pi를 syslog 서버(rsyslogd 5.8.11)로 사용하기를 원합니다. 그러나 여러 장치에서 로그를 쉽게 수신하고 다른 위치에 저장하는 방법에 대한 간단한 가이드를 어디에서도 찾을 수 없습니다. rsyslog에 대한 정보는 너무 많지만 대부분은 이해하기에는 너무 복잡합니다.

라우터의 IP는 192.168.1.1이고 AP는 192.168.1.5입니다.

또한 실제로 필요하지는 않지만 Pi가 이러한 로그를 VPS 서버에 자동으로 보내도록 할 수 있는지 궁금합니다. 라우터에는 동적 IP 주소가 있으며 DDNS No-IP 호스트 이름을 사용합니다.

답변1

내가 찾은 가장 쉬운 방법은 호스트 이름을 지정하는 템플릿을 사용하는 것입니다. 예를 들면 다음과 같습니다 /etc/rsyslog.conf.

$template TmplAuth, "/var/log/%HOSTNAME%/$year-$month-$day.log" 

바라보다http://www.rsyslog.com/doc/v8-stable/configuration/properties.html템플릿을 사용하여 정의할 수 있는 모든 속성의 목록입니다.

답변2

구글링을 조금 해서 찾았는데협회다음 내용을 포함합니다

# 클라이언트의 IP 주소를 기반으로 로그 파일 이름을 동적으로 생성하기 위한 템플릿입니다.

$template FILENAME,"/var/log/%fromhost-ip%/syslog.log"

# 모든 메시지를 동적으로 형성된 파일에 기록합니다. 이제 각 클라이언트 로그(192.168.1.2, 192.168.1.3 등)는 FILENAME 템플릿으로 구성된 별도의 디렉터리 아래에 있습니다.

*.* ?FILENAME

답변3

/etc/rsyslog.conf맨 아래에 다음 두 줄을 성공적으로 구성했습니다 .

$template DynaFile,"/var/log/system-%HOSTNAME%.log"
*.* -?DynaFile

관련 정보