2년 전에 rsyslog 청취자를 위해 작성한 규칙이 있는데 오늘 그것이 작동하지 않는다는 것을 발견했습니다. RainerScript 기반의 기본 필터인데 작동하지 않습니다. 누군가 다음을 보고 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까? 미리 감사드립니다.
call ruleset_em7
# Send to EM7
ruleset(name="ruleset_em7"){
if ($msg contains "%ASA-4-313009" or $msg contains "%ASA-4-733100" or $msg contains "%ASA-3-202010") then {
action(type="omfwd" name="omfwd_em7" target="x.x.x.x" protocol="udp" port="514")
}
}
답변1
위 원래 질문의 코드에는 2개의 중괄호 세트가 있습니다. 하나는 전체 if/then 문을 둘러싸고 있고 다른 하나는 작업 부분을 둘러싸고 있습니다. 불행하게도 내장된 문법 검사기는 이것이 나쁜 생각이라는 것을 깨닫지 못하는 것 같아서 두 번째 세트에 대해 불평하지 않습니다. 삭제되면 rsyslog는 작업 설명에서 식별된 호스트로 전달을 시작합니다.