Splunk-빠른 가이드

Splunk는 머신 데이터 및 기타 형태의 빅 데이터에서 인사이트를 처리하고 가져 오는 소프트웨어입니다. 이 머신 데이터는 웹 서버를 실행하는 CPU, IOT 장치, 모바일 앱의 로그 등에 의해 생성됩니다.이 데이터를 최종 사용자에게 제공 할 필요가 없으며 비즈니스 의미가 없습니다. 그러나 기계의 성능을 이해, 모니터링 및 최적화하는 데 매우 중요합니다.

Splunk는이 비정형, 반 정형 또는 거의 구조화되지 않은 데이터를 읽을 수 있습니다. 데이터를 읽은 후 이러한 데이터에 대한 보고서 및 대시 보드를 검색, 태그 지정, 생성 할 수 있습니다. 빅 데이터의 출현으로 Splunk는 이제 머신 데이터 일 수도 있고 아닐 수도있는 다양한 소스에서 빅 데이터를 수집하고 빅 데이터에 대한 분석을 실행할 수 있습니다.

따라서 로그 분석을위한 간단한 도구에서 Splunk는 비정형 머신 데이터 및 다양한 형태의 빅 데이터에 대한 일반적인 분석 도구가되기까지 먼 길을 왔습니다.

제품 카테고리

Splunk는 다음과 같은 세 가지 제품 범주로 제공됩니다.

  • Splunk Enterprise− 대규모 IT 인프라와 IT 기반 비즈니스를 보유한 기업에서 사용합니다. 웹 사이트, 애플리케이션, 장치 및 센서 등에서 데이터를 수집하고 분석하는 데 도움이됩니다.

  • Splunk Cloud− 엔터프라이즈 버전과 동일한 기능을 갖춘 클라우드 호스팅 플랫폼입니다. Splunk 자체에서 또는 AWS 클라우드 플랫폼을 통해 사용할 수 있습니다.

  • Splunk Light− 모든 로그 데이터를 한 곳에서 실시간으로 검색,보고 및 경고 할 수 있습니다. 다른 두 버전에 비해 제한된 기능과 기능이 있습니다.

Splunk 기능

이 섹션에서는 엔터프라이즈 에디션의 중요한 기능에 대해 설명합니다.

데이터 수집

Splunk는 JSON, XML과 같은 다양한 데이터 형식과 웹 및 애플리케이션 로그와 같은 구조화되지 않은 머신 데이터를 수집 할 수 있습니다. 비정형 데이터는 사용자가 필요로하는 데이터 구조로 모델링 할 수 있습니다.

데이터 인덱싱

수집 된 데이터는 다양한 조건에서 더 빠른 검색 및 쿼리를 위해 Splunk에 의해 인덱싱됩니다.

데이터 검색

Splunk에서 검색하려면 지표 생성, 향후 추세 예측 및 데이터 패턴 식별을 위해 인덱싱 된 데이터를 사용합니다.

경고 사용

Splunk 경고는 분석중인 데이터에서 특정 기준이 발견 될 때 이메일 또는 RSS 피드를 트리거하는 데 사용할 수 있습니다.

대시 보드

Splunk 대시 보드는 차트, 보고서 및 피벗 등의 형태로 검색 결과를 표시 할 수 있습니다.

데이터 모델

인덱싱 된 데이터는 전문 도메인 지식을 기반으로하는 하나 이상의 데이터 세트로 모델링 될 수 있습니다. 따라서 Splunk에서 사용하는 검색 처리 언어의 기술을 배우지 않고도 비즈니스 사례를 분석하는 최종 사용자가 쉽게 탐색 할 수 있습니다.

이 튜토리얼에서는 엔터프라이즈 버전을 설치하는 것을 목표로합니다. 이 버전은 모든 기능이 활성화 된 상태에서 60 일 동안 무료로 평가할 수 있습니다. Windows 및 Linux 플랫폼 모두에서 사용할 수있는 아래 링크를 사용하여 설정을 다운로드 할 수 있습니다.

https://www.splunk.com/en_us/download/splunk-enterprise.html.

Linux 버전

Linux 버전은 위에 제공된 다운로드 링크에서 다운로드됩니다. Ubuntu 플랫폼에서 설치가 수행되므로 .deb 패키지 유형을 선택합니다.

우리는 단계별 접근 방식으로 이것을 배울 것입니다.

1 단계

아래 스크린 샷과 같이 .deb 패키지를 다운로드하십시오.

2 단계

다운로드 디렉토리로 이동하여 위에서 다운로드 한 패키지를 사용하여 Splunk를 설치합니다.

3 단계

다음으로 accept license 인수와 함께 다음 명령을 사용하여 Splunk를 시작할 수 있습니다. 제공하고 기억해야하는 관리자 사용자 이름과 암호를 묻습니다.

4 단계

Splunk 서버가 시작되고 Splunk 인터페이스에 액세스 할 수있는 URL을 언급합니다.

5 단계

이제 Splunk URL에 액세스하고 3 단계에서 생성 한 관리자 ID와 비밀번호를 입력 할 수 있습니다.

Windows 버전

Windows 버전은 아래 이미지와 같이 msi 설치 프로그램으로 사용할 수 있습니다.

msi 설치 프로그램을 두 번 클릭하면 간단한 프로세스로 Windows 버전이 설치됩니다. 성공적인 설치를 위해 올바른 선택을해야하는 두 가지 중요한 단계는 다음과 같습니다.

1 단계

로컬 시스템에 설치할 때 아래와 같이 로컬 시스템 옵션을 선택하십시오.

2 단계

관리자의 비밀번호를 입력하고 기억하십시오. 이는 향후 구성에서 사용될 것입니다.

3 단계

마지막 단계에서 Splunk가 성공적으로 설치되었으며 웹 브라우저에서 시작할 수 있음을 확인합니다.

4 단계

그런 다음 브라우저를 열고 주어진 URL을 입력하십시오. http://localhost:8000, 관리자 ID 및 암호를 사용하여 Splunk에 로그인합니다.

Splunk 웹 인터페이스는 수집 된 데이터를 검색,보고 및 분석하는 데 필요한 모든 도구로 구성됩니다. 동일한 웹 인터페이스는 사용자 및 해당 역할을 관리하기위한 기능을 제공합니다. 또한 Splunk에서 사용할 수있는 데이터 수집 및 내장 앱에 대한 링크를 제공합니다.

아래 그림은 관리자 자격 증명으로 Splunk에 로그인 한 후의 초기 화면을 보여줍니다.

관리자 링크

관리자 드롭 다운은 관리자의 세부 정보를 설정하고 편집 할 수있는 옵션을 제공합니다. 아래 화면을 사용하여 관리자 이메일 ID와 비밀번호를 재설정 할 수 있습니다.

관리자 링크에서 더 나아가, 로그인 후 랜딩 페이지가 열리는 홈 애플리케이션과 시간대를 설정할 수있는 기본 설정 옵션으로 이동할 수도 있습니다. 현재는 아래와 같이 홈페이지에서 열렸습니다.

설정 링크

Splunk에서 사용할 수있는 모든 핵심 기능을 보여주는 링크입니다. 예를 들어, 검색 링크를 선택하여 검색 파일 및 검색 정의를 추가 할 수 있습니다.

다음 장에서 이러한 링크의 중요한 설정에 대해 설명합니다.

검색 및보고 링크

검색 및보고 링크는 이러한 검색에 대해 생성 된 보고서 및 경고를 검색하는 데 사용할 수있는 데이터 세트를 찾을 수있는 기능으로 이동합니다. 아래 스크린 샷에 명확하게 나와 있습니다.

Splunk의 데이터 수집은 Add Data검색 및보고 앱의 일부인 기능입니다. 로그인하면 Splunk 인터페이스 홈 화면에Add Data 아이콘을 클릭합니다.

이 버튼을 클릭하면 분석을 위해 Splunk에 푸시 할 데이터의 소스와 형식을 선택하는 화면이 표시됩니다.

데이터 수집

Splunk의 공식 웹 사이트에서 분석 용 데이터를 얻을 수 있습니다. 이 파일을 저장하고 로컬 드라이브에 압축을 풉니 다. 폴더를 열면 형식이 다른 세 개의 파일을 찾을 수 있습니다. 일부 웹 앱에서 생성 된 로그 데이터입니다. 공식 Splunk 웹 페이지에서 사용할 수있는 Splunk에서 제공하는 또 다른 데이터 세트를 수집 할 수도 있습니다.

Splunk의 다양한 기능 작동을 이해하기 위해이 두 세트의 데이터를 사용합니다.

데이터 업로드

다음으로 파일을 선택하고 secure.log 폴더에서 mailsv이전 단락에서 언급했듯이 로컬 시스템에 보관했습니다. 파일을 선택한 후 오른쪽 상단 모서리에있는 녹색 다음 버튼을 사용하여 다음 단계로 이동합니다.

소스 유형 선택

Splunk에는 수집되는 데이터 유형을 감지하는 내장 기능이 있습니다. 또한 사용자에게 Splunk에서 선택한 것과 다른 데이터 유형을 선택할 수있는 옵션을 제공합니다. 소스 유형 드롭 다운을 클릭하면 Splunk가 수집하고 검색을 위해 활성화 할 수있는 다양한 데이터 유형을 볼 수 있습니다.

아래 주어진 현재 예제에서는 기본 소스 유형을 선택합니다.

입력 설정

이 데이터 수집 단계에서는 데이터가 수집되는 호스트 이름을 구성합니다. 다음은 호스트 이름에 대해 선택할 수있는 옵션입니다.

상수 값

소스 데이터가있는 완전한 호스트 이름입니다.

경로의 정규식

정규식으로 호스트 이름을 추출하려는 경우. 그런 다음 정규식 필드에 추출하려는 호스트의 정규식을 입력하십시오.

경로의 세그먼트

데이터 소스 경로의 세그먼트에서 호스트 이름을 추출하려면 세그먼트 번호 필드에 세그먼트 번호를 입력하십시오. 예를 들어 소스 경로가 / var / log /이고 세 번째 세그먼트 (호스트 서버 이름)를 호스트 값으로 지정하려면 "3"을 입력합니다.

다음으로 검색을 위해 입력 데이터에 생성 할 인덱스 유형을 선택합니다. 기본 인덱스 전략을 선택합니다. 요약 인덱스는 집계를 통해 데이터의 요약 만 생성하고 여기에 인덱스를 생성하고 히스토리 인덱스는 검색 기록을 저장하기위한 것입니다. 아래 이미지에 명확하게 묘사되어 있습니다.

설정 검토

다음 버튼을 클릭하면 선택한 설정에 대한 요약이 표시됩니다. 이를 검토하고 다음을 선택하여 데이터 업로드를 완료합니다.

로드가 완료되면 성공적인 데이터 수집과 데이터에 대해 취할 수있는 추가 조치를 보여주는 아래 화면이 나타납니다.

Splunk로 들어오는 모든 데이터는 먼저 내장 된 데이터 처리 장치에 의해 판단되고 특정 데이터 유형 및 범주로 분류됩니다. 예를 들어 Apache 웹 서버의 로그인 경우 Splunk는이를 인식하고 읽은 데이터에서 적절한 필드를 생성 할 수 있습니다.

Splunk의이 기능을 소스 유형 감지라고하며이를 달성하기 위해 "사전 학습 된"소스 유형으로 알려진 내장 소스 유형을 사용합니다.

이렇게하면 사용자가 데이터를 수동으로 분류하고 들어오는 데이터의 필드에 데이터 유형을 할당 할 필요가 없기 때문에 분석이 더 쉬워집니다.

지원되는 소스 유형

Splunk에서 지원되는 소스 유형은 다음을 통해 파일을 업로드하여 확인할 수 있습니다. Add Data기능을 선택한 다음 소스 유형 드롭 다운을 선택합니다. 아래 이미지에서 CSV 파일을 업로드 한 다음 사용 가능한 모든 옵션을 확인했습니다.

출처 유형 하위 범주

이러한 범주에서도 지원되는 모든 하위 범주를 보려면 추가로 클릭 할 수 있습니다. 따라서 데이터베이스 범주를 선택하면 Splunk가 인식 할 수있는 다양한 유형의 데이터베이스와 지원되는 파일을 찾을 수 있습니다.

사전 훈련 된 소스 유형

아래 표에는 Splunk가 인식하는 중요한 사전 훈련 된 소스 유형이 나열되어 있습니다.

소스 유형 이름 자연
access_combined NCSA 결합 형식 http 웹 서버 로그 (Apache 또는 기타 웹 서버에서 생성 가능)
access_combined_wcookie NCSA 결합 형식 http 웹 서버 로그 (Apache 또는 기타 웹 서버에서 생성 가능), 끝에 쿠키 필드 추가
apache_error 표준 Apache 웹 서버 오류 로그
linux_messages_syslog 표준 Linux syslog (대부분의 플랫폼에서 / var / log / messages)
log4j log4j를 사용하여 J2EE 서버에서 생성 된 Log4j 표준 출력
mysqld_error 표준 mysql 오류 로그

Splunk에는 수집 된 전체 데이터 세트를 검색 할 수있는 강력한 검색 기능이 있습니다. 이 기능은 다음과 같은 앱을 통해 액세스됩니다.Search & Reporting 웹 인터페이스에 로그인 한 후 왼쪽 사이드 바에서 볼 수 있습니다.

클릭하면 search & Reporting 이전 장에서 업로드 한 로그 데이터에 대한 검색을 시작할 수있는 검색 상자가 표시됩니다.

아래에 표시된 형식으로 호스트 이름을 입력하고 가장 오른쪽 모서리에있는 검색 아이콘을 클릭합니다. 이것은 우리에게 검색어를 강조하는 결과를 제공합니다.

검색어 결합

검색에 사용되는 용어를 하나씩 작성하되 사용자 검색 문자열을 큰 따옴표로 묶어 결합 할 수 있습니다.

와일드 카드 사용

검색 옵션에 와일드 카드를 사용할 수 있습니다. AND/OR연산자. 아래 검색에서 로그 파일에 실패, 실패, 실패 등의 용어와 같은 줄에 암호라는 용어가 포함 된 결과가 표시됩니다.

검색 결과 구체화

문자열을 선택하고 검색에 추가하여 검색 결과를 더 세분화 할 수 있습니다. 아래 예에서는 문자열을 클릭합니다.3351 옵션을 선택하십시오 Add to Search.

3351검색 용어에 추가되면 3351이 포함 된 로그의 행만 표시되는 아래 결과가 표시됩니다. 또한 검색을 개선함에 따라 검색 결과의 타임 라인이 어떻게 변경되었는지 표시하십시오.

Splunk는 업로드 된 머신 데이터를 읽을 때 데이터를 해석하고 전체 데이터 레코드에 대한 단일 논리적 사실을 나타내는 여러 필드로 나눕니다.

예를 들어, 정보의 단일 기록에는 서버 이름, 이벤트의 타임 스탬프, 로그인 시도 또는 http 응답에 관계없이 기록되는 이벤트 유형 등이 포함될 수 있습니다. 구조화되지 않은 데이터의 경우에도 Splunk는 필드를 키 값으로 나누려고합니다. 데이터 유형, 숫자 및 문자열 등을 기반으로 쌍을 이루거나 구분하십시오.

이전 장에서 업로드 한 데이터를 계속해서 살펴보면 secure.log필드 표시 링크를 클릭하면 다음 화면이 열립니다. 이 로그 파일에서 Splunk가 생성 한 필드를 확인할 수 있습니다.

필드 선택

모든 필드 목록에서 필드를 선택하거나 선택 취소하여 표시 할 필드를 선택할 수 있습니다. 클릭all fields모든 필드 목록을 보여주는 창이 열립니다. 이러한 필드 중 일부에는 이미 선택되었음을 나타내는 체크 표시가 있습니다. 확인란을 사용하여 표시 할 필드를 선택할 수 있습니다.

필드 이름 외에도 필드에있는 고유 값의 수, 데이터 유형 및이 필드가있는 이벤트 비율이 표시됩니다.

필드 요약

필드 이름을 클릭하면 선택한 모든 필드에 대한 매우 자세한 통계를 볼 수 있습니다. 필드, 개수 및 백분율에 대한 모든 고유 값을 표시합니다.

검색에서 필드 사용

필드 이름을 검색에 대한 특정 값과 함께 검색 상자에 삽입 할 수도 있습니다. 아래 예에서는 이름이 지정된 호스트에 대해 10 월 15 일 날짜에 대한 모든 레코드를 찾는 것을 목표로합니다.mailsecure_log. 이 특정 날짜에 대한 결과를 얻습니다.

Splunk 웹 인터페이스는 일정 기간 동안의 이벤트 분포를 나타내는 타임 라인을 표시합니다. 특정 시간 범위를 선택하거나 필요에 따라 시간 범위를 사용자 정의 할 수있는 미리 설정된 시간 간격이 있습니다.

아래 화면은 미리 설정된 다양한 타임 라인 옵션을 보여줍니다. 이러한 옵션 중 하나를 선택하면 사용 가능한 사용자 지정 타임 라인 옵션을 사용하여 추가로 분석 할 수도있는 특정 기간 동안 만 데이터를 가져옵니다.

예를 들어, 이전 달 옵션을 선택하면 아래 타임 라인 그래프의 스프레드에서 볼 수 있듯이 이전 달에 대한 결과 만 제공됩니다.

시간 하위 집합 선택

타임 라인의 막대를 클릭하고 드래그하여 이미 존재하는 결과의 하위 집합을 선택할 수 있습니다. 이로 인해 쿼리가 다시 실행되지는 않습니다. 기존 결과 집합의 레코드 만 필터링합니다.

아래 이미지는 결과 집합에서 하위 집합을 선택하는 것을 보여줍니다.

초기 및 최신

검색 창에서 두 개의 명령어 (최초 및 최신)를 사용하여 결과를 필터링하는 시간 범위를 나타낼 수 있습니다. 시간 하위 집합을 선택하는 것과 비슷하지만 특정 시간 표시 줄을 클릭하는 옵션이 아니라 명령을 통해 수행됩니다. 따라서 분석을 위해 선택할 수있는 데이터 범위를보다 세밀하게 제어 할 수 있습니다.

위의 이미지에서는 지난 7 일에서 지난 15 일 사이의 시간 범위를 제공합니다. 따라서이 2 일 사이의 데이터가 표시됩니다.

주변 이벤트

이벤트가 필터링되기를 원하는 정도를 언급하여 특정 시간의 주변 이벤트를 찾을 수도 있습니다. 초, 분, 일, 주 등과 같은 간격의 척도를 선택할 수 있습니다.

검색 쿼리를 실행하면 결과가 Splunk 서버에 작업으로 저장됩니다. 이 작업은 특정 사용자에 의해 생성되었지만 다른 사용자와 공유 할 수 있으므로 쿼리를 다시 작성할 필요없이이 결과 집합을 사용할 수 있습니다. 결과는 Splunk를 사용하지 않는 사용자와 공유 할 수있는 파일로 내보내고 저장할 수도 있습니다.

검색 결과 공유

쿼리가 성공적으로 실행되면 웹 페이지의 오른쪽 가운데에 작은 위쪽 화살표가 표시됩니다. 이 아이콘을 클릭하면 쿼리와 결과에 액세스 할 수있는 URL이 제공됩니다. 이 링크를 사용할 사용자에게 권한을 부여해야합니다. 권한은 Splunk 관리 인터페이스를 통해 부여됩니다.

저장된 결과 찾기

적절한 권한을 가진 모든 사용자가 사용하도록 저장된 작업은 Splunk 인터페이스의 오른쪽 상단 표시 줄에있는 활동 메뉴 아래의 작업 링크를 찾아서 찾을 수 있습니다. 아래 이미지에서 작업이라는 강조 표시된 링크를 클릭하여 저장된 작업을 찾습니다.

위 링크를 클릭하면 아래와 같이 저장된 모든 작업 목록이 표시됩니다. 그는 저장된 작업이 Splunk에서 자동으로 제거되는 만료 날짜 게시물이 있다는 점에 유의해야합니다. 작업을 선택하고 선택한 편집을 클릭 한 다음 만료 연장을 선택하여이 날짜를 조정할 수 있습니다.

검색 결과 내보내기

검색 결과를 파일로 내보낼 수도 있습니다. 내보내기에 사용할 수있는 세 가지 형식은 CSV, XML 및 JSON입니다. 형식을 선택한 후 내보내기 버튼을 클릭하면 로컬 브라우저에서 로컬 시스템으로 파일을 다운로드합니다. 이것은 아래 이미지에 설명되어 있습니다.

Splunk 검색 처리 언어 (SPL)는 데이터 세트에서 원하는 결과를 얻기 위해 작성된 많은 명령, 함수, 인수 등을 포함하는 언어입니다. 예를 들어, 검색어에 대한 결과 집합을 가져 오는 경우 결과 집합에서 더 구체적인 용어를 필터링 할 수 있습니다. 이를 위해 기존 명령에 몇 가지 추가 명령을 추가해야합니다. 이것은 SPL의 사용법을 학습함으로써 달성됩니다.

SPL의 구성 요소

SPL에는 다음과 같은 구성 요소가 있습니다.

  • Search Terms − 찾고있는 키워드 또는 문구입니다.

  • Commands − 결과 형식을 지정하거나 개수를 세는 것과 같이 결과 집합에 대해 수행하려는 작업.

  • Functions− 결과에 적용 할 계산은 무엇입니까? 합계, 평균 등

  • Clauses − 결과 집합에서 필드를 그룹화하거나 이름을 바꾸는 방법.

아래 섹션의 이미지를 사용하여 모든 구성 요소에 대해 논의하겠습니다.

검색어

검색 기준을 충족하는 데이터 세트에서 특정 레코드를 가져 오기 위해 검색 창에서 언급하는 용어입니다. 아래 예에서는 두 개의 강조 표시된 용어가 포함 된 레코드를 검색합니다.

명령

SPL이 제공하는 많은 내장 명령을 사용하여 결과 세트의 데이터 분석 프로세스를 단순화 할 수 있습니다. 아래 예에서는 head 명령을 사용하여 검색 작업에서 상위 3 개의 결과 만 필터링합니다.

기능

Splunk는 명령과 함께 분석중인 필드에서 입력을 받아 해당 필드에 계산을 적용한 후 출력을 제공 할 수있는 많은 내장 함수도 제공합니다. 아래 예에서 우리는Stats avg() 입력으로 사용되는 숫자 필드의 평균 값을 계산하는 함수입니다.

조항

특정 필드별로 그룹화 된 결과를 얻거나 출력에서 ​​필드 이름을 바꾸고 싶을 때 group by절과 as 절이 각각 있습니다. 아래 예제에서 우리는 각 파일의 평균 바이트 크기를 얻습니다.web_application로그. 보시다시피 결과에는 각 파일의 이름과 각 파일의 평균 바이트가 표시됩니다.