다음과 같이 특정 원격 호스트의 로그를 내 응용 프로그램 디렉터리의 특정 파일로 보내도록 rsyslog 서버를 구성했습니다.
$template TmplApplication, "/whatever/jboss/logs/%fromhost-ip%/sum.log"
if $fromhost-ip != '127.0.0.1' then {
-?TmplApplication
stop
}
예를 들어 의 로그는 으로 1.2.3.4
전송됩니다 /whatever/jboss/logs/1.2.3.4/sum.log
.
그런데 지금은 jboss에서 wildfly로 애플리케이션을 변경하고 있어서 디렉터리 이름 /whatever/jboss/logs/
을 /whatever/wildfly/logs
.
나는 로그를 jboss 디렉토리(존재하는 경우)로 전달하고, 그렇지 않으면 wildfly 디렉토리로 전달할 수 있도록 이전 버전과 호환되도록 만드는 것을 선호합니다. 따라서 다음과 같습니다.
$template TmplApplication1, "/whatever/jboss/logs/%fromhost-ip%/sum.log"
$template TmplApplication2, "/whatever/wildfly/logs/%fromhost-ip%/sum.log"
if $fromhost-ip != '127.0.0.1' then {
if /whatever/jboss exists then {
-?TmplApplication1
stop
} else
-?TmplApplication2
stop
}
}
분명히 이것은 작동하지 않습니다. 올바른 구문이 무엇인지 아시나요?