CHAPTER 1 근본 원인 분석이란 1
1.1 관측 가능성 2
__1.1.1 상관관계 5 / 1.1.2 대시보드 8 / 1.1.3 기술 스택 9
1.2 근본 원인 분석 과정 11
__1.2.1 문제 영역 식별 12 / 1.2.2 개별 요청 분석 17 / 1.2.3 하위 수준 이해 24
1.3 관측 가능성 신호 31
__1.3.1 로그 31 / 1.3.2 실사용자 모니터링 38 / 1.3.3 프로파일 49
__1.3.4 디버깅 57 / 1.3.5 이벤트 59 / 1.3.6 이상치 63
__1.3.7 근본 원인 분석 데이터 모델 64
1.4 요약 66
CHAPTER 2 근본 원인 분석의 접근법 67
2.1 14가지 상관관계 68
__2.1.1 분산 추적에서 시스템 추적으로 69 / 2.1.2 이벤트에서 추적으로 70
__2.1.3 추적에서 로그로 71 / 2.1.4 추적에서 프로파일로 71
__2.1.5 로그에서 프로파일로 72 / 2.1.6 메트릭에서 추적으로 72
__2.1.7 실사용자 모니터링에서 추적으로 73 / 2.1.8 이벤트에서 이상 탐지로 74
__2.1.9 로그에서 추적으로 74 / 2.1.10 네트워크에서 추적으로 75
__2.1.11 추적에서 메트릭으로 76 / 2.1.12 추적에서 서비스 맵으로 76
__2.1.13 서비스 맵에서 메트릭으로 77 / 2.1.14 메트릭에서 로그로 77
2.2 시각화 78
__2.2.1 폴리스탯 78 / 2.2.2 서비스 맵 79 / 2.2.3 히스토그램 80
__2.2.4 히트맵 81 / 2.2.5 시계열 차트 82 / 2.2.6 플레임 그래프 82
__2.2.7 스테이트 타임라인 83 / 2.2.8 스테이트 83
__2.2.9 추적 84 / 2.2.10 애너테이션 84
2.3 대시보드 개발 84
2.4 요약 87
CHAPTER 3 추적 중심의 관측 가능성 89
3.1 추적과 다른 신호들 90
3.2 추적의 작동 방식 91
__3.2.1 콘텍스트 94 / 3.2.2 전파자 95 / 3.2.3 추적 전파 100
__3.2.4 배기지 전파 105 / 3.2.5 오픈트레이싱 심 106
3.3 관리형 서비스의 전파 108
__3.3.1 AWS 클라우드프런트 데모 110 / 3.3.2 GCP Pub/Sub 데모 114
__3.3.3 애저 SQS 데모 121
3.4 메시지 서버의 전파 128
__3.4.1 솔러스 JMS 데모 129 / 3.4.2 팁코 JMS 데모 132
__3.4.3 MQTT 데모 134 / 3.4.4 카프카 데모 136
__3.4.5 스프링 클라우드 스트림 데모 138
3.5 EAI 서버의 전파 141
__3.5.1 추적 구현의 어려움 143 / 3.5.2 BPM 서버의 계측 144
3.6 블랙박스의 전파 144
3.7 서버 프레임워크의 전파 146
__3.7.1 미들웨어 146 / 3.7.2 마이크로서비스 패턴 147
__3.7.3 AWS 및 GCP API 서버 148 / 3.7.4 상용 관측 가능성 SDK 추적 데모 149
__3.7.5 마이크로미터 추적 데모 151 / 3.7.6 상용 관측 가능성과 오픈텔레메트리 데모 152
__3.7.7 웹소켓 데모 154
3.8 오픈텔레메트리 익스텐션 159
__3.8.1 바이트코드 계측 데모 161 / 3.8.2 익스텐션 데모 164
__3.8.3 익스텐션 디버깅 169
3.9 상용 관측 가능성의 전파 171
__3.9.1 상용 관측 가능성의 자동화 173 / 3.9.2 에이전트 카오스 177
3.10 요약 183
CHAPTER 4 산업별 근본 원인 분석 사례 184
4.1 은행의 관측 가능성 185
__4.1.1 은행 프로세스의 특성 186 / 4.1.2 은행 레거시 192 / 4.1.3 은행 데모 212
4.2 통신사의 관측 가능성 226
__4.2.1 통신사의 업무 227 / 4.2.2 통신사 오케스트레이션 서버 230
__4.2.3 통신사 아키텍처 232 / 4.2.4 주문 오케스트레이션 240
__4.2.5 네트워크 프로비저닝 245
4.3 온라인 게임의 관측 가능성 249
__4.3.1 온라인 게임 운영 250 / 4.3.2 온라인 게임 데모 252
__4.3.3 로그 254 / 4.3.4 메트릭 255 / 4.3.5 추적 256
4.4 증권사의 관측 가능성 258
__4.4.1 초저지연 애플리케이션 개발 258 / 4.4.2 초저지연 서버 사례 270
4.5 요약 272
CHAPTER 5 오픈텔레메트리 데모 274
5.1 데모 개요 275
__5.1.1 애플리케이션 276 / 5.1.2 파이프라인 277 / 5.1.3 피처 플래그 277
__5.1.4 배포 278 / 5.1.5 부하 테스트 278
5.2 SLO 278
__5.2.1 대시보드 279 / 5.2.2 가용성과 에러율 282
__5.2.3 데모의 에러 구현 283 / 5.2.4 차트 285
5.3 관측 가능성 데모 286
__5.3.1 프로파일 지원 287 / 5.3.2 오픈텔레메트리 에이전트 292
__5.3.3 오픈텔레메트리 컬렉터 292 / 5.3.4 실사용자 모니터링 294
__5.3.5 자동 계측 296 / 5.3.6 상용 관측 가능성 데모 298
__5.3.7 라이브 디버깅 299 / 5.3.8 배기지 콘텍스트 301
__5.3.9 스팬 속성 301 / 5.3.10 스팬 애너테이션 305
__5.3.11 프롬스케일 쿠버네티스 308 / 5.3.12 프롬스케일 SQL 314
5.4 요약 316
CHAPTER 6 인프라 근본 원인 분석 317
6.1 시스템 추적 319
__6.1.1 KUtrace 321 / 6.1.2 비정상적 근본 원인의 유형 325
__6.1.3 ftrace 336 / 6.1.4 ftrace의 시각화 339 / 6.1.5 시스템 유틸리티 341
6.2 커널 작동 방식과 개발 341
__6.2.1 커널의 주요 개념과 작동 방식 342 / 6.1.2 커널 개발 351
6.3 eBPF 356
__6.3.1 BCC와 bpftrace 357 / 6.3.2 PCP 367
6.4 네트워크 장애 카오스 엔지니어링 데모 373
__6.4.1 카오스 메시 구성 374 / 6.4.2 쿠버네티스 구성 376 / 6.4.3 재전송 분석 377
6.5 eBPF와 실리움 380
__6.5.1 메트릭 381 / 6.5.2 허블 383 / 6.5.3 그라파나 플러그인 386
6.6 실리움과 L7 네트워크 386
__6.6.1 골든 시그널 388 / 6.6.2 문제 감지 388 / 6.6.3 추적 연계 389
6.7 실리움 L7 네트워크 장애 데모 389
__6.7.1 구성 390 / 6.7.2 실리움 배포 391 / 6.7.3 coreapi 배포 394
__6.7.4 외부 서비스의 연계 에러 394 / 6.7.5 coreapi 에러율 증가 394
__6.7.6 추적 전파 395
6.8 실리움 추가 기능 397
__6.8.1 네트워크 정책 397 / 6.8.2 L3 정책 399 / 6.8.3 L7 정책 401
__6.8.4 멀티 클러스터와 서비스 메시 402 / 6.8.5 인그레스 403
6.9 요약 403
CHAPTER 7 인프라 이상 탐지 405
7.1 이상치 406
7.2 SQL 이상 탐지 406
__7.2.1 이상 탐지 방법 407 / 7.2.2 이상치 형태 410
7.3 머신러닝 이상 탐지 411
__7.3.1 오픈서치 데이터셋 413 / 7.3.2 이상 탐지 작업 절차 413
__7.3.3 비율 분석 416 / 7.3.4 카테고리 분석 418 / 7.3.5 모집단 분석 419
__7.3.6 패턴 분석 422 / 7.3.7 버킷 분석 422
7.4 이상 탐지 결과 분석 424
__7.4.1 결과 분석 방법 424 / 7.4.2 결과 분석 API 425
7.5 이상 탐지 구성 430
__7.5.1 오픈서치 이상 탐지 구성 데모 430 / 7.5.2 감지기 고려 사항 434
7.6 요약 435
CHAPTER 8 관측 가능성 데이터 분석 436
8.1 SQL 데이터 분석 438
__8.1.1 시간 윈도 438 / 8.1.2 누적값 계산 439 / 8.1.3 계절성 분석 440
8.2 프롬스케일 441
__8.2.1 프롬스케일 저장 과정 442 / 8.2.2 프롬스케일 메서드 442
8.3 프롬스케일 데모 444
__8.3.1 메트릭 SQL 445 / 8.3.2 메트릭 SQL 데모 446
__8.3.3 추적 SQL 451 / 8.3.4 추적 SQL 데모 452
8.4 요약 459
CHAPTER 9 관측 가능성 데이터 집계 460
9.1 프레스토 사례 461
__9.1.1 하이브 463 / 9.1.2 테이블 준비 463 / 9.1.3 프레스토 특징 464
__9.1.4 프레스토 구성 465
9.2 아파치 드루이드 사례 471
__9.2.1 드루이드 컴포넌트 472 / 9.2.2 성능 개선 476
__9.2.3 드루이드 관측 가능성 483
9.3 요약 491
CHAPTER 10 AIOps 492
10.1 개요 492
10.2 AIOps의 한계 493
__10.2.1 사례 1: 스레드풀 494 / 10.2.2 사례 2: 자바 가상머신 494
__10.2.3 사례 3: 엔진엑스 495
10.3 AIOps의 두 가지 측면 496
__10.3.1 상관관계 비교분석 496 / 10.3.2 근본 원인 분석 질의응답 497
10.4 AIOps 상관관계 497
__10.4.1 메트릭 상관관계 데모 구성 498 / 10.4.2 메트릭 상관관계 데모 실행 500
10.5 IT 운영 데이터 505
__10.5.1 대시보드 507 / 10.5.2 높은 품질의 데이터 508 / 10.5.3 CMDB 509
10.6 장애 목록 데이터 모델 512
__10.6.1 시스템 리소스 장애 514 / 10.6.2 클러스터 장애 514
__10.6.3 서버 프레임워크 장애 515 / 10.6.4 레거시 미들웨어 장애 515
__10.6.5 데이터 파이프라인 장애 519 / 10.6.6 데이터 정합성 장애 519
__10.6.7 관측 가능성 장애 521
__10.6.8 근본 원인 분석 데이터 모델과 장애 목록 데이터 모델 522
10.7 요약 523
CHAPTER 11 RAG와 MCP를 활용한 AIOps 524
11.1 랭체인 525
__11.1.1 LLM 526 / 11.1.2 프롬프트 템플릿 527 / 11.1.3 체인 527
__11.1.4 에이전트 527 / 11.1.5 도구 529 / 11.1.6 메모리 530
11.2 관측 가능성 데이터 검색을 위한 벡터 데이터베이스 530
__11.2.1 시맨틱 검색 531 / 11.2.2 오픈서치 벡터 데이터베이스 532
__11.2.3 랭체인 벡터 데이터베이스 539
11.3 오픈서치 AIOps 540
__11.3.1 오픈서치 RAG 542 / 11.3.2 관측 가능성 RAG 552
__11.3.3 근본 원인 분석 RAG 556
11.4 RAG 고급 기능 563
__11.4.1 리랭킹 563 / 11.4.2 자연어처리 567 / 11.4.3 가드레일 568
__11.4.4 RAG 데이터 관리 570 / 11.4.5 후속 처리 571
11.5 MCP 근본 원인 분석 에이전트 573
__11.5.1 MCP 573 / 11.5.2 에이전트 워크플로 580
__11.5.3 랭그래프 585
11.6 AI 관측 가능성을 위한 OpenLLMetry 596
__11.6.1 워크플로 수동 계측 599
__11.6.2 오픈텔레메트리 Gen AI 601
11.7 요약 602
맺음말 603
찾아보기 606