rsyslog를 사용하여 중앙 로깅 서버를 설정했습니다. 클라이언트에서 syslog 메시지와 함께 IP 주소를 보낼 수 있는지 궁금합니다. 템플릿을 사용하여 메시지를 보내고 있는데 예상대로 원격 서버에 %fromhost-ip%
표시됩니다 . 127.0.0.1
그래서 rsyslog.conf에 bash 변수를 포함시킬 수 있는 방법이 있는지 궁금합니다. 내가 볼 수 있는 유일한 다른 옵션은 IP를 하드코딩하는 것인데 보기에는 좋지 않습니다.
현재 다음 템플릿을 사용하고 있습니다.
$template linux_err,"<%PRI%>%TIMESTAMP% %source% %syslogtag% %smg%"
%fromhost-ip%
수신 서버에서 사용하는 것이 유일한 옵션인 것 같아요.
답변1
문서에는 로컬 시스템에서 메시지를 받으면 IP가 127.0.0.1이 될 것이라고 명확하게 기록되어 있습니다.
여기,http://www.rsyslog.com/doc/master/configuration/properties.html
다른 시스템에서 전송해 보세요. 이것은 나에게 효과적입니다.
그렇지 않고 IP가 중요하지 않고 호스트만 구별하려는 경우에는 %hostname% 속성을 사용하십시오.