728x90
반응형


OpenTracing은 분산 추적 및 모니터링을 위한 애플리케이션 및 OSS 패키지를 위한 오픈 표준이다. 


Cloud Native Computing Foundation에서 나온 Uber 기술로 부터 나온 분산 추적 시스템인 


Jaeger 의 HotROD 애플리케이션을 통해 OpenTracing Demo 를 수행해보았다. 




OpenTracing : http://opentracing.io/ 


OpenTracing 

Quick Start : https://medium.com/opentracing/take-opentracing-for-a-hotrod-ride-f6e3141f7941






데모 수행 환경



1. Go toolchain 


- 1.7 이하 버전 사용 시 "/bin/sh: 1: glide: not found" 라는 에러 발생

- 1.11 ~ 이상 버전 사용시 또 에러남

- 필자는 1.10.4 버전 사용 시 정상 동작 


2. Docker installation 


3. demo source code (Github)







필자는 Python 예제를 사용하여 동작시켰음 



- OpenTracing Git (Python) : https://github.com/opentracing/opentracing-python


- OpenTracing Git (Go) : https://github.com/opentracing/opentracing-go










1. 리눅스 환경에 Go 설치






1.1 다운 받았던 go 설치 파일을 /usr/local 에 압축 해제 


sudo tar -C /usr/local -xzf go1.10.4.linux-amd64.tar.gz 




1.2 GOPATH 설정 (미리 파일 수정을 통해 설정해놔서 사진엔 없음)


export GOPATH=$HOME/CNCF/workspace




1.3 PATH 설정


export PATH="$PATH:$GOPATH/bin"




1.4 설정 확인


go env




(선택) 1.5 GOPATH 설정 영구 저장


vi ~/.bashrc 


아래 내용 추가


export GOPATH=$HOME/


export PATH="$PATH:$GOPATH/bin"


저장 후 

source ~/.bashrc






2. Start Jaeger






추적 결과를 확인하고 분석하기 위해 오픈 소스 분산 추적 시스템인 Jaeger를 사용한다. 


설정했던 GOPATH에서 


Jaeger Backend를 Docker 이미지로 실행 


docker run -d -p6831 : 6831 / udp -p16686 : 16686 jaegertracing / all-in-one : latest





컨테이너가 시작되면 브라우저에서 


http://127.0.0.1:16686/ 를 열어 Jaeger UI를 켬






이 UI에서 할 수 있는 작업은 아직 없다. HotROD 어플리케이션을 사용하여 추적을 분석해야한다.









3. HotROD 실행





Git Jaeger : https://github.com/jaegertracing/jaeger





3.1 디렉토리 생성 


mkdir -p $GOPATH/src/github.com/jaegertracing



3.2 Git clone

 

cd $GOPATH/src/github.com/jaegertracing

git clone https://github.com/jaegertracing/jaeger.git

cd jaeger




3.3 make install


make install




원래 PATH 설정을 export PATH=$PATH:/usr/local/go/bin 으로 했었다가


"/bin/sh: 1: glide: not found" 이런 에러가 계속 떠서 위와 같이 바꿨더니 정상실행됨



[에러 내용]


$ make install


/bin/sh: 1: glide: not found

glide install

make: glide: Command not found

Makefile:160: recipe for target 'install' failed

make: *** [install] Error 127








3.4 go run 


cd examples/hotrod

go run ./main.go all












완료!



그럼 http://127.0.0.1:8080 에 접속했을 때 아래와 같이 뜸 







환경 설정 끝! 


Python을 통한 테스트는 다음 포스팅에~~~ 






ERROR 참고자료 : https://github.com/evilsocket/xray/issues/4


GO 설치 참고자료 : http://imcreator.tistory.com/36


GOPATH 참고자료 : http://minooz.tistory.com/175




728x90
반응형