우리는 syslog-ng에 로그를 보내는 여러 개의 f5 장치가 있는 시스템을 가지고 있습니다. syslog-ng를 다음과 같이 구성합니다.
/path/to/directory/$HOST.
/local이 호스트 이름 필드에 있으므로 다음으로 보내려고 하기 때문에 문제가 발생합니다.
/path/to/directory/local/ or /path/to/directory/slot1/.
디렉토리를 생성하고 싶지 않기 때문에 오류는 다음과 같습니다.
Directory does not exist.
syslog-ng 재작성 규칙을 사용하여 호스트 이름의 /local 및 /slot1을 local- 및 Slot-으로 바꾸려고 시도했지만 작동하지 않는 것 같습니다.
다시 쓰기 규칙은 다음과 같습니다.
rewrite r_f5{
subst("slot1/", "slot1-", value("HOST"), flags("global"), flags("ignore-case"));
subst("slot1/", "slot1-", value("MESSAGE"), flags("global"), flags("ignore-case"));
subst("local/", "local-", value("HOST"), flags("global"), flags("ignore-case"));
subst("local/", "local-", value("MESSAGE"), flags("global"), flags("ignore-case"));
};
메시지 규칙은 호스트 규칙이 작동하지 않아 발생합니다.
로깅 규칙은 다음과 같습니다.
log { source(s_network_f5); rewrite(r_f5); destination(d_network_f5);};
다시 쓰기 규칙에 문제가 있나요?