들어가기 앞서 . .
- 아래 링크에서 ELK stack에 대해 구축하고 간단하게 어떤식으로 활용하는지 정리했다.
- 이번에는 ELK stack내의 오픈소스 플러그인인 opendistro alerting plugin 사용법에 대해 간단하게 정리해 본다.
Open Distro for Elasticsearch
- Open distro는 2019년에 AWS에서 개발한 Elasticsearch의 부가 기능들을 위한 오픈 소스이다. 100% 오픈소스(Apache 2.0 라이선스)이며, 첫 출시 버전에서는 Elasticsearch와 Kibana에 일련의 고급 보안, 이벤트 모니터링 및 알람, 성능 분석 및 SQL쿼리 기능을 포함하고 있었고, ELK stack의 버전이 업데이트 됨에 따라 지속적으로 업데이트해서 배포하고 있다. [링크]
(ELK stack의 버전에 따라 의존성이 꽤나 강해서 버전을 제대로 맞추지 않으면 설치가 어렵다.)
- 처음에 버전에 대한 사항을 제대로 확인하지 않고, 내멋대로 설치하다가 꽤 많은 시간을 허비했다.. 이러한 오픈소스를 활용할땐 꼭 문서를 잘 참고하는 습관을 들이자.
Standalone Kibana 버전에 따른 Open distro plugin install 버전 확인 : [링크]
Standalone Elasticsearch 버전에 따른 Open distro plugin install 버전 확인 : [링크]
설치 방법
- Docker compose를 활용해 구축한 ELK stack에 이벤트 로그 알람에 대한 notification을 위해 open distro alerting 플러그인을 설치한다.
1) ELK stack 설치 디렉토리에서 ELK version을 확인한다. ( 7.10.0 버전에 해당하는 open distro alerting 버전을 위의 버전 확인 링크에서 확인 --> open distro alerting 1.12.0.2 버전을 설치)
docker-elk (main) ✗ cat .env
ELK_VERSION=7.10.0
2) Elasticsearch와 Kibana의 Dockerfile에 플러그인을 설치하는 명령어를 써준다.
ARG ELK_VERSION
# https://www.docker.elastic.co/
FROM docker.elastic.co/elasticsearch/elasticsearch:${ELK_VERSION}
# Add your elasticsearch plugins setup here
# Example: RUN elasticsearch-plugin install analysis-icu
RUN elasticsearch-plugin install --batch analysis-nori
RUN elasticsearch-plugin install -b https://d3g5vo6xdbdb9a.cloudfront.net/downloads/elasticsearch-plugins/opendistro-alerting/opendistro_alerting-1.12.0.2.zip
Elasticsearch Dockerfile 내용
ARG ELK_VERSION
# https://www.docker.elastic.co/
FROM docker.elastic.co/kibana/kibana:${ELK_VERSION}
# Add your kibana plugins setup here
# Example: RUN kibana-plugin install <name|url>
RUN kibana-plugin install https://d3g5vo6xdbdb9a.cloudfront.net/downloads/kibana-plugins/opendistro-alerting/opendistroAlertingKibana-1.12.0.2.zip
Kibana Dockerfile 내용
3) 새롭게 docker-compose를 build 하고, ELK를 띄운다.
docker-elk (main) ✗ docker-compose build
docker-elk (main) ✗ docker-compose up
(기존에 ELK docker-compose가 실행중이라면 docker-compose down 명령어를 우선 실행)
정상적으로 실행됐다면, 아래와 같이 Kibana에서 Open Distro for Elasticsearch를 확인 할 수 있을 것이다.
혹시 아래와 같은 로그가 발생하며 Kibana가 죽는다면 part1에서 컨테이너가 구동이 안됐을때, 도커 자체 메모리 리소스를 증진 시키면 정상적으로 구동될 것이다.
Open Distro alerting 사용 방법
1) Kibana의 Alerting 탭에 들어가서 먼저 Destination을 만들어 준다. ( 본인 슬랙의 Webhook URL 생성 후 입력 )
2) Monitor를 생성하고, 생성화면 중간에 Method of definition을 Define using extraction query로 바꾸고, alerting할 로그 인덱스를 선택한다.
3) 스케줄링 설정을 한다. 설정 방법은 [링크]를 확인하면 어렵지 않게 할 수 있다.
4) Trigger 설정은 따로 수정하지 않고, 만들어놨던 Destination으로 설정 후에 테스트를 해본다.
위와 같이 테스트가 완료 됐다면, 성공한 것이다.
마무리 . .
이제 뉴스 웹스크래핑을 위한 기본 셋팅을 완료 했다. 매일 아침에 최신 뉴스를 수집하고, 수집 결과(수집된 뉴스의 통계치, 이슈 로그 등)를 모니터링하며 진행해 볼 예정이다.
'Open source' 카테고리의 다른 글
Docker compose를 활용한 Elasticsearch, Kibana, Logstash 구축 및 활용 part2 (for Mac) (0) | 2021.03.06 |
---|---|
Docker compose를 활용한 Elasticsearch, Kibana, Logstash 구축 및 활용 part1 (for Mac) (0) | 2021.02.23 |