로그인한 사용자를 자신의 로그 파일로 분할하려고 합니다.
일치시킬 로그 텍스트는 다음과 같습니다.<user name> (<IP>): logged in
예를 들어:370 (10.5.21.57): logged in
사용자 이름은 숫자뿐만 아니라 어떤 이름이라도 될 수 있습니다.
나는 이 템플릿을 사용해 볼 것입니다:
$Template hs_file,"/var/log/hs/%msg:R,ERE,1,DFLT:([0-9A-Za-z ]+) \\([0-9.]+\\): logged in--end%"
정규식 일치를 사용하는 것이 좋습니다https://regex101.com/ 하지만 작동시킬 수 없습니다. 사실 rsyslog도 마찬가지입니다.https://www.rsyslog.com/regex/, 모든 로그는 다음 위치로 이동합니다.불일치문서.
필터는 다음과 같습니다.
if $msg contains ' logged in' then {
action(type="omfile"
dynaFile="hs_file")
stop
}
문제는 정규식입니다. 무엇이 옳은가?
감사해요!