![rsyslog 메시지에 bash 변수를 포함시킬 수 있습니까?](https://linux55.com/image/115646/rsyslog%20%EB%A9%94%EC%8B%9C%EC%A7%80%EC%97%90%20bash%20%EB%B3%80%EC%88%98%EB%A5%BC%20%ED%8F%AC%ED%95%A8%EC%8B%9C%ED%82%AC%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
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% 속성을 사용하십시오.