책 소개
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
일래스틱서치는 설치가 간단하고 쉽게 스케일 아웃할 수 있다는 장점이 있어서 최근 몇 년 사이 사용자가 크게 늘었다. 처음에는 쉽게 접근할 수 있지만 저장 데이터가 커지고 사용자가 늘면서 어느 순간 노드가 OOM으로 종료되거나 클러스터가 갑자기 먹통이 되는 경험을 하게 될 것이다. 검색 및 집계 기능의 강력함과 유연함에 매료됐던 개발자들도 불안정한 시스템을 경험하면서 서서히 돌아서기 시작한다. 포기하고 다른 시스템을 찾는 사람도 있을 것이고 마치 야생마를 길들이듯 이 시스템을 길들이고 말겠다며 더 매력을 느끼는 사람도 있을지 모른다.
이 책은 일래스틱서치를 운영하면서 알아야 할 기본적인 운영 도구와 노하우를 소개한다. 일래스틱서치 운영을 시작하는 단계에 있거나 프로덕션에 배포하면서 기본적인 운영 문제들을 정리하고자 하는 사람들에게 많은 도움이 될 것이다.
이 책에서 다루는 내용
■ 일래스틱서치 헤드와 빅데스크로 클러스터 탐색
■ 일래스틱서치 API를 사용해 일래스틱서치 모니터링 플러그인의 내부 데이터 접근
■ 마블을 사용해 클러스터 성능 분석
■ 일래스틱서치를 사용할 때 수반되는 일반적인 성능과 신뢰성 문제 해결
■ 클러스터의 성능 이력을 분석하고, 시스템 오류의 근본 원인을 찾아 복구
■ 키바나, 코프 같은 도구의 설치와 사용
이 책의 대상 독자
일래스틱서치를 사용하는 소프트웨어 개발자, 데브옵스 엔지니어 및 시스템 관리자를 대상으로 한다. 간단한 클러스터를 설치하고 구성하기 위해 일래스틱서치의 기본 사항을 다루지만, 일래스틱서치 API는 자세히 설명하지 않는다. 일래스틱서치 API에 대한 기본적인 이해가 꼭 필요한 것은 아니지만, 이 책을 이해하는 데 도움이 될 수 있다.
이 책의 구성
1장, ‘일래스틱서치 모니터링 소개’에서는 일래스틱서치 개요를 설명하고, 클러스터를 모니터링한다. 또한 문제를 해결할 때 주의해야 할 몇 가지를 소개한다.
2장, ‘일래스틱서치 설치와 요구사항’에서는 일래스틱서치와 일래스틱서치 모니터링 도구의 설치 방법을 알아본다.
3장, ‘일래스틱서치 헤드와 빅데스크’에서는 다중 모드 일래스틱서치 클러스터를 설정하는 방법과 클러스터의 상태를 조사하는 모니터링 도구인 일래스틱서치 헤드(Elasticsearch-head)와 빅데스크(Bigdesk)를 사용하는 방법을 알아본다.
4장, ‘마블 대시보드’에서는 일래스틱서치 제작사가 개발한 상용 모니터링 도구인 마블에 대해 알아본다.
5장, ‘시스템 모니터링’에서는 일래스틱서치 유틸리티인 코프(Kopf), 키바나(Kibana), 일래스틱서치 cat API, 그리고 몇 가지 유닉스 명령행 유틸리티를 다룬다.
6장, ‘성능과 신뢰성 문제 해결하기’에서는 일래스틱서치를 사용할 때 발생하는 일반적인 성능과 안정성 문제를 해결하는 방법을 알아본다. 문제를 해결하는 실제 예제와 몇 가지 사례 연구도 다룬다.
7장, ‘노드 오류 및 사후 분석’에서는 클러스터의 성능 이력을 분석하고 시스템 오류의 근본 원인을 찾아 복구하는 방법을 알아본다. 몇 가지 실제 예제와 사례 연구도 다룬다.
8장, ‘기대’에서는 다음 주요 소프트웨어 릴리즈인 일래스틱서치 5에 포함되는 기능과 사용할 수 있는 새로운 모니터링 도구를 알아본다.
목차
목차
- 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 예외 해결하기
- 일래스틱서치 프로세스 크래시
- 디스크 공간
- 문제 해결하기
- OutOfMemoryError 예외
- 사례 연구 검토
- ES 프로세스가 예기치 않게 종료됨
- 느리고 타임아웃 되는 쿼리 요청
- 요약
- 문제 진단하기
- 8장. 기대
- 일래스틱서치 5 개요
- 성능과 신뢰성
- 데이터 유실
- 일래스틱서치 5.0으로 업그레이드
- 업그레이드 시기
- 일래스틱서치 5 모니터링
- 일래스틱서치 5 개요