Elastalert는 Elasticsearch에 있는 데이터로부터 비정상, 스파이크 혹은 다른 관심있는 패턴을 경고해주는 프레임워크입니다.
Yelp 에서도 ELK로 로그를 수집/관리하고 있고 Kibana로 데이터를 쿼리하고 시각화 하고 있지만 데이터를 통한 알람 기능이 필요하여 직접 만들어 오픈소스로 공개했습니다.
99.9% 파이썬2 코드입니다.
Stand alone 툴이라 설치 및 사용이 매우 간편하고, 문서화가 잘 되어 있습니다.
YAML 포맷으로 간단하게 설정하고 룰만 지정하면 바로 동작합니다.
알람이 필요한 대부분의 경우를 커버하는 알람 타입을 지원합니다.
- “Match where there are X events in Y time” (frequency type)
- “Match when the rate of events increases or decreases” (spike type)
- “Match when there are less than X events in Y time” (flatline type)
- “Match when a certain field matches a blacklist/whitelist” (blacklist and whitelist type)
- “Match on any event matching a given filter” (any type)
- “Match when a field has two different values within some time” (changetype)
- “Match when a never before seen term appears in a field” (new_term type)
- “Match when the number of unique values for a field is above or below a threshold (cardinality type)
다양한 경고 방법을 지원한다. 이메일은 기본이고 우리가 필요한 slack도 되며 심지어 알람이 발생할 때 자동으로 JIRA 테스트 생성도 가능합니다.
- Command
- JIRA
- OpsGenie
- SNS
- HipChat
- Slack
- Telegram
- Debug
- Stomp