[Elastalert 설치 가이드라인]
해당 가이드라인은 ELK 스택 7.7버전을 사용하였습니다.
$ pip install elastalert
$ git clone https://github.com/Yelp/elastalert.git
$ pip install "setuptools>=11.3"
$ python setup.py install
$ elastalert-create-index
[Elastalert 실행 가이드라인]
- 테스트용으로 정상적으로 실행되는지만 확인
$ elastalert-test-rule example_rules/d.yaml - 실행
$ elastalert --verbose --rule example_rules/d.yaml
(d.yaml대신 실제로 실행할 rule을 선택.)
[Elastalert Example_rules 가이드라인]
Rule타입
- Any : The any rule will match everything. Every hit that the query returns will generate an alert.
- Blacklist : The blacklist rule will check a certain field against a blacklist, and match if it is in the blacklist.
- Whitelist : Blacklist와 흡사 , this rule will compare a certain field to a whitelist, and match if the list does not contain the term.
- Change : This rule will monitor a certain field and match if that field changes.
- Frequency : This rule matches when there are at least a certain number of events in a given time frame.
- Flatline : This rule matches when the total number of events is under a given threshold for a time period.
- New Term :This rule matches when a new value appears in a field that has never been seen before
- Cardinality : This rule matches when a the total number of unique values for a certain field within a time frame is higher or lower than a threshold
- Metric Aggregation : This rule matches when the value of a metric within the calculation window is higher or lower than a threshold
samplerules.yamles_port: 14900 name: Example rule type: frequency index: logstash-* num_events: 50 timeframe: hours: 4 filter: - term: some_field: "some_value" alert: - "email" - "slack" email: - "bbbbbbbbb@naver.com" slack: slack_webhook_url: "https://hooks.slack.com/services/T~~~9B1OvKw" slack_username_override: 'wow159357' slack_channel_override: '#elastalert' slack_emoji_override: ':pizza:'
- es_host, es_port는 elasticsearch를 설치할떄의 ip,port번호를 적으면 된다.
- name 에 해당 룰 이름을 지정해준다.
- Type에 위에서 설명해준 Rule타입을 선택한다.
- time frame 해당 룰이 몇시간 이내에 실행된데이터를 기준으로 할지 정해준다.
- num event 에 특정데이터수를 지정해준다
- filter에 어떤 필드를 기준으로 삼을것인지 정해준다.
- alert에 'slack', 'email'등 알림받기 원하는것을 선택하여 적어준다.
- slack: 밑에 알람받을 슬랙주소와 유저주소, 채널,알람받을 이모티콘을 설정해준다.
[Elastalert Slack Webhook 설정]
- 설정 - Add an app or custom integration 클릭
- 가입된 이메일+비밀번호 입력
- 슬렉웹페이지가 열리면 가운데 검색창에 incoming webhooks 선택
- 왼쪽 메뉴바에 Add Configuration누르기
- 메세지보낼 채널을 선택 (ex: #general)
- webhook URL복사후 Rule에 들어가 Slak: 아래부분 slack_webhook_url: 에 작성
'<수업> > 과제' 카테고리의 다른 글
ELK 작동순서 + Elasticsearch 명령어 윈도우 (0) | 2021.01.15 |
---|---|
Software Architecture Style 조사하기 - Elasticsearch (0) | 2021.01.13 |
서울시 공공데이터(CSV) Logstash로 Elasticsearch에 올리고 Kibana에서 분석하기 (+한글깨짐해결) (0) | 2021.01.13 |
MIPS 정리본 (0) | 2020.12.16 |
컴파일러 입문 정리 + 발표 ppt (0) | 2020.12.15 |