Splunk 구현 기술 [보안, 관제, 모니터링을 위한 빅데이터 수집과 분석 솔루션]
- 원서명Implementing Splunk: Big Data Reporting and Development for Operational Intelligence (ISBN 9781849693288)
- 지은이빈센트 범가너
- 옮긴이최창배
- ISBN : 9788960776289
- 35,000원
- 2014년 10월 29일 펴냄
- 페이퍼백 | 528쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 데이터 과학
책 소개
요약
스플렁크(Splunk)를 사용하는 데 필요한 전반적인 내용을 다루는 책이다. 처음에는 스플렁크를 간단히 설치하고 검색하는 것으로 시작해, 자신만의 대시보드를 만드는 방법과 스플렁크 확장을 위한 다양한 설정 방법, 그리고 실무에서 적용할 수 있는 다양한 배포 방법을 설명한다. 이 모든 과정은 다양한 예제를 통해 간단히 따라 해보고 익힐 수 있도록 구성되어 있으며, 이 책 한 권으로 스플렁크의 모든 것을 알 수는 없겠지만, 스플렁크로 무엇을, 어떻게 할 수 있는지에 대한 확실한 가이드를 얻을 수 있다.
이 책에서 다루는 내용
성능 좋고 간결한 검색을 작성하는 방법
구조화되지 않은 데이터에서 필드를 생성하는 방법
룩업과 명령어를 통해 데이터를 풍부하게 만드는 방법
데이터를 유용하고 보기 좋은 리포트로 변경하는 방법
전문적인 화면과 정보를 제공하는 대시보드를 만드는 방법
앱을 만들고 검색과 대시보드를 공유하는 방법
어떤 환경에서든 한 개에서 천 개까지의 인스턴스의 설정을 관리하는 방법
기업용 시스템에 통합하는 방법
스크립트와 향상된 설정을 통해 스플렁크를 확장하는 방법
이 책의 대상 독자
이 책은 로그 분석과 인덱싱을 위해 스플렁크로 구현하기를 원하거나 이미 스플렁크로 구현한 독자를 대상으로 한다. 데이터의 분석, 성능 모니터링 등을 위한 분석가나 IT 스태프들도 이 책을 통해 실제 예제를 통해 배울 수 있다. 또한, IT 인프라와 사업에서의 인프라의 상태, 성능, 실행 이력 등을 요약하는 리포트와 대시보드를 만들고자 하는 독자에게도 도움이 될 것이다.
이 책의 구성
1장. ‘스플렁크 인터페이스’에서는 사용자 인터페이스 요소를 살펴본다.
2장. ‘검색의 이해’에서는 검색 언어의 기초를 설명하고 효율적인 질의를 만들기 위해 특별히 주의해야 할 부분을 알아본다.
3장. ‘테이블, 차트, 필드’에서는 보고서를 위해 필드를 사용하는 방법을 살펴보고 자신만의 필드를 만드는 과정을 설명한다.
4장. ‘단순 XML 대시보드’에서는 대시보드를 만들기 위해 스플렁크 웹 인터페이스를 사용한다. 폼을 만드는 방법과 더 효율적인 대시보드를 만드는 방법을 알아본다.
5장. ‘고급 검색 예제’에서는 스플렁크의 강력한 검색 언어를 사용하는 방법을 예제를 통해 살펴본다.
6장. ‘검색의 확장’에서는 이벤트를 분류하고 강력한 방법으로 검색 결과에 따라 행동하는 스플렁크의 수많은 기능을 설명한다.
7장. ‘앱 작업’에서는 앱의 개념에 대해서 설명하고 인기 있는 몇 가지 앱에 대해 어떻게 설치하는지 알아보며 자신만의 앱을 만들어 본다.
8장. ‘고급 대시보드’는 고급 XML 대시보드의 개념을 설명하고 단순 XML에서 고급 XML 대시보드로 전환하기 위한 실제적인 방법을 설명한다.
9장. ‘요약 인덱스와 CSV 파일’에서는 요약 인덱스의 개념을 소개하고 성능을 향상시키는 데 어떻게 사용되는지 알아본다. 또한, CSV 파일이 어떻게 흥미로운 방법으로 사용될 수 있는지 알아본다.
10장. ‘스플렁크 설정’은 스플렁크에서 일반적인 설정의 구조와 의미에 대해서 설명한다. 또한, 설정을 합치는 과정을 매우 자세히 설명한다.
11장. ‘향상된 배포’는 데이터 입력과 시스템 로그, 설정 관리와 확장하는 방법을 비롯해 여러 머신에 스플렁크를 배포하기 위한 일반적인 방법을 설명한다.
12장. ‘스플렁크 확장’에서는 데이터 입력, 외부 쿼리, 렌더링, 사용자 정의 명령, 사용자 정의 액션을 통해 스플렁크를 확장하기 위해 사용할 수 있는 방법을 코드를 이용해 설명한다.
목차
목차
- 1장 스플렁크 인터페이스
- 스플렁크 로그인
- 홈 앱
- 상단 바
- 검색 앱
- 데이터 생성
- 요약 화면
- 검색
- 액션
- 타임라인
- 필드 선택기
- 검색 결과
- 시간 선택기
- 필드 선택기
- 관리자
- 정리
- 2장 검색의 이해
- 효율적으로 검색
- 불린과 그룹 연산자
- 검색 변경을 위한 클릭
- 이벤트 분할
- 필드 위젯
- 시간
- 검색에서 필드 사용
- 필드 선택기 사용
- 와일드카드를 효과적으로 사용
- 단어의 끝에만 와일드카드를 사용하는 것이 효율적이다
- 와일드카드는 마지막에 검사된다
- 필드 안에서 와일드카드를 보완한다
- 시간에 관한 모든 것
- 스플렁크가 시간을 파싱하는 방법
- 스플렁크가 시간을 저장하는 방법
- 스플렁크에서 시간을 표시하는 방법
- 시간대가 결정되는 방법과 문제
- 시간에 대해 검색하는 다른 방법
- 검색에서 인라인 시간 설정
- indextime과 time
- 더 빠른 검색 수행
- 결과 공유
- 재사용을 위한 검색 저장
- 검색에서 경고 생성
- 스케쥴
- 액션
- 정리
- 3장 테이블, 차트 및 필드
- 파이프 기호
- 필드 값 순의를 위한 top 명령
- top의 출력제어
- 값을 종합하는 stats 명령
- 데이터 전환을 위한 차트
- 시간 경과에 따라 값의 변화를 보여주는 타임차트
- 타임차트 옵션
- 필드 작업
- 정규 표현식 입문
- 필드 생성 명령
- 로그레벨 추출
- 정리
- 4장 단순 XML 대시보드
- 대시보드의 목적
- 대시보드 생성 마법사
- 대시보드에서 스케쥴 생성
- XML 직접 편집
- UI 예제 앱
- 폼 생성
- 대시보드에서 폼 생성
- 하나의 폼에서 여러 패널 사용
- 검색 결과 후 처리
- 후 처리의 제한
- 정리
- 5장 고급 검색 예제
- 느슨하게 연결된 이벤트를 찾기 위한 서브 검색
- 서브 검색
- 서브 검색 절차
- 중첩 서브 검색
- 트랜잭션 사용
- 세션 길이를 결정하기 위한 트랜잭션
- 트랜잭션 통계 계산
- 트랙잭션과 서브 검색
- 동시성 결정
- 동시성을 가진 트랜잭션
- 서버 부하를 추정하기 위한 동시성
- by 절로 동시성 계산
- 시간 간격에 따른 이벤트 계산
- 타임차트 사용
- 분당 평균 요청 수 계단
- 분당/시간당 평균 이벤트 수 계산
- top 재구성
- 정리
- 느슨하게 연결된 이벤트를 찾기 위한 서브 검색
- 6장 검색의 확장
- 검색을 간단하게 하는 태그
- 결과를 정형화하기 위한 이벤트 타입
- 데이터를 풍부하게 하는 룩업
- 룩업 테이블 파일 정의
- 룩업 정의
- 자동 룩업 정의
- 룩업 트러블슈팅
- 로직 재사용을 위한 매크로
- 간단한 매크로 생성
- 아규먼트를 가진 매크로 생성
- 매크로 생성 시 eval 사용
- 워크플로우 액션 생성
- 이벤트에서 값을 사용하여 새로운 검색 실행
- 외부 사이트 링크
- 필드 문맥을 보여주는 워크플로우 액션
- 외부 명령 사용
- XML에서 값 추출
- 구글 결과 생성
- 정리
- 7장 앱 작업
- 내부에 포함된 앱
- 앱 설치
- 스플렁크베이스에서 앱 설치
- 파일로 앱 설치
- 첫 번째 앱 제작
- 내비게이션 편집
- 앱의 외형 수정
- 실행 아이콘 수정
- 사용자 정의 CSS 사용
- 사용자 설정 HTML
- 객체 권한
- 권한에 의한 내비게이션의 영향
- 권한에 의한 다른 객체의 영향
- 권한 문제 수정
- 앱 디렉토리 구조
- 스플렁크베이스에 앱 추가
- 앱 준비
- 앱 패키지
- 앱 업로드
- 정리
- 8장 고급 대시보드
- 고급 XML을 사용하는 이유
- 고급 XML을 사용하지 않는 이유
- 개발 과정
- 고급 XML 구조
- 단순 XML을 고급 XML로 변환
- 모듈 로직 흐름
- 레이아웃 패널의 이해
- 패널 위치
- 질의의 재사용
- 인텐션 사용
- stringreplace
- addterm
- 사용자 정의 드릴다운 생성
- 사용자 정의 질의를 이용한 드릴다운
- 다른 패널로 드릴다운
- HiddenPostProcess를 사용해 여러 패널로 드릴다운
- 써드 파티 애드온
- 구글 맵
- 사이드뷰 유틸
- 정리
- 9장 요약 인덱스와 CSV 파일
- 요약 인덱스의 이해
- 요약 인덱스 생성
- 요약 인덱스가 필요한 경우
- 요약 인덱스를 사용할 수 없는 경우
- 저장된 검색에서 요약 인덱스 적용
- 질의에서 요약 인덱스 이벤트 사용
- sistats와 sitop, sitimechart
- 요약 질의에서 지연시간의 영향
- 요약 데이터를 채우는 방법과 시기
- fillsummaryindex.py
- 사용자 정의 요약 인덱스를 생성하는 collect
- 요약 인덱스 크기 감소
- 그룹 항목을 정의하기 위한 eval과 rex
- 와일드카드를 가진 룩업
- 그룹 결과에 이벤트 타입 사용
- 긴 시간 프레임을 위한 탑(top) 계산
- 요약 인덱스에 원시 이벤트 저장
- 전이 데이터를 CSV 파일로 저장
- 드랍다운 미리 지정
- 하루 동안 실행 계산 생성
- 정리
- 요약 인덱스의 이해
- 10장 스플렁크 설정
- 스플렁크 설정 파일 위치
- 스플렁크 설정 파일의 구조
- 설정 통합
- 통합 순서
- 설정 통합 로직
- btool 사용
- 스플렁크 .conf 파일의 개요
- props.conf
- inputs.conf
- transforms.conf
- fields.conf
- outputs.conf
- indexes.conf
- authorize.conf
- savedsearches.conf
- times.conf
- commands.conf
- web.conf
- 사용자 인터페이스 리소스
- 뷰와 내비게이션
- 앱서버 리소스
- 메타데이터
- 정리
- 11장 향상된 배포
- 설치 계획
- 스플렁크 인스턴스 타입
- 스플렁크 전달자
- 스플렁크 인덱서
- 스플렁크 검색
- 공통 데이터 소스
- 서버 로그 모니터링
- 공유 드라이브에서 로그 모니터링
- 배치에서 로그 사용
- 시스로그 이벤트
- 데이터베이스에 로그 사용
- 데이터 수집을 위한 스크립트 사용
- 인덱서 규모 산정
- 여분 계획
- 인덱서 로드 밸런싱
- 전형적인 서비스 중단의 이해
- 다중 인덱스 작업
- 인덱스의 디렉토리 구조
- 더 많은 인덱스를 생성하는 경우
- 버킷의 생명주기
- 인덱스의 규모 산정
- 여러 개의 인덱스를 다루기 위한 볼륨
- 스플렁크 바이너리 배포
- 타르를 이용한 배포
- msiexec를 이용한 배포
- 기본 설정 추가
- 부팅 시 스플렁크를 시작하도록 설정
- 설정을 구성하기 위한 앱
- 목적에 따라 설정 분리
- 설정 분산
- 자신의 배포 시스템 사용
- 스플렁크 배포 서버 사용
- 인증을 위해 LDAP 사용
- 싱글 사인 온 사용
- 로드 밸러서와 스플렁크
- 웹
- splunktcp
- 배포 서버
- 여러 개의 검색 헤드
- 정리
- 12장 스플렁크 확장
- 데이터 수집을 위한 입력 스크립트 작성
- 시간이 없는 스크립트 출력을 수집
- 하나의 이벤트로 스크립트 결과를 수집
- 장시간 실행되는 입력 스크립트 생성
- 커맨드 라인에서 스플렁크 사용
- REST를 이용한 스플렁크 질의
- 명령 작성
- 명령을 작성할 수 없는 경우
- 명령 작성이 필요한 경우
- 명령 설정
- 필드 추가
- 데이터 다루기
- 데이터 변형
- 데이터 생성
- 데이터를 풍부하게 하기 위한 룩업 스크립트 작성
- 이벤트 랜더러 작성
- 특정 필드 사용
- 필드 값에 기반한 필드 테이블
- XML 소스 출력
- 처리 결과에 경고 액션 스크립트 작성
- 정리