brunch

You can make anything
by writing

C.S.Lewis

by 박쉐프 Sep 02. 2015

서버 다 들어가서 로그보기 싫어!=3

Logstash+ElasticSearch+ElasticSearchHQ

당신은 소스를 수정한 뒤 리얼서버에 배포를 하였다.

수정한 소스 때문에 영향이 가지는 않을까 하여 로그를 모니터링하기로 맘먹었다.

아.. 서버가 무척이나 많을 것을 깨달았다..

모든 서버를 봐야 하기에... 당신은 하나씩 하나씩 접속을 하여 로그가 쌓이는 곳으로.. cd.. cd.. cd.cd.. 하였다.

아.. 모니터가 듀얼도 아니다!!!


왠지 모를 짜증이 폭발..!!


그렇다면 시간 투자 대비 가성비 최고인 Elasticsearch를 사용해보십시오!!



우선 대충 그려본 흐름도를 보자.


위의 흐름도에 사용되어지는 툴은 다음과 같다.

logstash : 로그를 수집하여 elasticsearch에게 준다.

elasticsearch : 분산 검색엔진! 로그를 수집하여 색인한다.

역화일구조의 검색엔진이며 샤드라는 작은 단위로 분산 저장을 한다.

elasticsearchHQ : elasticsearch의  plug-in이다. 클러스터와 노드 등을 모니터링할 수 있다.

각각의 download와 setting 방법은 조금만 검색해보면 쉽게 알 수 있다.


주저리 : 쌓이고 있는 로그를 통해 운영 중인 서비스들에 대한 사용빈도 및 에러빈도 등을 알 수 있을 것이다.

HQ대신 조금 더 비주얼 하게 표현할 수 있는 kibana라는 친구도 있다는 사실!

당신이 만약 이 툴들에 대해 관심이 생겨 구축을 시도한다면 엄청나게 쉽게 구축을 할 수 있으며 강력한 output을 받아볼 수 있을 것이다.


HQ로 로그 모니터링은?

아래와 같이 로그를 선택한 뒤 검색을 한다. 단, Search Query... 에서 키워드를 넣고 로그를 조회할 수 있다.

ex) ERROR , ERROR && getSaveMoney() etc..

또한 검색의 대상은 모든 서버에 쌓이고 있는 로그들이다.


아래는 검색 결과이다.



Elasticsearch의 Restful Api가 정말 잘되어있는 것 같다. 조금 디테일한 로그 검색만을 위한 툴을 하나 만들어봐도 재미있을 것이다.


  끝.




브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari