카테고리 없음

aws xray 로 tracing 해보기

Sumin Lim 2018. 11. 26. 16:46
반응형

서비스 로직의 구간별 실행시간이 얼마나 되는지 궁금할 때는, xray를 사용하면 된다.

구성요소는 크게 세가지로, 클라이언트, xray 데몬, dashboard가 있다.

여기서 클라이언트는 aws의 각 서비스 컴포넌트를 의미하며, API GW, Lambda, 등이 되겠다.


AWS service sdk를 사용하는 service는 aws.Context 를 이용하여 tracing이 가능하며, 예를들어 Lambda 에서 dynamoDB를 호출하는 부분을 보고 싶을 때, queryWithContext, 와 같이 ~~with Context 함수를 사용하면 된다..

또한, API GW와 같은 곳에서 enable tracing 이라는 옵션을 활성화하고, AIM 설정을 하여도 xray Dashboard에서 시간 소모에 따른 그래프를 확인할 수 있다.

- 만약 사용자별(ID)로 사용시간을 알고 싶다면, xray sdk의 api 를 이용하여 logging 및 tracing이 가능하다.


xray 데몬은 ec2, esc, 빈즈토크, 그리고 로컬에서 돌리는 방법이 있다. 이 중 하나에 구성하면 된다.

로컬에서 돌릴 경우, Lambda같은 application은 sam으로 로컬에서 돌려야한다.


보다 자세한 내용은 aws xray doc에 있다.


-Cloud watch는 지표(metrics)를 위한 서비스로, 개발자가 남기는 로그를 모아 처리하고 보여주고, 알람기능 등을 하는 서비스이고,
XRAY는 서비스 사용자의 path, 자취를 보거나, 특정 구간의 사용시간을 tracing 할 수 있는 서비스이다.

xray로 개발사용자별 tracing을 한다면 사용자의 서비스 오용사례가 발견될 수 있을 것이다.

SDK로 application context를 제대로 이용한 사례이다.

반응형