Top

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장. ‘스플렁크 확장’에서는 데이터 입력, 외부 쿼리, 렌더링, 사용자 정의 명령, 사용자 정의 액션을 통해 스플렁크를 확장하기 위해 사용할 수 있는 방법을 코드를 이용해 설명한다.

저자/역자 소개

저자 서문

스플렁크는 머신 데이터의 더미에서 유용한 데이터를 찾아내고 만들어내는 데 사용할 수 있다. 이 책은 스플렁크가 이와 같은 작업을 어떻게 처리하는지를 명확히 알려준다. 독자의 필요에 따라 데이터를 검색하고 변형하며 표현하는 방법을 배울 수 있으며, 규모에 관계없이 스플렁크를 설치하고 관리하는 방법도 익힐 수 있다.

이 책을 처음부터 읽거나 당장 알고 싶은 곳부터 펼쳐 읽게 되더라도 누구든 원하는 작업을 더 빠르게 처리할 수 있다. 스플렁크를 처음 사용하는 독자나 이미 경험이 있는 독자 모두 많은 지식을 얻을 수 있을 것이다.

이 책은 다양한 예제와 단계별 설명을 제공한다. 이 책을 통해 스플렁크가 제공하는 모든 장점을 취해서 머신 데이터에서 많은 가치를 창출해낼 수 있을 것이다.

저자 소개

빈센트 범가너 (Vincent Bumgarner)

20년 동안 많은 플랫폼에서 다양한 언어로 소프트웨어를 디자인해왔다. 2007년 처음 스플렁크(Splunk)를 접한 이후, 몇 년깐 스플렁크가 진화하는 모습을 지켜보았다. 스스로도 스플렁크로 작업하면서, 많은 기업과 함께 일하며 각 기업당 수십 명가량의 인원을 교육에 참여시켜 확장성과 유연성이 높은 스플렁크 제품을 도입하고 확장하며 관리할 수 있도록 이끌어왔다. 그와 함께 일한 회사들마다 적어도 한 명 이상은 스플렁크 관련 서적을 집필하기를 요청해왔기에, 자신의 노력이 그들에게 도움이 되기를 희망한다.

옮긴이의 말

빅데이터의 유행과 함께 매우 많은 기술이 소개되었고, 이에 맞는 솔루션들이 등장했다. 하지만, 빅데이터를 도입하고자 하는 기업들은 데이터를 수집하고 원하는 데이터를 검색하고 분석하며, 이를 결과로 리포팅하는 하나의 사이클을 완성하기 위해 수많은 기술과 솔루션을 검토한다. 또한, 이를 서로 엮기 위해 많은 시간을 소비하는데, 이러한 과정을 거치면서 스스로 지치기도 한다.

스플렁크는 이런 빅데이터 구현을 위한 전체 싸이클을 한 번에 제공해줄 수 있는 솔루션이다. 스플렁크는 보안/관제/모니터링을 위해 여러 서버에 있는 비정형 데이터를 수집하고, 이 머신 데이터를 다양한 방법으로 사용할 수 있는 상태로 실시간 인덱싱을 한다. 그리고 내장된 검색 엔진을 통해 데이터를 검색하고 분석해 이를 풍부한 인터페이스로 표현해준다.

스플렁크는 용도에 따라 다양하게 응용하여 사용할 수 있고, 스플렁크 베이스(https://apps.splunk.com)에서 공유하는 다양한 앱을 통해 힌트를 많이 얻을 수 있다(스플렁크 베이스에서 앱을 다운로드할 때는 자신이 사용하는 스플렁크 버전과 호환이 되는지를 반드시 확인하자).

이 책은 스플렁크 4 버전을 기준으로 한다. 4 버전이 나온 이후 스플렁크는 하둡 지원을 비롯해 클라우드 환경 지원, 모바일 앱으로 사용 가능하도록 발전하고 있다. 또한, 내부적으로 인덱스 속도 개선 및 데이터 분석을 위한 명령어가 추가되었으며, UI도 많은 변화가 있었다(스플렁크의 향상된 자세한 기능은 스플렁크 도큐먼트의 릴리즈 사이트 http://docs.splunk.com/Documentation/Splunk/를 참조하자) .

이 책은 기본적인 검색에서 고급 기능까지 스플렁크의 전체 기능에 대해 설명하고, 스플렁크 4.0 이후 버전에서도 쉽게 적용 가능하다. 또한, 이 책의 예제를 처음부터 끝까지 한 번 따라하는 것만으로도 실제 업무에 적용할 수 있는 많은 아이디어를 얻을 수 있다.

옮긴이 소개

최창배

전공 분야는 클라우드와 빅데이터다. 현재는 EMC에서 하둡과 MPP 데이터베이스를 통해 빅데이터를 구현하기 위한 프로젝트를 수행 중이고, 이전에는 국내 공용 클라우드 서비스 개발에 참여했다. 현재는 기업 내 PaaS 서비스 환경을 구축하기 위해 노력 중이다.

목차

목차
  • 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 소스 출력
    • 처리 결과에 경고 액션 스크립트 작성
    • 정리

도서 오류 신고

도서 오류 신고

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

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

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