Top

프로메테우스 인프라스트럭처 모니터링 [가상머신, 컨테이너 환경의 프로메테우스 모니터링 실습과 활용]

  • 원서명Hands-On Infrastructure Monitoring with Prometheus: Implement and scale queries, dashboards, and alerting across machines and containers (ISBN 9781789612349)
  • 지은이조엘 바스토스(Joel Bastos), 페드로 아라우호(Pedro Araujo)
  • 옮긴이김진웅, 문진수
  • ISBN : 9791161753850
  • 35,000원
  • 2019년 12월 31일 펴냄
  • 페이퍼백 | 536쪽 | 188*235mm
  • 시리즈 : 클라우드 컴퓨팅

책 소개

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약

가상머신, 컨테이너 환경에서 실습 중심으로 프로메테우스 기반의 모니터링 스택의 구성 요소와 특징을 설명한다. 또한 쿠버네티스 환경에서 오퍼레이터를 활용한 모니터링 파이프라인 구축과 구성 요소를 살펴 보고, 프로메테우스 페더레이션에서 CNCF 모니터링 샌드박스 타노스 프로젝트까지 다양한 생태계 기술과 활용법을 소개한다.

이 책에서 다루는 내용

■ 모니터링 기본 개념과 프로메테우스 구현
■ 공통 인프라스트럭처 서비스에서 메트릭을 추출하는 방법
■ PromQL의 장점과 활용 방법
■ 고가용성, 내구성, 확장성이 있는 프로메테우스 스택을 디자인하는 방법
■ 쿠버네티스 프로메테우스 오퍼레이터의 강점
■ 페더레이션, 수직 샤딩 집계와 같은 개념
■ 타노스를 사용해 클라우드 네이티브 앱에서 완벽한 글로벌 뷰를 구현하고 장기 보존을 확보하는 방법

이 책의 대상 독자

소프트웨어 개발자, 클라우드 전문가, 사이트 신뢰성 엔지니어, 데브옵스 엔지니어, 인프라 보안과 성능을 유지하기 위해 신뢰할 수 있는 모니터링과 알림 시스템을 설정하려는 시스템 관리자를 대상으로 한다. 네트워킹과 인프라 모니터링에 관한 기본 지식은 이 책에서 다루는 개념을 이해하는 데 도움이 될 것이다.

이 책의 구성

1장, ‘모니터링 기초’에서는 책 전반에 걸쳐 사용되는 몇 가지 주요 개념의 토대를 정립한다. 또한 프로메테우스가 메트릭을 수집하는 접근 방법과 논란의 여지가 있는 몇 가지 사항이 스택의 설계와 아키텍처에 필수적인 이유도 살펴본다.
2장, ‘프로메테우스 생태계 개요’에서는 프로메테우스 생태계 전반에 걸쳐 고급 개요를 소개한다. 구성 요소마다 어떤 작업을 수행하는지와 모든 것이 논리적으로 상호 운용되는 방법을 설명한다.
3장, ‘테스트 환경 구축’에서는 책에서 제공되는 테스트 환경을 사용하는 기본 방법과 다양한 구성의 유효성을 검사하고자 테스트 환경을 점검하는 방법을 설명한다.
4장, ‘프로메테우스 메트릭 개념’에서는 프로메테우스의 핵심 리소스인 메트릭(Metric)을 살펴본다. 프로메테우스 스택을 완전히 활용, 관리, 확장하려면 올바른 이해가 필요하다.
5장, ‘프로메테우스 서버 실행’에서는 프로메테우스 서버를 중점적으로 다루며, 가상 시스템과 컨테이너의 일반 사용 패턴과 전체 환경설정 프로세스의 시나리오를 제공한다.
6장, ‘익스포터와 통합’에서는 가장 유용한 익스포터(Exporter)를 소개하고 사용 방법과 관련 예제를 제공한다.
7장, ‘프로메테우스 쿼리: PromQL’에서는 애드혹 집계(adhoc aggregation)와 시계열의 조합을 수용할 수 있고 다차원 데이터 모델을 활용할 수 있는 강력하고 유연한 프로메테우스 쿼리 언어인 PromQL을 상세히 살펴본다.
8장, ‘트러블슈팅과 검증’에서는 문제를 빠르게 감지하고 해결할 수 있는 유용한 지침을 제공한다. 또한 중요한 정보를 확인할 수 있도록 제공되는 엔드포인트 활용법과 중요한 정보를 제공하는 프로메테우스 커맨드라인 인터페이스이자 검증 도구인 promtool을 살펴본다.
9장, ‘알림과 레코딩 규칙 정의’에서는 알림 규칙과 레코딩 규칙의 사용법과 테스트 진행 과정을 다루고 관련 예제를 제공한다.
10장, ‘그라파나 대시보드 검색과 생성’에서는 기본 제공되는 콘솔 기능뿐만 아니라 그라파나(Grafana)와 대시보드의 구성, 공유, 재사용 방법을 다루며, 프로메테우스 스택의 시각화 구성 요소를 살펴본다.
11장, ‘알림 매니저’에서는 프로메테우스 스택의 알림 구성 요소를 소개한다. 여러 가지 알림 도구와 통합하는 방법과 중복 제거를 통해 고가용성을 실현하도록 클러스터링을 올바르게 설정하는 방법을 살펴본다.
12장, ‘올바른 서비스 디스커버리 선택’에서는 다양한 서비스 디스커버리(Service Discovery)의 통합 방법을 살펴보고, 자체 통합을 구축하는 데 필요한 요구 사항과 지식을 제공한다.
13장, ‘프로메테우스 확장과 페더레이션’에서는 프로메테우스 스택의 확장 방법을 다루고, 샤딩(sharding)과 글로벌 뷰(global view)의 개념을 설명한다.
14장, ‘롱텀 스토리지와 통합’에서는 프로메테우스 읽기/쓰기 엔드포인트의 개념을 다룬다. 그런 다음 외부 스토리지와 롱텀(Long-Term) 메트릭 스토리지 통합에 따른 고려 사항을 심층적으로 살펴본다. 마지막으로 타노스(Thanos)를 사용하는 엔드투엔드 예제를 소개한다.

저자/역자 소개

지은이의 말

클라우드 네이티브 컴퓨팅 재단(CNCF, Cloud Native Computing Foundation)에서 졸업한 두 번째 프로젝트인 프로메테우스(Prometheus)에 관한 이 책은 모니터링의 핵심 기본 개념을 익히고 업무에 필요한 인프라 가시성 확보에 사용할 수 있는 방법을 구체화하는 데 도움이 된다. 테스트 환경과 다이어그램을 사용해 해당 기술을 쉽게 이해할 수 있는 실용적인 예제 위주로 구성했다.
주 목표는 책에서 다루는 기술을 이해하고 확인할 수 있게 하는 것이기 때문에 중요한 프로메테우스 기술과 스택 개념을 모두 다룬다.
프로메테우스 서버 단독 실행에서부터 확장 가능한 옵션이 무엇인지, 알림 규칙 생성, 테스트에서 슬랙(Slack) 알림 템플릿 작성과 대시보드에서 타겟 디스커버리 자동화(automating target discovery)에 이르기까지 다양한 주제를 다룬다. 프로메테우스를 기본으로 사용하는 인프라 모니터링의 전반적인 기반 지식을 확보할 수 있도록 관련 있는 많은 주제를 다룬다.

지은이 소개

조엘 바스토스(Joel Bastos)

인프라 보안과 자동화에 대한 배경 지식을 갖춘 오픈소스 후원자이자 기고자다. 프로세스 표준화, 코드 유지 관리, 코드 재사용성을 위해 항상 노력한다. 프로메테우스(Prometheus)를 기반으로 여러 조직에서 고가용성, 내결함성이 있는 중요 엔터프라이즈와 웹 스케일 인프라의 설계와 구현을 주도했다. 포르투갈의 두 유니콘 회사와 세계에서 가장 큰 트랜잭션 기반 게임 회사에서 근무했다. 포르투갈 시민증의 공개 키 인프라 프로젝트에 참여해 여러 정부 기관을 지원했다. 블로그(blog.kintoandar.com)와 트위터(@kintoandar)에서 활동 중이다.

페드로 아라우호(Pedro Araujo)

사이트 신뢰성(SRE)과 자동화 엔지니어이며, 규모에 맞게 모니터링하는 여러 표준을 정의하고 구현했다. 개발 팀과 인프라스트럭처를 연결하는 데 근본적인 역할을 했다. 인프라 분야의 전문가지만 대규모로 거래되는 시스템의 자동화와 관리에 관심이 많다. Riemann, OpenTSDB, Sensu, 프로메테우스, 타노스(Thanos) 등의 여러 오픈소스 프로젝트에 기여했다. 트위터(@phcrva)에서 활동 중이다.

옮긴이의 말

프로메테우스는 클라우드 네이티브 컴퓨팅 재단에서 졸업(graduated)한 두 번째 프로젝트로, 다른 시계열 데이터베이스인 인플럭스디비(InfluxDB), 그라파이트(Graphite)와 달리 푸시(PUSH) 방식이 아닌 HTTP를 통한 풀(PULL) 방식의 데이터 수집을 기본으로 한다. 그로 인해 쿠버네티스나 이스티오(Istio) 등의 현재 가장 인기 있는 CNCF 오픈소스들과 대부분의 모니터링 서비스 및 플랫폼까지 모두 백엔드로 지원하고, 특히 쿠버네티스 클러스터를 직접 구축하거나 운영할 때 별도의 개발 없이 모니터링 시스템을 구축할 수 있다는 큰 장점이 있다. PromQL를 활용해 다양한 형태로 데이터를 가공해 모니터링 플랫폼에 전달하는 역할도 할 수 있고, 다양한 익스포터(exporter)를 사용하거나 커스텀 메트릭을 구현해 네트워크 장비를 비롯한 다양한 인프라 자원의 모니터링을 통합 관리할 수 있다.
이 책을 통해 베이그런트(Vagrant) 기반 가상 환경에서의 핸즈온으로 프로메테우스 관련 생태계와 명령어들을 직접 구동하고 경험해보면서 프로메테우스 도입을 검토하거나 다른 모니터링 시스템과 비교할 수 있을 것이다. 또한 2.9.X 버전 기반 실습으로 진행되기 때문에 2.4 버전 이후 변경된 점까지 확인할 수 있다.
번역 작업을 하면서 쿠버네티스 문서 한글화 가이드(https://kubernetes.io/ko/docs/contribute/localization_ko/)에서 많은 도움을 받았다.
- 김진웅

단일 머신으로 수천 개의 타깃(Target)과 수백만 개의 메트릭 시계열 데이터를 처리하는 프로메테우스는 분명 매력적인 도구임에 틀림없다. 프로메테우스는 쿠버네티스의 확산과 함께 간단한 내부 구성 요소와 메트릭 수집/처리 과정이 간소해 국내에서도 많은 기업과 운영 환경에서 다양한 활용 사례가 생기고 있다. 더 다양하고 복잡한 클라우드 환경에서 모니터링 환경을 구축하려는 운영자, 개발자에게 프로메테우스는 아주 좋은 선택지다. 프로메테우스를 기반으로 클라우드 네이티브 모니터링 시스템을 구축한 경험을 토대로 프로메테우스를 처음 접하고 시작하는 독자들께 도움이 되고자 하는 마음으로 번역을 진행했다. 번역 과정에서 프로메테우스에는 많은 변화가 있었고, CNCF 생태계와 함께 다양한 유관 프로젝트와 도구가 개발되고 있다.
이 책은 예제 코드와 함께 실제로 활용할 수 있는 내용 중심으로 구성됐으며, 프로메테우스를 도입하고 사용해 보고자 하는 다양한 사용자에게 도움이 될 것이다.
프로메테우스는 스케일아웃 형태의 규모에 따른 확장의 제약 사항을 가진 부분에서 다양한 접근 방식으로 노력 중이며, 더욱 복잡해지는 비즈니스와 IT 환경에서 큰 역할을 할 것으로 기대한다.
- 문진수

옮긴이 소개

김진웅

클라우드 엔지니어로 주로 아키텍트와 데브옵스 업무를 하고 있다. 10여년간 대기업 SI회사에서 레거시(Legacy) 인프라 운영과 클라우드 운영 엔지니어로 근무했고 2017년부터 컨테이너 기술 중심으로 업계가 변하면서 GPU 클라우드 플랫폼, FaaS(서버리스) 서비스를 개발했다. 현재 퍼블릭 클라우드 기반 데이터레이크 구축 프로젝트를 위해 고군분투 중이다.

문진수

인프라 엔지니어로 클라우드 세계에 입문했으며, 컨테이너 기술 중심으로 클라우드 네이티브 플랫폼과 CNCF 프로젝트 생태계 기술에 집중하고 있다. 과거 클라우드 OPS 엔니지어로서 클라우드파운드리, 쿠버네티스 등의 클라우드 플랫폼 구축과 오픈소스 기반 클라우드 서비스 개발 경험이 있으며, 현재 금융 환경에서 클라우드 기술 검토와 안정적인 운영 업무를 위해 힘쓰고 있다.

목차

목차
  • 1부. 서론
  • 1장. 모니터링 기초
    • 모니터링 정의
      • 모니터링의 가치
      • 조직 컨텍스트
      • 모니터링 구성 요소
    • 화이트박스와 블랙박스 모니터링
    • 메트릭 수집의 이해
      • 수집 방식의 개요
      • 푸시와 풀
      • 무엇을 측정할 것인가?
    • 요약
    • 질문
    • 더 읽을거리

  • 2장. 프로메테우스 생태계 개요
    • 프로메테우스를 사용한 메트릭 수집
      • 프로메테우스 아키텍처 개요
    • 익스포터를 사용한 내부 상태 노출
      • 익스포터 기본
    • 알림 매니저를 사용한 알림 라우팅 및 관리
      • 알림 라우트
    • 데이터 시각화
    • 요약
    • 질문
    • 더 읽을거리

  • 3장. 테스트 환경 구축
    • 코드 구조
    • 시스템 요구 사항
      • 하드웨어 요구 사항
      • 권장 소프트웨어
    • 신규 환경설정
      • 베이그런트로 자동 배포 환경설정 연습
      • 고급 배포 실습
    • 요약
    • 질문
    • 더 읽을거리

  • 2부. 프로메테우스 시작
  • 4장. 프로메테우스 메트릭 개념
    • 프로메테우스 데이터 모델 이해
      • 시계열 데이터
      • 시계열 데이터베이스
      • 프로메테우스 로컬 스토리지
      • 프로메테우스 데이터 모델
    • 네 가지 핵심 메트릭 타입 소개
      • 카운터
      • 게이지
      • 히스토그램
      • 서머리
    • 종단면과 횡단면 데이터 집계
      • 횡단면 집계
      • 종단면 집계
    • 요약
    • 질문
    • 더 읽을거리

  • 5장. 프로메테우스 서버 실행
    • 프로메테우스 환경설정의 집중 분석
      • 프로메테우스 초기 환경설정
      • 프로메테우스 환경설정 파일 실습
    • 독립 실행형 서버에서 프로메테우스 관리
      • 서버 배포
      • 환경설정 확인
      • 정리
    • 쿠버네티스 환경에서 프로메테우스 관리
      • 정적 환경설정
      • 동적 환경설정: 프로메테우스 오퍼레이터
    • 요약
    • 질문
    • 더 읽을거리

  • 6장. 익스포터와 통합
    • 테스트 환경
      • 정적 인프라 테스트 환경
      • 쿠버네티스 테스트 환경
    • 운영체제 익스포터
      • 노드 익스포터
    • 컨테이너 익스포터
      • cAdvisor
      • kube-state-metrics
    • 로그에서 메트릭까지
      • mtail
      • Grok 익스포터
    • 블랙박스 모니터링
      • 블랙박스 익스포터
    • 푸시 메트릭
      • 푸시 게이트웨이
    • 추가 익스포터
      • JMX 익스포터
      • HAProxy 익스포터
    • 요약
    • 질문
    • 더 읽을거리

  • 7장. 프로메테우스 쿼리: PromQL
    • 테스트 환경
    • PromQL 기초
      • 셀렉터
      • 연산자
      • 함수
    • 일반적인 패턴과 함정
      • 패턴
      • 함정
    • 다중 쿼리(복잡한 쿼리)
      • 어떤 노드에서 노드 익스포터가 실행되고 있는가?
      • 다른 버전의 CPU 사용량 비교
    • 요약
    • 질문
    • 더 읽을거리

  • 8장. 트러블슈팅과 검증
    • 테스트 환경
      • 배포
      • 정리
    • promtool 탐색
      • 체크
      • 쿼리
      • 디버그
      • 테스트
    • 로그와 엔드포인트 검증
      • 엔드포인트
      • 로그
    • 시계열 데이터베이스 분석
      • tsdb 도구 사용
    • 요약
    • 질문
    • 더 읽을거리

  • 3부. 대시보드와 알림
  • 9장. 알림과 레코딩 규칙 정의
    • 테스트 환경
      • 배포
      • 정리
    • 규칙 평가의 작동 방식 이해
      • 레코딩 규칙 사용
      • 레코딩 규칙의 명명 규칙
    • 프로메테우스 알림 설정
      • 알림 규칙이란?
      • 알림 규칙 환경설정
      • 레이블과 주석
      • 알림 지연
    • 규칙 테스트
      • 레코딩 규칙 테스트
      • 알림 규칙 테스트
    • 요약
    • 질문
    • 더 읽을거리

  • 10장. 그라파나 대시보드 검색과 생성
    • 테스트 환경
      • 배포
      • 정리
    • 프로메테우스 기반 그라파나 사용법
      • 로그인 화면
      • 데이터 소스
      • 탐색
      • 대시보드
      • 쿠버네티스 환경 그라파나 기동
    • 자체 대시보드 개발
      • 대시보드 기초
      • 대시보드 기본 생성
      • 대시보드 내보내기
    • 커뮤니티 대시보드 탐색
      • 그라파나 대시보드 갤러리
      • 대시보드 게시
    • 프로메테우스 기본 시각화
      • 콘솔 템플릿 사용
      • 콘솔 템플릿 기본
    • 요약
    • 질문
    • 더 읽을거리

  • 11장. 알림 매니저
    • 테스트 환경
      • 배포
      • 정리
    • 알림 매니저 기초
      • 통지 파이프라인
      • 알림 매니저 클러스터링
    • 알림 매니저 설정
      • 프로메테우스 환경설정
      • 환경설정 파일 옵션
      • amtool 커맨드라인 도구
      • 쿠버네티스 환경 프로메테우스 오퍼레이터와 알림 매니저
    • 알림 매니저 통지 연계
      • 이메일
      • 채팅
      • 페이저
      • 웹훅
      • null
    • 통지 사용자 정의
      • 기본 메시지 포맷
      • 신규 템플릿 생성
    • 모니터링 시스템은 누가 모니터링하는가?
      • 메타모니터링과 교차 모니터링
      • 데드맨 스위치 알림
    • 요약
    • 질문
    • 더 읽을거리

  • 4부. 확장성, 복원성, 유지 보수성
  • 12장. 올바른 서비스 디스커버리 선택
    • 테스트 환경
      • 배포
      • 정리
    • 서비스 디스커버리 옵션을 통한 실행
      • 클라우드 프로바이더
      • 컨테이너 오케스트레이터
      • 서비스 디스커버리 시스템
      • DNS 기반 서비스 디스커버리
      • 파일 기반 서비스 디스커버리
    • 빌트인 서비스 디스커버리 사용
      • 칸설 서비스 디스커버리 사용
      • 쿠버네티스 서비스 디스커버리 사용
    • 사용자 정의 디스커버리 설정
      • 사용자 정의 서비스 디스커버리 개념
      • 권장 접근 방식
      • 사용자 정의 서비스 디스커버리 사용
    • 요약
    • 질문
    • 더 읽을거리

  • 13장. 프로메테우스 확장과 페더레이션
    • 테스트 환경
      • 배포
      • 정리
    • 샤딩 형태의 확장
      • 작업의 논리적 그룹
      • 단일 작업 스케일링 문제
      • 샤딩 시 고려해야 할 사항
      • 샤딩 대안
    • 페더레이션을 사용해 글로벌 뷰 설정
      • 페더레이션 설정
      • 페더레이션 패턴
    • 타노스를 사용해 규모로서의 프로메테우스 단점 보완
      • 타노스의 글로벌 뷰 구성 요소
    • 요약
    • 질문
    • 더 읽을거리

  • 14장. 롱텀 스토리지와 통합
    • 테스트 환경
      • 배포
      • 정리
    • 원격 쓰기와 원격 읽기
      • 원격 쓰기
      • 원격 읽기
    • 메트릭 스토리지 옵션
      • 로컬 스토리지
      • 원격 스토리지 통합
    • 타노스 원격 스토리지와 생태계
      • 타노스 생태계
      • 타노스 구성 요소
    • 요약
    • 질문
    • 더 읽을거리

  • 부록. 평가

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안