2. 2
목차
1.왜 E2E-Monitor와 Pinpoint를 비교 했나?
E2E-Monitor에서 사용하는 용어 짚고 넘어가기
비교를 위한 상황 가정
2.테스트 방법
3.박과장의 첫번째 발견: 컨셉의 차이
4.박과장의 두번째 발견: 기능의 차이
5.박과장의 세번째 발견: 시스템 구성의 차이
6.결론
3. 3
1. 왜 E2E-Monitor와 Pinpoint를 비교 했는가?
E2E-Monitor와 Pinpoint는 얼핏 보기에는 비슷함
하지만, E2E-Monitor와 Pinpoint에는
분명한 차별성 존재함!
4. 4
E2E-Monitor
용어 짚고
넘어가기
1. 서비스란?
하나의 공통된 목적을 위해 구성된 어플리케이션들의 그룹
2. Begin-to-End 트랜잭션이란?
서비스 내, 하나의 논리적 행동에 대한 처음부터 끝가지의 처리 과정
들을 모아 놓은 것(앞으로는 트랜잭션이라고 지칭)
3. Span이란?
Begin-to-End 트랜잭션은 하나 이상의 Span으로 구성
Begin-to-End 트랜잭션을 구성하고 있는 최소 단위
5. 5
비교를 위한
상황 가정
“쇼핑몰 회사 A에 재직중인 박과장은 서비스 모니터링에
Pinpoint를 이미 사용중임. 하지만, 얼마전에 새로 나온
E2E-Monitor를 테스트해 보고, 어떤 솔루션이 회사에
더 적합한지를 비교를 하려고 함"
“상기 쇼핑몰 회사 A는 2개의 서비스를 운영중인데,
1) 쇼핑몰 서비스(메인서비스),
2) 직원들이 사용하는 사내 인프라 서비스를 가지고 있음"
6. 6
1. A 회사의 모니터링 대상 시스템에 두 솔루션을 배치 (E2E-Monitor와 Pinpoint를 같이 설치)
2. 비교 테스트를 하기에 적당한 데이터가 쌓일 때 까지 E2E-Monitor와 Pinpoint를 24시간 동안 동시 실행
3. 축적된 데이터를 바탕으로 간략한 비교 분석
2. 테스트 방법
E2E-Monitor설치
Pinpoint 설치
7. 7
3. 박과장의 첫번째 발견: 컨셉의 차이
E2E-Monitor는?
• 하나의 서비스 Landscape 방식 모니터링
• 큰 지도에서 상세 지도로 찾아들어가는 방식
• 트랜잭션 검색
Pinpoint는?
• 하나의 Node 중심 모니터링
• 관심 Node에서 연관 Node로 확장해 나아가는 방식
• Plug-in 추가를 통한 기능 확장
8. 8
4. 박과장의 두번째 발견: 기능의 차이
서버맵
Application 선택
서비스 선택
E2E-Monitor
• 선택한 서비스를 Landscape으로 표현 한 서버맵
• 서비스 맵의 서버군을 펼쳐서 볼 수 있음
1. 서버맵
서버맵
서버군을 펼친 경우
Depth가 1 이상인 경우
Depth 선택
Pinpoint
• 선택한 Application을 중심 Node로 표현 한 서버맵
• Depth를 선택하여 다른 Node간의 관계를 볼 수 있음
9. 9
선택한 Application의
호출 Scatter Chart
트랜잭션 카운트
선택한 Application의
Response time
트랜잭션 Scatter Chart
트랜잭션
Response Time통계 chart
선택한 Application의
물리 서버 Load 통계
2. 통계 Chart
E2E-Monitor
• 선택한 서비스의 트랜잭션 통계 chart 표시
Pinpoint
• 선택한 Application의 스팬 통계 chart 표시
• 물리 서버 통계 표시
9
선택한 Application의
물리 서버 통계
물리 서버
통계 페이지
`
4. 박과장의 두번째 발견: 기능의 차이 (Cont.)
10. 10
E2E-Monitor
• 트랜잭션 검색 결과에 대한 리스트 표시
3. 검색 기능 vs. Call Stack
Pinpoint
• Application 호출에 대한 Call Stack 표시
10
트랜잭션 카운트 선택
또는
트랜잭션 Scatter
Chart의 점을 드래그
했을 때
트랜잭션 검색
호출 선택 하면
해당 호출과 관련된 상세
Call Stack
트랜잭션 검색 결과→
Scatter Chart의 점을
드래그 했을 때
상세 트랜잭션 리스트 표시
Call Stack 페이지로 이동
4. 박과장의 두번째 발견: 기능의 차이 (Cont.)
11. 11
4. 트랜잭션 상세보기
E2E-Monitor
• 검색 결과 내 트랜잭션을 선택했을 때 상세한 정보 표시
11
트랜잭션 선택 →
Pinpoint에서는 상기 기능이 아직 구현되지 않은 것으로 보임
트랜잭션 상세 보기 창 표시
4. 박과장의 두번째 발견: 기능의 차이 (Cont.)
12. 12
5. 박과장의 세번째 발견: 시스템 구성 차이
E2E-Monitor
<표 1. Pinpoint와 E2E Monitor의 구성 요소 비교>
Pinpoint
E2E-Monitor Pinpoint
추적 정보 수집기 TxLogger Pinpoint Agent
추적 정보 형태 JSON String Thrift
추적 정보 전달기
비동기 Message Queue 전송
(Logstash Kafka Plug-in)
직접 전송
(Custom Client/Server Socket)
추적 정보 처리기 Log composer Pinpoint collector
저장소 Elasticsearch, Postgresql Hbase
사용자 프로그램 Web Application Web Application
13. 13
E2E-Monitor가
Message Queue를 사용 한 이유
=> 모니터링 대상 시스템과 Coupling을 줄이기 위해
Elasticsearch를 사용 한 이유
=> 검색과 Aggregation이 주요 데이터 처리 기술로 사용 되었기 때문에
<표 1. Pinpoint와 E2E Monitor의 구성 요소 비교>
E2E-Monitor Pinpoint
추적 정보 수집기 TxLogger Pinpoint Agent
추적 정보 형태 JSON String Thrift
추적 정보 전달기
비동기 Message Queue 전송
(Logstash Kafka Plug-in)
직접 전송
(Custom Client/Server Socket)
추적 정보 처리기 Log composer Pinpoint collector
저장소 Elasticsearch, Postgresql Hbase
사용자 프로그램 Web Application Web Application
5. 박과장의 세번째 발견: 시스템 구성 차이 (Cont.)
14. 14
6. 결론
E2E-Monitor는...
- Landscape 방식 모니터링
- 운영자(가끔 매니저) 친화적 View
- 대상 시스템과 연결도가 낮음
- 트랜잭션 검색 가능
- 신규 솔루션이라서 추가 검증 필요
<그래프 1. Pinpoint와 E2E-Monitor 의 상관 관계>
- Node 중심 방식 모니터링
- 개발자 친화적 View
- 대상 시스템과 연결도가 높음
- Plug-in 추가로 확장 가능
- 커뮤니티와 기술 숙성도 높음
Pinpoint는...
E2E-Monitor와 Pinpoint는 목적 및 기능이 다른 모니터링 솔루션임.
따라서 모니터링의 주체가 운영자(가끔 매니저) 중심인지 개발자 중심인지 먼저 결정 후
목적에 맞게 선택하는 것이 바람직