나에게 필요한 지식과 기술을 검색해 보세요.

관찰 가능성 엔지니어링

오픈 소스를 활용한 분산 애플리케이션 계측부터 오류 추적과 분석까지 ⏐ OpenTelemetry 사용법 수록

지은이

알렉스 보텐

옮긴이

노승헌

출간일

2023.08.07

레벨

중급

평점

4.9(20명)

정가

25,600

총 결제 금액

25,600

전자책 사용 안내

전자책은 웹뷰어와 한빛+ 앱에서 열람할 수 있으며 PDF 다운로드는 지원되지 않습니다.

쪽수

380P

ISBN

9791169217101

브랜드

한빛미디어

“또 오류가 발생했다.. 정확한 원인이 뭐지?” “잠재적인 오류도 미리 알 수 있을까?”

이 질문들의 답은 관찰 가능성에 있다!

- OpenTelemetry 설치 및 사용법 수록

 

마이크로서비스와 클라우드가 보편화된 지금, ‘관찰 가능성’은 시스템이 어떻게 작동하고 어디서 문제가 생기는지 실시간으로 알 수 있게 해주는 놀라운 개념입니다. 이 책은 익숙한 모니터링 개념을 시작으로 왜 관찰 가능성이 필요한지, 어떻게 적용할 수 있는지 심도 있게 설명하며, 실무에 바로 활용 가능한 실용적인 팁도 제공합니다.

 

이 책에서는 식료품 주문 웹 애플리케이션을 예시로 사용합니다. 따라서 애플리케이션의 구조 분석부터 관찰 가능성의 다양한 요소들을 적용해보는 것까지 오픈 소스를 활용해 차근차근 따라 해볼 수 있습니다. 특히 이 책에서 중점적으로 설명하는 OpenTelemetry를 사용하면 단 한 번의 계측만으로 유의미한 데이터를 얻고 활용해볼 수 있습니다. 또한 도커, 쿠버네티스와 같은 필수 클라우드 컴퓨팅 도구를 비롯하여 여러 계측 라이브러리에 익숙해질 수 있습니다.

 

설계, 코딩, 테스트, 배포, 운영 등 소프트웨어 개발 주기 내에서 다양한 역할을 수행하는 개발자, 엔지니어, 시스템 운영자라면 이 책을 통해 소프트웨어를 계측하고, 분석하고, 오류를 해결해보세요!

 

상세이미지_700_관찰 가능성 엔지니어링.jpg

출판사 리뷰

관찰 가능성의 개념, 구현, 분석까지 모두 담은 올인원 실무 안내서

 

모니터링을 포함하는 상위 개념인 관찰 가능성에 관해 자세히 설명합니다. 그리고 관찰 가능성을 위해 개발된 대표적인 오픈 소스 OpenTelemetry를 활용해 애플리케이션에 관찰 가능성을 직접 적용해봅니다. 코드 예제뿐만 아니라 단계별로 애플리케이션 코드를 계측하고 분석하는 원리를 담고 있어 실무에서도 쉽게 활용할 수 있습니다. 책의 모든 내용을 이해하고 나면 자신의 애플리케이션을 계측해 오류의 원인은 물론, 잠재적인 오류까지도 찾아낼 수 있을 것입니다.

 

특히 이 책은 관찰 가능성의 역사와 개념부터 애플리케이션 계측과 분석까지 모두 다루기 때문에 관찰 가능성을 처음 접하는 사람도 쉽게 이해할 수 있습니다. 또한 이전에 시도해보지 않은 방법으로 인프라, 서비스, 애플리케이션을 개발/운영하고자 하는 소프트웨어 엔지니어, 시스템 운영자에게 원격 측정 데이터를 활용하는 실용적인 팁을 제공합니다.

저자

목차

[PART 1 기초]


Chapter 1 관찰 가능성의 역사와 개념

1.1 클라우드 네이티브 애플리케이션

1.2 데브옵스로의 전환

1.3 관찰 가능성의 역사

_중앙 집중식 로깅

_메트릭과 대시보드

_추적과 분석

1.4 OpenTelemetry의 역사

_OpenTracing

_OpenCensus

_클라우드 네이티브 소프트웨어를 위한 관찰 가능성

1.5 OpenTelemetry의 개념

_시그널

__규격

__데이터 모델

__API

__SDK

__시맨틱 표기법

__계측 라이브러리

_파이프라인

__프로바이더

__원격 측정 생성기

__처리기

__익스포터

_리소스

_컨텍스트 전파

정리하기

 

Chapter 2 OpenTelemetry 시그널 - 분산 추적, 메트릭, 로그

2.1 환경 설정

2.2 분산 추적

_추적 심층 분석

_스팬의 상세 정보

_추가 고려 사항

2.3 메트릭

_메트릭 심층 분석

_데이터 포인트 타입

_모범 사례

_추가 고려 사항

2.4 로그

_로그 심층 분석

_로그의 상관관계

_추가 고려 사항

__시맨틱 표기법

__시맨틱 표기법의 적용

__스키마 URL

정리하기

 

Chapter 3 자동 계측

3.1 환경 설정

3.2 자동 계측

_수동 계측의 과제

_자동 계측 컴포넌트

_자동 계측의 한계

3.3 바이트코드 조작

_OpenTelemetry 자바 에이전트

3.4 런타임 훅과 몽키 패칭

_계측 라이브러리

_계측기 인터페이스

_래퍼 스크립트

정리하기

 

[PART 2 애플리케이션 계측]


Chapter 4 분산 추적 - 코드 실행 추적

4.1 환경 설정

4.2 추적 파이프라인 설정

_추적기 확보

4.3 추적 데이터 생성

4.4 컨텍스트 API

_스팬 처리기

4.5 데이터 보완

_ResourceDetector

_스팬 속성

_SpanKind

4.6 컨텍스트 전파

_추가 전파기 형식

_복합 전파기

4.7 이벤트, 예외, 상태 기록

_이벤트

_예외

_상태

정리하기

 

Chapter 5 메트릭 - 측정값 기록

5.1 환경 설정

5.2 메트릭 파이프라인 설정

_미터 생성

_푸시 기반 메트릭 추출과 풀 기반 메트릭 추출

5.3 올바른 메트릭 계측기 선택

_카운터

_비동기 카운터

_업/다운 카운터

_비동기 업/다운 카운터

_히스토그램

_비동기 게이지

_중복 메트릭 유형

5.4 뷰를 이용한 메트릭 출력 커스터마이징

_필터링

_디멘션

_집계

5.5 grocery-store 서비스

_요청 수

_요청 지속 시간

_동시 요청

_리소스 사용

정리하기

 

Chapter 6 로그 - 이벤트 포착

6.1 환경 설정

6.2 OpenTelemetry 로깅 설정

6.3 로그 생성

_Logger

_표준 로깅 라이브러리

6.4 실전 시그널 로깅

_분산 추적과 로그

_Flask를 이용한 OpenTelemetry 로깅

_WSGI 미들웨어를 이용한 로깅

_리소스 상관관계

정리하기

 

Chapter 7 계측 라이브러리

7.1 환경 설정

7.2 자동 계측 설정

_OpenTelemetry 배포판

_OpenTelemetry 설정기

_환경 변수

_커맨드라인 옵션

7.3 requests 라이브러리 계측기

_추가 설정 옵션

_계측기의 수동 호출

_이중 계측

7.4 자동 설정

_리소스 속성 설정

_추적 설정

_메트릭 설정

_로그 설정

_전파 설정

7.5 grocery-store 애플리케이션 다시 보기

_legacy-inventory 애플리케이션

_grocery-store 애플리케이션

_shopper 애플리케이션

7.6 Flask 라이브러리 계측기

_추가 설정 옵션

7.7 계측기 라이브러리 찾기

_OpenTelemetry 레지스트리

_opentelemetry-bootstrap

정리하기

 

[PART 3 원격 측정 데이터 활용]

 

Chapter 8 OpenTelemetry 컬렉터

8.1 환경 설정

8.2 OpenTelemetry 컬렉터의 목적

8.3 OpenTelemetry 컬렉터 컴포넌트의 이해

_수신기

__호스트 메트릭 수신기

_처리기

__속성 처리기

__필터 처리기

__확률 기반 샘플링 처리기

__리소스 처리기

__스팬 처리기

__배치 처리기

__메모리 제한 처리기

_익스포터

_확장

_추가 컴포넌트

8.4 OTLP를 이용한 원격 측정 데이터 전송

_인코딩과 프로토콜

_기타 설계 고려 사항

8.5 OpenTelemetry 컬렉터의 활용

_익스포터 설정

_컬렉터 설정

_스팬 수정

_메트릭 필터링

정리하기

 

Chapter 9 컬렉터 배포

9.1 환경 설정

9.2 애플리케이션의 원격 측정 데이터 수집

_사이드카 배포

9.3 시스템 수준의 원격 측정 데이터 수집

_에이전트의 배포

_사이드카와 에이전트 연결

_리소스 속성 추가

9.4 게이트웨이로서의 컬렉터

_오토스케일링

_OpenTelemetry 오퍼레이터

정리하기

 

Chapter 10 백엔드 시스템 설정

10.1 환경 설정

10.2 원격 측정 데이터 분석을 위한 백엔드 시스템 옵션

_추적

_집킨

_예거

_메트릭

__프로메테우스

_로깅

__로키

__그라파나

10.3 운영 환경에서의 실행

_고가용성

_확장성

_데이터 보존

_개인 정보 보호 규정

정리하기

 

Chapter 11 문제점 분석

11.1 환경 설정

11.2 카오스 엔지니어링

_[실험 1] 지연 시간 증가

__개요

__가설

__검증

_[실험 2] 리소스 압박

__개요

__가설

__검증

_[실험 3] 예기치 못한 중단

__개요

__가설

__검증

11.3 원격 측정을 이용한 사전 감지

정리하기

 

Chapter 12 샘플링

12.1 환경 설정

12.2 시그널 샘플링

_추적

_메트릭

_로그

_샘플링 전략

__헤드 샘플링

__테일 샘플링

__확률 샘플링

_여러 가지 샘플러

12.3 SDK를 이용한 애플리케이션 수준의 샘플링

12.4 OpenTelemetry 컬렉터를 이용한 데이터 샘플링

_테일 샘플링 처리기

정리하기

리뷰

전체 평점

4.9

오탈자

등록된 오탈자가 없어요

오탈자를 발견하셨다면 작성해주세요.

25,600

25,600