Skip to content

aws해커톤용 프로젝트(Elastic Search 모니터링)

Notifications You must be signed in to change notification settings

manips1/node_sns

 
 

Repository files navigation

Elastic Observation 해커톤

자료

elastic_shock_발표자료.pdf

서비스 소개

간단한 소셜 미디어 서비스로 기능은 간단한 게시글 포스팅 기능, 팔로우 팔로잉 기능과, 간단한 채팅 페이지가 있다.

배경 및 목표

소셜 미디어 서비스를 지속적으로 운영하기 위해서 가장 중요하다고 판단한 것은 트래픽 관리다.

모니터링 툴의 필요성

시스템 로그들의 모니터링이 우선 되어야 한다는 점 소셜 미디어 서비스의 특성 상 트래픽이 상황에 따라서 굉장히 가변적으로 움직일 수 있다는 점 자유로운 게시판 posting과 채팅은 많은 양의 데이터로 서버의 무리를 주기 굉장히 쉽다는 점 저희 서버의 트래픽이 상당히 증가 했을 때 그 이유를 판단 해야 할 필요성 (그것이 이상 유저 해킹으로 인한 공격인지 아닌 지에 대한 구별의 어려움이 있다)

그렇기 때문에 Elastic Cloud를 활용해서 로그데이터를 수집해서 다양한 모니터링과 유저 ip 모니터링을 가능하게 하는 대시보드를 만들고자 했다.

구축 환경

  • Amazon Ec2에 서비스를 배포
  • Elastic Cloud를 활용해 APM, Rum, Heartbeat, Custom logs agent를 설치하여 모니터링 환경 구축

image

키바나 모니터링 대시보드

image 시스템 로그 대시보드

기본적인 CPU 사용량과 그에 대한 그래프들이 존재하고 디스크의 읽기 쓰기 byte 수에 대한 그래프들과 메모리, 시스템 로드 평균과 들어오는 트래픽 값으로 대시보드를 우선적으로 구성

image 이상 유저를 탐지하기 위한 대시보드

두 가지의 경우의 수

  • 게시글 업로드 요청을 연타하는 경우 이상 유저의 정보를 탐지 보고 있지 않은 경우를 위해서도 anormaly detection job를 추가해서 ML기능을 활용해서 slack로 알람을 보내도록 구현 image
  • 짧은 시간안에 같은 ip가 로그인을 한번에 여러개 한 경우 (대시보드를 확인해서 일정 수치 이상 올라간 ip들의 탐지가 가능) 그림3
  • 그러나 이런 경우의 ip가 모두 모두 해킹이라고 단정하기는 어렵기 때문에 옆에 테이블을 활용해서 최근의 ip 관련 정보들과 로그들을 필터링해서 자세하게 함께 확인할 수 있도록 구성

결론

Elastic 모니터링 툴을 활용해서 간단한 서비스와 함께 연결해보았는데, 이러한 모니터링 기능이 장애와 오류를 인지하고 예방하는데 매우 중요함을 깨달았고 보안과 안전 측면에서도 네트워크 트래픽, 시스템 로그 등을 모니터링 하여 이상한 활동을 감지하거나 사고를 예방하는데 큰 도움이 된다는 것을 알게 되었다.

About

aws해커톤용 프로젝트(Elastic Search 모니터링)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 58.2%
  • HTML 35.9%
  • CSS 5.9%