<b>;클러스터와 컨테이너 운영을 위한 필수 모니터링 도구, 프로메테우스에 대한 유일무이 최고의 가이드!</b>;<BR>;<BR>;프로메테우스(Prometheus)는 쿠버네티스에 이어 CNCF(클라우드 네이티브 컴퓨팅 재단) 프로젝트를 두 번째로 졸업하며 사실상의 표준 모니터링 도구로 자리잡았다. 또한, 쿠버네티스 클러스터를 운영하며 인프라스트럭처와 애플리케이션에 대한 모니터링 시스템을 구축하려거나, 웹이나 애플리케이션에 대한 모니터링을 통해 성능 분석과 문제 예방을 하고자 하는 애플리케이션 개발자와 시스템 관리자, 데브옵스 실무자를 위한 탁월한 도구다. <BR>;<BR>;이 책은 프로메테우스의 개념과 설치부터 설정, 모니터링 예제 프로그램의 활용, 익스포터를 이용한 서드파티 시스템에서의 메트릭 수집, 프로메테우스 쿼리언어인 PromQL, 그라파나를 활용한 대시보드 작성과 알림, 직접 코드 계측, 그리고 컨테이너 모니터링에 이르기까지 프로메테우스에 대한 모든 것을 담은 완벽 실용 가이드다.<BR>;<BR>;<b>;[이 책의 구성]</b>;<BR>;<BR>;1부 프로메테우스를 시작하며<BR>;1부에서는 일반적인 모니터링 방법에 대해 알아보고 프로메테우스를 구체적으로 다룬다.<BR>;<BR>;1장에서는 모니터링의 다양한 의미와 접근 방법, 프로메테우스에서의 메트릭 접근 방법, 프로메테우스의 아키텍처 등을 알아본다. 2장에서는 머신 메트릭의 수집과 쿼리 계산, 알림 통보를 위해 직접 프로메테우스를 설정하고 수행해본다.<BR>;<BR>;2부 애플리케이션<BR>;모니터링 자신의 애플리케이션에 직접 추가한 메트릭(metric)에 쉽게 접근할 수 있는 경우, 프로메테우스의 모든 혜택을 누릴 수 있을 것이다. 2부에서는 계측(instrumentation) 기능을 추가하고 사용하는 방법을 알아본다.<BR>;<BR>;3장에서는 기본적인 계측 기능의 추가 방법과 계측이 갖는 혜택에 대해 배워본다. 4장에서는 프로메테우스에서 애플리케이션의 메트릭을 사용하는 방법을 설명한다. 5장에서는 프로메테우스의 가장 강력한 기능 중 하나를 살펴보고, 계측 시에 해당 기능을 사용하는 방법을 살펴본다. 6장에서는 사용자의 애플리케이션 메트릭이 프로메테우스에 추가되고 난 후, 관련 그래프들을 모두 함께 그룹화하는 대시보드를 생성하는 방법에 대해 살펴볼 것이다.<BR>;<BR>;3부 인프라스트럭처 모니터링<BR>;세상은 프로메테우스를 중심으로 돌아가지 않으며, 특별히 프로메테우스 메트릭을 별도로 제공하지도 않는다. 익스포터는 다른 시스템의 메트릭을 프로메테우스가 이해할 수 있는 형식으로 변환하는 도구다. <BR>;<BR>;7장에서는 가장 먼저 사용할 가능성이 높은 익스포터 중 하나인 노드 익스포터(Node Exporter)에 대해 자세히 다룬다. 8장에서는 프로메테우스로 가져와야 하는 메트릭이 무엇인지 알아내는 방법과 메트릭을 가져오는 방법을 알아본다. 9장에서는 도커(Docker)와 쿠버네티스(Kubernetes) 같은 컨테이너 기술의 모니터링에 대해 자세히 다룬다. 프로메테우스 생태계에는 말 그대로 수백 개의 익스포터가 있다. 10장에서는 다양하고 전형적인 익스포터의 사용 방법에 대해 살펴본다. 이미 다른 메트릭 기반 모니터링 시스템을 사용할 수도 있으니, 11장에서는 이러한 시스템에 프로메테우스를 통합하는 방법에 대해 살펴본다. 익스포터는 갑자기 나타나지 않는다. 원하는 익스포터가 없는 경우, 12장의 내용을 활용해 익스포터를 생성할 수 있다.<BR>;<BR>;4부 PromQL<BR>;PromQL, 즉 프로메테우스 쿼리 언어(Prometheus Query Language)는 모든 종류의 집계, 분석, 연산을 할 수 있는 기능을 제공하며, 메트릭을 활용해 우리 시스템의 성능에 대해 더 잘 이해할 수 있게 해준다. 4부에서는 2장에서 생성한 프로메테우스 및 노드 익스포터 설정을 다시 사용하고 쿼리를 실행하기 위해 수식 브라우저를 사용한다.<BR>;<BR>;13장은 PromQL의 기본 사항과 표현식을 실행하기 위해 HTTP API를 사용하는 방법을 다룬다. 14장에서는 집계가 동작하는 방법을 심도 있게 살펴본다. 15장은 추가 및 비교 연산자 같은 다양한 연산자를 다루고, 다양한 메트릭을 함께 조인(Join)하는 방법을 다룬다. 16장에서는 시간을 알아내는 함수부터 언제 하드 디스크가 다 채워질지 예상하는 함수까지 PromQL이 제공하는 광범위하고 다양한 함수에 대해 살펴본다. 17장은 프로메테우스 기록 규칙의 특징을 다룬다. 프로메테우스의 기록 규칙을 지키면 PromQL을 사용한 더 빠르고 정교한 쿼리를 사용해 메트릭을 미리 계산할 수 있다. <BR>;<BR>;5부 알림<BR>;새벽 3시에도 모니터링 시스템에서 알림을 받고 이를 확인하기 위해 잠에서 깨길 원한다면, 이번 장은 바로 그런 내용을 다룬다. <BR>;<BR>;앞 장의 내용을 기반으로, 18장에서는 단순히 임계치에 대한 알림 이외의 더 많은 이상 상태에 대한 알림을 가능하게 하는 프로메테우스의 알림 규칙에 대해 다룬다. 프로메테우스에서 알림이 발생하면, 19장에서 설명하는 것처럼 알림매니저는 각 통보를 더 가치있게 하기 위해 그룹화 및 압축하며 알림을 통보로 변환한다.<BR>;<BR>;6부 배치<BR>;로컬 머신에서 프로메테우스를 다루는 것은 간단한 작업이지만, 실제 운영 시스템에 프로메테우스를 배치하는 것은 또 다른 문제다. 마지막 20장에서는 운영 환경에서 프로메테우스를 실행하는 실질적인 측면과 프로메테우스의 롤아웃(rolling out) 방법에 대해 살펴본다.<BR>;<BR>;▶ 예제 코드와 구성파일 다운로드<BR>;https://github.com/prometheus-up-and-running/examples<BR>;<BR>;<b>;[이 책의 주요 특징]</b>;<BR>;■ 애플리케이션 코드 계측의 대상과 방법<BR>;■ 레이블을 통한 메트릭의 식별: 고유한 키-값 쌍<BR>;■ 대시보드 구축용 인기 도구인 그라파나(Grafana) <BR>;■ 인프라스트럭처 모니터링을 위한 노드 익스포터(Node exporter)의 사용 방법<BR>;■ 머신 및 서비스에 대한 다양한 뷰 제공을 위한 서비스 검색 활용<BR>;■ 프로메테우스와 쿠버네티스의 연동 방법<BR>;■ 컨테이너와 함께 사용 가능한 익스포터<BR>;■ 다른 모니터링 시스템 데이터를 프로메테우스 형식으로 변환하기<BR>;<BR>;<b>;[이 책의 독자 대상]</b>;<BR>;이 책에서는 애플리케이션과 인프라스트럭처 성능에 대한 모니터링, 그래프 작성, 알림 설정 등 프로메테우스 모니터링 시스템의 사용 방법을 자세하게 설명한다. 애플리케이션 개발자, 시스템 관리자, 데브옵스 실무자에게 인프라스트럭처와 애플리케이션의 모니터링, 대시보드 작성과 알림, 직접 코드 계측, 익스포터를 통한 서드파티 시스템에서의 메트릭 수집을 포함해 프로메테우스의 중요한 기능에 대해 실용적인 내용을 소개한다.
로버스트 퍼셉션(Robust Perception) 사의 창립자이자 프로메테우스의 개발자로, 초기 단계의 스타트업부터 <포춘> 500대 기업에 오른 회사들과 함께 모니터링 관련 이슈에 대한 업무를 하고 있다. 프로메테우스 커뮤니티에서 이미 잘 알려진 인물로, 여러 컨퍼런스에서 수많은 발표를 했으며, 로버스트 퍼셉션 사의 웹사이트에 개설한 블로그에 프로메테우스와 모니터링의 다양한 측면에 대한 글을 기고하고 있다.
[1부] 프로메테우스를 시작하며
\r\n1장 프로메테우스란 무엇인가
\r\n__모니터링이란 무엇인가
\r\n__프로메테우스 아키텍처
\r\n__프로메테우스 사용시 고려사항
\r\n
\r\n2장 프로메테우스 시작하기
\r\n__프로메테우스 실행
\r\n__수식 브라우저 사용하기
\r\n__노드 익스포터 실행하기
\r\n__알림
\r\n
\r\n[2부] 애플리케이션 모니터링
\r\n3장 계측
\r\n__간단한 예제 프로그램
\r\n__카운터
\r\n__게이지
\r\n__서머리
\r\n__히스토그램
\r\n__단위 테스팅 계측
\r\n__계측 적용 방법
\r\n
\r\n4장 메트릭 게시
\r\n__파이썬
\r\n__고
\r\n__자바
\r\n__푸시게이트웨이
\r\n__브릿지
\r\n__파서
\r\n__메트릭 게시 형식
\r\n
\r\n5장 레이블
\r\n__레이블의 정의
\r\n__계측 레이블과 대상 레이블
\r\n__계측
\r\n__집계
\r\n__레이블 패턴
\r\n__레이블 사용 시점
\r\n
\r\n6장 그라파나를 활용한 대시보드
\r\n__설치
\r\n__데이터 소스
\r\n__대시보드와 패널
\r\n__그래프 패널
\r\n__단일 상태 패널
\r\n__테이블 패널
\r\n__템플릿 변수
\r\n
\r\n[3부] 인프라스트럭처 모니터링
\r\n7장 노드 익스포터
\r\n__CPU 수집기
\r\n__filesystem 수집기
\r\n__diskstats 수집기
\r\n__netdev 수집기
\r\n__meminfo 수집기
\r\n__hwmon 수집기
\r\n__stat 수집기
\r\n__uname 수집기
\r\n__loadavg 수집기
\r\n__textfile 수집기
\r\n
\r\n8장 서비스 검색
\r\n__서비스 검색 메커니즘
\r\n__레이블 재지정
\r\n__수집 방법
\r\n
\r\n9장 컨테이너와 쿠버네티스
\r\n__cAdvisor
\r\n__쿠버네티스
\r\n
\r\n10장 일반적인 익스포터
\r\n__컨설 익스포터
\r\n__HAProxy 익스포터
\r\n__그록 익스포터
\r\n__블랙박스
\r\n
\r\n11장 다른 모니터링 시스템 사용하기
\r\n__다양한 모니터링 시스템
\r\n__인플럭스디비
\r\n__StatsD
\r\n
\r\n12장 익스포터 작성하기
\r\n__컨설 원격측정
\r\n__사용자 정의 수집기
\r\n__가이드라인
\r\n
\r\n[4부] PromQL
\r\n13장 PromQL 활용
\r\n__집계 기본 사항
\r\n__선택기
\r\n__HTTP API
\r\n
\r\n14장 집계 연산자
\r\n__그룹화
\r\n__집계 연산자
\r\n
\r\n15장 이진 연산자
\r\n__스칼라로 작업하기
\r\n__벡터 매칭
\r\n__연산자 우선순위
\r\n
\r\n16장 함수
\r\n__타입 변경
\r\n__수학 함수
\r\n__시간 및 날짜 함수
\r\n__레이블 함수
\r\n__카운터 함수
\r\n__게이지 변화
\r\n__시간의 흐름에 따른 집계
\r\n
\r\n17장 기록 규칙
\r\n__기록 규칙 사용하기
\r\n__언제 기록 규칙을 사용하는가
\r\n__기록 규칙의 이름 지정 방법
\r\n
\r\n[5부] 알림
\r\n18장 알림
\r\n__알림 규칙
\r\n__알림매니저 구성하기
\r\n
\r\n19장 알림매니저
\r\n__통보 파이프라인
\r\n__구성 파일
\r\n__알림매니저 웹 인터페이스
\r\n
\r\n[6부] 배치
\r\n20장 배치와 유지보수
\r\n__롤아웃 계획하기
\r\n__페더레이션 기능을 통한 전역화
\r\n__장기 저장소
\r\n__프로메테우스 실행
\r\n__장애에 대한 계획 세우기
\r\n__성능 관리
\r\n__변경 관리
\r\n__더 읽을거리