2017-01-19 2 views
0

그래서 (Yelp 's) Elastalert에서 특정 쿼리를 실행하고 여러 키워드 중 하나를 포함하는 로그를 필터링하려고합니다. any 규칙 유형을 사용하면 특정 검색어와 일치하는 항목이 30 개 있습니다. 나는 화이트리스트에 ruletype을 변경하는 경우 :Elastalert 화이트리스트/블랙리스트가 작동하지 않습니다.

type: whitelist 
compare_key: message 
ignore_null: true 
whitelist: ["exclude_strings"...] 

을 난 아직도 메시지 필드가 나열된 문자열을 포함 알고 경우에도, 같은 30 경기를 얻을. 나는 또한 정확하게 전체 필드와 일치하는 문자열을 사용하여 키 또는 문자열을 비교 변경 시도했습니다, 나는

whitelist: 
- "string" 
... 

에 서식을 변경 한 아무것도 차이를 만들어 없다. 같은 일이 블랙리스트 유형에서도 발생합니다.

무엇이 누락 되었습니까?

답변

1

추가 테스트를 한 후에 위 형식 중 하나가 올바르게 작동하는 것으로 나타났습니다. 내가 작동하지 않는다고 생각한 이유는 Elastalert 상태에서 hits이라는 용어를보고 있다는 것입니다. 대신 나는 matches 용어를 조사해야했습니다. 수색은 매번 동일했기 때문에 수색은 hits 이었지만, matches이라는 용어는 ElasticSearch가 아니라 Elastalert 자체에서 나온 것입니다.

즉, Elastalert는 전체 쿼리를 ElasticSearch로 보내고 허용 된 조건에 따라 반환 된 데이터를 필터링합니다. hits은 매번 동일하지만 일치는 허용 목록에 따라 다릅니다. realert를 0으로 설정하면 생성 된 경고 수가 matches 수와 동일 함을 알 수 있습니다.