반응형
마이크로서비스에서 로그의 특징은?
- 마이크로서비스의 로그는 기존 시스템에 비해 크게 다름
- 마이크로서비스 인스턴스는 생성되었다가 종료 및 삭제 될수 있음. 즉, 인스턴스에 로그 데이터를 저장하는 것으로 충분하지 않음.
- 마이크로서비스 기반의 아키텍처에는 많은 시스템이 존재하므로, 모든 시스템에 로그인 할 수 없으며, 모든 로그파일을 분석하기는 힘듬.
- 모든 마이크로서비스의 로그를 수집하기 위해서는 중앙 집중식으로 로그가 저장되어야 함.
- 로그데이터를 분석하기위해서는 커멘드 라인 툴(grep/tail 등등)로는 분석이 힘들 수 있으며, 해결책으로 대용량 데이터 분석을 위한 툴이 필요함.
- 로그가 툴을 통해 중앙로그 서버에 저장되고 분석되는 경우, 로그는 중앙서버의 로그 포멧에 최적화되어야 함.
마이크로서비스의 로그 최적화
- 로그레벨 정의
- error : 운영이 완전히 실패될 때 발생하는 로그
- warning : 사용자에게 부정적인 영향을 미칠 수 있는 이벤트 로그
- info : 새로운 등록 및 비즈니스 정보 로그
- debug : 개발자에게 필요한 세부정보를 포함한 로그
- 로그메시지의 표준화 및 추적을위한 추가 정보 정의
- ex) ID 정보
- ID 정보를 사용하면 로그 항목간의 관계 및 발생한 로그 메시지를 통해서 이벤트를 추적가능
- ex) ID 정보
마이크로서비스의 로그처리를 위한 툴
- 일래스틱 서치(elasticsearch)
- 검색엔진이며, 로그 데이터를 저장 및 텍스트 검색이외에도 많은 작업을 수행할 수 있음. 또한 숫자 또는 지형데이터와 같은 다른 데이터 처리도 가능
- JSON 문서와 같은 구조화된 데이터를 처리함.
- 참고페이지 : https://www.elastic.co/kr/products/elasticsearch
- 로그스태시(logstash)
- 로그데이터를 파싱해 검색 서버에 JSON을 전달함.
- 참고페이지 : https://www.elastic.co/kr/products/logstash
- 파일비트(filebeat)
- 경량로그 수집기, 로그와 파일을 경량화된 방식으로 전달하고 중앙 집중화하여 작업을 보다 간편하게 만들어 주는 역할
- 참고페이지 : https://www.elastic.co/kr/products/beats/filebeat
- 키바나(kibana)
- 로그 데이터를 시각화, 검색, 분석을 위한 사용자 인터페이스를 제공함.
- 참고페이지 : https://www.elastic.co/kr/products/kibana
예시
- 로그처리를 위한 툴 사용의 예시는 아래 페이지를 참고
- 참고페이지 : https://github.com/ewolff/microservice-consul
- Elastic Stack
로그 처리를 위한 대안 솔루션 소개
- Graylog
- 고가용성 로그 수집/분석 툴
- 참고페이지 : https://www.graylog.org
- 아파치 플룸
- 여러 서버에서 생산된 대용량 로그 데이터를 효과적으로 수집하여, HDFS과 같은 원격 목적지에 데이터를 전송하는 기능을 제공
- 참고페이지 : https://flume.apache.org
- Fluentd
- 분산 로그 & 데이타 수집 툴
- 참고페이지 : http://www.fluentd.org
- Loggly
- 대량의 로그 데이터를 처리가능함.
- 참고페이지 : https://www.loggly.com
- Splunk
- 클라우드뿐만 아니라 자체 데이터 센터에 설치용 상용 솔루션을 제공
- 참고페이지 : https://www.splunk.com
결론
- 마이크로서비스에서 로그 데이터 관리는 매우 중요함.
- 로그 데이터는 중앙에서 수집하고 분석을 해야 함.
- 대용량 로그 데이터를 처리할 수 있는 솔루션이 필요함.
- 금일의 한마디 명언
- 강대한것은 낮은 곳으로 임하고, 부드럽고 약한 것이 높은 곳으로 임한다. - 노자 『도덕경』
300x250
'좋아하는 것_매직IT > 10.microservice' 카테고리의 다른 글
23.마이크로서비스, 마이크로서비스를 만들어 갈때, 아키텍처 설계에 대해서 알아보자. (0) | 2021.01.13 |
---|---|
22.마이크로서비스, 서비스 트레이스를 위한 집킨서버에 대해서 알아보자 (0) | 2021.01.13 |
20.마이크로서비스, 프로메테우스를 이용한 모니터링에 대해서 알아보자. (0) | 2021.01.13 |
19.마이크로서비스, 마이크로서비스아키텍처에서 운영이 중요한 이유는 몰까요? (0) | 2021.01.13 |
18.마이크로서비스, PaaS 그리고 클라우드 파운드리를 알아보자 (0) | 2021.01.13 |