rsyslog(클라이언트)와 syslogd(서버) 간에 로그 보내기

rsyslog(클라이언트)와 syslogd(서버) 간에 로그 보내기

기계가 두 대 있어요. 첫 번째는 임베디드 Linux를 실행하고 두 번째는 FreeBSD를 실행합니다. Linux가 설치된 시스템에는 이미 rsyslogsyslog 클라이언트가 있고 그래야 합니다. 다른 하나는 이미 설치되어 syslogd있으며 서버여야 합니다. FreeBSD를 사용하는 컴퓨터는 syslogd파일에 원격 로그를 쓰지 않습니다. 테스트를 위해 Linux 상자 rsyslog로 변경했을 때 sysklogd원격 로깅이 작동하고 있었습니다. 문제는 내가 rsyslog클라이언트에 있어야한다는 것입니다. 무엇이 문제를 일으킬 수 있나요? 예 rsyslogsyslogd아니오가 호환됩니까? 내가 아는 한 로그 메시지 형식은 동일합니다.

FreeBSD를 실행 하면 tcpdump -enpi <interface>syslog 메시지가 표시됩니다.

Linux MAC > FreeBSD MAC, ethertype IPv4 (0x0800), length 94: client_IP.35398 > server_IP.514: SYSLOG user.notice, length: 52

Linux(클라이언트)의 파일에 rsyslog.conf다음 줄을 추가했습니다.

*.* @server_IP

FreeBSD(서버)의 파일에 syslog.conf다음 줄을 추가했습니다.

+client_IP
*.*  /path/to/client/logs 

내 FreeBSD 파일 rc.conf에 다음 줄을 추가했습니다 .

syslogd_enable="YES" 
syslogd_flags="-a client_IP -vv" 

답변1

-a client_IP에서 제거 했습니다 syslogd_flags. rc.conf문제는 클라이언트 포트 번호일 수 있습니다. 포트를 지정하지 않으면 syslogd_flags514로 가정하는데, 내 로그는 다른 포트에서 나옵니다. 또 다른 해결 방법은 모든 포트를 클라이언트 IP 주소에 추가하는 것입니다 -a client_IP:*.

관련 정보