티스토리 뷰

이번에는 데이터 수집 그리고 추적을 위해서 Zipkin이라는 오픈소스를 사용하려 합니다. 쉽게 말해 분산추적을 위한 라이브러리 입니다.

 


#Zipkin 개요

Twitter에서 사용하는 분산 환경의 Timing 데이터 수집, 추적 시스템 (오픈소스)

분산환경에서의 시스템 병목 현상 파악

Collector, Query Service, DataBasem WebUi로 구성

Span

-하나의 요청에 사용되는 작업의 단위

-64 bit uniques ID

Trace

-트리 구조로 이뤄진 Span Set

-하나의 요총에 대한 같은 Trace ID 발급

 

해당 특징에서 알 수 있듯 Zipkin은 분산환경에서 시스템 병목 현상을 파악합니다. 여기서 분산환경이란, 저희가 구축한 MSA형태의 어플리케이션 처럼 서비스가 분리되어 있는 환경을 뜻합니다.


#Spring Cloud Sleuth 개요

 

스프링 부트 애플리케이션을 Zipkin과 연동

요청값에 다른 Trace ID, Span ID 부여

Trace와 Span Ids를 로그에 추가 가능

-servlet filter

-rest template

-scheduled actions

-message channels

-feign client

 

쉽게 말해 Spring Boot ApplicationZipkin을 연동시켜주는 라이브러리입니다.


#Zipkin 설치

 

Quickstart · OpenZipkin

Quickstart In this section we’ll walk through building and starting an instance of Zipkin for checking out Zipkin locally. There are three options: using Java, Docker or running from source. If you are familiar with Docker, this is the preferred method t

zipkin.io

먼저 해당 Url로 이동해줍니다.  Docker는 후에 다룰 것이기에 패스하고 먼저 Windows환경에서 실행시키기 위해서 Java로 되어있는 항목을 참고합니다.

curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar

cmd에서 다음과 같이 입력해줍니다. 만약 환경변수가 편집이 되어 있지 않다면 Cmd에서 실행이 어려울 수 있으니 꼭 확인해줍니다.

만약 정상적으로 실행이 완료가 됐다면 아래와 같은 화면을 확인 할 수 있습니다.

http://127.0.0.1:9411/ 로 접속해 줍니다. Zipkin Server의 Default Port 입니다.

다음과 같은 화면이 출력되었다면 설치완료!

감사합니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함