Rsyslog 서버에서 원격 로그 수신

Rsyslog 서버에서 원격 로그 수신

현재 포트 514에서 udp 패킷을 수신하는 rsyslog 서버(ironport 프록시)에 로그를 보내고 있습니다. 포트 514에서 tcpdump를 확인하고 많은 syslog 메시지를 보았기 때문에 알고 있습니다.

하지만 문제는 이러한 메시지를 파일로 리디렉션할 수 없다는 것입니다. 온라인(및 여기)에서 본 많은 것을 시도했지만 작동하지 않습니다. 이를 수행하는 올바른 방법은 무엇입니까? 여기 내 질문에 대한 답을 아는 사람이 있다면 :roll:

미리 감사드립니다

답변1

syslog 메시지를 수신하는 서버의 UDP 포트 514에 다음 구성을 추가해야 합니다.

$ModLoad imudp
$UDPServerRun 514
$AllowedSender UDP, 10.42.0.0/15 127.0.0.1

$template RemoteStore, "/var/log/remote/%HOSTNAME%/%timegenerated:1:10:date-rfc3339%"
:source, !isequal, "localhost" -?RemoteStore
:source, isequal, "last" ~

올바른 발신자( replace 10.42.0.0/15)를 허용했는지 확인하고 rsyslog를 다시 시작하십시오. 그러면 에서 원격 로그인을 찾을 수 있습니다 /var/log/remote/$hostname/YYYY-MM-DD.


또한/CentOS 특정: 방화벽이 활성화되었을 가능성이 높습니다. 그렇다면 UDP 포트 514에 대한 인바운드 트래픽이 삭제될 수 있습니다. 방화벽 상태( systemctl status firewall)를 확인하세요. 활성화된 경우 규칙을 추가해 보세요.

# firewall-cmd --get-default-zone
public
# firewall-cmd --zone=public --add-port=514/udp
# firewall-cmd --permanent
# firewall-cmd --reload

SELinux를 확인하고 싶을 수도 있습니다. 활성화된 경우 확인하세요.rsyslog가 포트 514에서 UDP 트래픽을 수신하도록 허용.

답변2

나는 최근에 같은 질문에 대해 머리를 긁적이었습니다. 위의 SYN 제안을 모두 시도했지만 여전히 주사위가 없습니다. :(

RHEL 7에서 마침내 "ACCEPT" 규칙을 추가해야 한다는 것을 깨달았습니다./etc/sysconfig/iptables:

-A INPUT -m state --state NEW -m udp --dport 514 -j ACCEPT

파일의 "REJECT" 규칙 앞에 나타나야 합니다. 일단 자리를 잡으면 모든 것이 황금색이 됩니다! :)

관련 정보