Top

일래스틱서치 모니터링 [정제된 커뮤니티의 경험]

  • 원서명Monitoring Elasticsearch (ISBN 9781784397807)
  • 지은이댄 노블(Dan Noble)
  • 옮긴이이재익
  • ISBN : 9788960779938
  • 18,000원
  • 2017년 04월 27일 펴냄
  • 페이퍼백 | 200쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

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

요약

일래스틱서치는 설치가 간단하고 쉽게 스케일 아웃할 수 있다는 장점이 있어서 최근 몇 년 사이 사용자가 크게 늘었다. 처음에는 쉽게 접근할 수 있지만 저장 데이터가 커지고 사용자가 늘면서 어느 순간 노드가 OOM으로 종료되거나 클러스터가 갑자기 먹통이 되는 경험을 하게 될 것이다. 검색 및 집계 기능의 강력함과 유연함에 매료됐던 개발자들도 불안정한 시스템을 경험하면서 서서히 돌아서기 시작한다. 포기하고 다른 시스템을 찾는 사람도 있을 것이고 마치 야생마를 길들이듯 이 시스템을 길들이고 말겠다며 더 매력을 느끼는 사람도 있을지 모른다.
이 책은 일래스틱서치를 운영하면서 알아야 할 기본적인 운영 도구와 노하우를 소개한다. 일래스틱서치 운영을 시작하는 단계에 있거나 프로덕션에 배포하면서 기본적인 운영 문제들을 정리하고자 하는 사람들에게 많은 도움이 될 것이다.

이 책에서 다루는 내용

■ 일래스틱서치 헤드와 빅데스크로 클러스터 탐색
■ 일래스틱서치 API를 사용해 일래스틱서치 모니터링 플러그인의 내부 데이터 접근
■ 마블을 사용해 클러스터 성능 분석
■ 일래스틱서치를 사용할 때 수반되는 일반적인 성능과 신뢰성 문제 해결
■ 클러스터의 성능 이력을 분석하고, 시스템 오류의 근본 원인을 찾아 복구
■ 키바나, 코프 같은 도구의 설치와 사용

이 책의 대상 독자

일래스틱서치를 사용하는 소프트웨어 개발자, 데브옵스 엔지니어 및 시스템 관리자를 대상으로 한다. 간단한 클러스터를 설치하고 구성하기 위해 일래스틱서치의 기본 사항을 다루지만, 일래스틱서치 API는 자세히 설명하지 않는다. 일래스틱서치 API에 대한 기본적인 이해가 꼭 필요한 것은 아니지만, 이 책을 이해하는 데 도움이 될 수 있다.

이 책의 구성

1장, ‘일래스틱서치 모니터링 소개’에서는 일래스틱서치 개요를 설명하고, 클러스터를 모니터링한다. 또한 문제를 해결할 때 주의해야 할 몇 가지를 소개한다.
2장, ‘일래스틱서치 설치와 요구사항’에서는 일래스틱서치와 일래스틱서치 모니터링 도구의 설치 방법을 알아본다.
3장, ‘일래스틱서치 헤드와 빅데스크’에서는 다중 모드 일래스틱서치 클러스터를 설정하는 방법과 클러스터의 상태를 조사하는 모니터링 도구인 일래스틱서치 헤드(Elasticsearch-head)와 빅데스크(Bigdesk)를 사용하는 방법을 알아본다.
4장, ‘마블 대시보드’에서는 일래스틱서치 제작사가 개발한 상용 모니터링 도구인 마블에 대해 알아본다.
5장, ‘시스템 모니터링’에서는 일래스틱서치 유틸리티인 코프(Kopf), 키바나(Kibana), 일래스틱서치 cat API, 그리고 몇 가지 유닉스 명령행 유틸리티를 다룬다.
6장, ‘성능과 신뢰성 문제 해결하기’에서는 일래스틱서치를 사용할 때 발생하는 일반적인 성능과 안정성 문제를 해결하는 방법을 알아본다. 문제를 해결하는 실제 예제와 몇 가지 사례 연구도 다룬다.
7장, ‘노드 오류 및 사후 분석’에서는 클러스터의 성능 이력을 분석하고 시스템 오류의 근본 원인을 찾아 복구하는 방법을 알아본다. 몇 가지 실제 예제와 사례 연구도 다룬다.
8장, ‘기대’에서는 다음 주요 소프트웨어 릴리즈인 일래스틱서치 5에 포함되는 기능과 사용할 수 있는 새로운 모니터링 도구를 알아본다.

저자/역자 소개

지은이의 말

일래스틱서치 모니터링의 독자가 된 것을 환영한다!
일래스틱서치 API나 클러스터 설정 방법을 다루는 책과 온라인 튜토리얼은 많다. 하지만 지금까지 모니터링과 문제 해결을 목적으로 하는 빈틈없고 이해하기 쉬운 자료는 없었다. 일래스틱서치 모니터링 도구는 클러스터의 문제 해결 능력을 극적으로 개선해서 클러스터의 신뢰성과 성능을 크게 향상시킨다.
일래스틱서치 헤드, 빅데스크, 마블, 코프, 키바나 같이 널리 사용되는 오픈 소스 및 상업용 일래스틱서치 모니터링 도구를 소개하며, 일래스틱서치 cat API 섹션과 나지오스를 사용해 일반적인 시스템 모니터링을 수행하는 방법도 설명한다. 또한 실제로 이러한 도구를 사용해 일래스틱서치 문제를 해결하는 예제와 함께 몇 가지 사례 연구를 살펴본다.
가장 좋은 학습법은 직접 해보는 것이므로, 샘플 일래스틱서치 클러스터를 설치하고 데이터를 로딩하는 방법을 자세히 살펴본다. 때로는 클러스터에 의도적으로 문제를 발생시켜 다양한 모니터링 도구를 사용해 에러를 추적하는 방법을 배운다. 클러스터에서 예제를 따라 하다 보면 모니터링 도구를 사용하는 방법과 발생할 수 있는 새로운 문제의 처리 방법을 익히는 데 도움이 된다.
이 책을 끝까지 읽으면 일래스틱서치 클러스터를 실행하고 유지 보수할 수 있을 것이다. 또한 노드의 종료, 일래스틱서치 프로세스의 강제 종료, 설정 에러, 샤드 에러, OutOfMemoryError 예외, 슬로 쿼리, 느린 인덱싱 성능 같은 클러스터 문제를 진단하고 해결하는 준비가 될 것이다.

지은이 소개

댄 노블(Dan Noble)

안전하고 깔끔하며 논리 정연한 코드를 쓰는 데 열정 있는 소프트웨어 엔지니어다. 다양한 프로그래밍 언어와 프레임워크 중에 파이썬, 일래스틱서치, 프론트엔드 기술로 작업하는 것을 즐긴다. 현재 지리 공간 웹 애플리케이션과 데이터 프로세싱 시스템 업무를 수행한다.
2011년 이래로 일래스틱서치 사용자이자 지지자다. 다양한 모임에서 일래스틱서치에 관한 강연을 했고, 『ElasticSearch Cookbook 2/e』(에이콘, 2016)의 기술 검토자기도 하다.

옮긴이의 말

일래스틱서치는 설치가 간단하고, 쉽게 스케일 아웃할 수 있다는 장점 때문에 최근 몇 년 사이 많은 사용자를 확보했다. 처음 시스템을 사용할 때 ‘혹시 이런 것도 되나’하고 스펙을 찾아볼 때마다 다양한 기능을 제공하고 있어 경이로울 때도 많다.
하지만 저장 데이터가 커지고 사용자가 늘어나면서 어느 순간 노드가 OOM으로 종료되거나 클러스터가 갑자기 먹통이 되는 경험을 하게 될 것이다.
처음 일래스틱서치를 접했을 때 느낀 검색 및 집계 기능의 강력함과 유연함에 매료됐던 개발자들도 불안정한 시스템을 경험하면서 서서히 돌아서기 시작한다. 포기하고 다른 시스템을 찾는 사람도 있을 것이고 마치 야생마를 길들이듯 시스템을 길들이고 말겠다며 더 매력을 느끼는 사람도 있을지 모른다.
이 책은 일래스틱서치를 운영하면서 알아야 할 기본적인 운영 방법과 노하우를 소개하고 있다. 일래스틱서치가 워낙 다양한 기능을 다루고 있고, 클러스터의 규모도 다양해서 모든 문제의 해법을 제공한다고 보장할 수는 없다. 다만 일래스틱서치 운영을 시작하는 단계에 있거나 프로덕션에 배포하면서 기본적인 운영 문제들을 정리하고자 하는 사람들에게는 많은 도움이 될 수 있는 책이다.
이 책을 통해 많은 일래스틱서치 사용자들이 시스템 운영의 고통에서 해방되길 바란다.

옮긴이 소개

이재익

한국과학기술대학교 석사 과정을 졸업하고, 삼성전자에서 모바일 리눅스 플랫폼에 자바 스택을 포팅하는 업무를 담당했다. 현재는 네이버에서 일래스틱서치를 기반으로 로그 관리 시스템 개발 및 운영하고 있다. 로그 저장, 검색, 분석 관련 기술과 오픈소스에 관심이 많다. 여가 시간에는 독서나 여행을 즐기며 두 아들과 많은 시간을 보내려고 노력한다. 역서로는 『Elasticsearch in Action』(에이콘, 2016)이 있다.

목차

목차
  • 1장. 일래스틱서치 모니터링 소개
    • 일래스틱서치 개요
      • 일래스틱서치란?
      • 데이터 분산, 복제, 고장 허용
      • 전문 검색
      • 유사 기술
        • 아파치 루씬
        • 솔라
        • 페릿
    • 일래스틱서치 모니터링
    • 문제 분석과 해결
    • 요약

  • 2장. 일래스틱서치 설치와 요구 사항
    • 일래스틱서치 설치
      • DEB/RPM 설치
      • yum과 apt-get 저장소
      • 우분투/데비안 그리고 apt-get
      • CentOS/RHEL과 yum
      • 검증
      • 설정 파일
      • 일래스틱서치 클러스터 설정
      • 클러스터 이름
      • 메모리 설정
      • 파일 열기 제한
      • 최대 파일 제한
      • 우분투 리눅스에서의 최대 파일 디스크립터 갱신
      • 플러그 가능한 인증 모듈 사용
      • 파일 열기 제한 검증하기
      • 스와핑 비활성화하기
    • 클러스터 이해
      • 일래스틱서치 헤드 설치
      • 빅데스크 설치
      • 마블
    • 클러스터 요구 사항
    • 요약

  • 3장. 일래스틱서치 헤드와 빅데스크
    • 클러스터 구성
      • 클러스터 설정
      • 샘플 데이터
    • 일래스틱서치 헤드
      • 오버뷰 탭
        • 클러스터 상태
      • 노드와 인덱스 액션
      • 인덱스 탭
      • 브라우저 탭
      • 구조적 쿼리 탭
      • 애니 리퀘스트 탭
      • 공식 웹사이트
    • 빅데스크
    • 일래스틱서치 cat API
      • 배경
      • 수치
      • 건강
      • 인덱스
      • 샤드
    • 요약

  • 4장. 마블 대시보드
    • 마블 설치
    • 마블 업그레이드하기
    • 마블 설정하기
      • 마블 에이전트 구성 설정
    • 마블 인덱스 설정
    • 마블 대시보드 이해하기
      • 오버뷰 대시보드
      • 인덱스 대시보드
      • 노드 대시보드
    • 노드 실패 모니터링
    • 요약

  • 5장. 시스템 모니터링
    • 코프로 작업하기
      • 코프 설치하기
        • 클러스터 페이지
        • 노드 페이지
        • rest 페이지
        • more 드롭다운
    • 로그스태시와 키바나로 작업하기
      • ELK
      • 설치
        • 로그스태시 설치하기
        • NGINX 로그 적재하기
        • 키바나 설치하기
    • 나지오스로 작업하기
      • 나지오스 설치하기
    • 시스템과 프로세스 관리를 위한 명령행 도구
      • top
      • tail
      • grep
      • ps
      • kill
      • free
      • du and df
    • 요약

  • 6장. 성능과 신뢰성 문제 해결하기
    • 시스템 설정
    • 필드데이터 캐시
    • 쿼리 분석하기
      • 슬로 로그
    • 쿼리 성능 개선하기
      • 높은 카디널리티 필드
      • 적은 인덱스 쿼리하기
      • 콜드 인덱스
      • 샤드 쿼리 캐시
      • 스크립트 쿼리
      • 꼼꼼하게 테스트하기
    • 시스템과 데이터 아키텍팅
      • 핫-웜 아키텍처
        • 마스터 노드
        • 핫 노드
        • 웜 노드
      • 디스크 크기 줄이기
        • 압축
        • _source와 분석 필드 저장하기
      • 데이터 수집 최적화하기
        • 벌크 인덱싱 연산
        • 드라이브 설정
    • 사례 연구
      • 노드 설정
      • 쿼리 최적화
      • 웹 애플리케이션 성능
    • 요약

  • 7장. 노드 오류와 사후 분석
    • 문제 진단하기
      • OutOfMemoryError 예외
        • 샤드 오류
        • 슬로 쿼리
        • OutOfMemoryError 예외 해결하기
      • 일래스틱서치 프로세스 크래시
      • 디스크 공간
        • 문제 해결하기
    • 사례 연구 검토
      • ES 프로세스가 예기치 않게 종료됨
      • 느리고 타임아웃 되는 쿼리 요청
    • 요약

  • 8장. 기대
    • 일래스틱서치 5 개요
      • 성능과 신뢰성
      • 데이터 유실
    • 일래스틱서치 5.0으로 업그레이드
      • 업그레이드 시기
    • 일래스틱서치 5 모니터링

도서 오류 신고

도서 오류 신고

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

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

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