Splunk 설치 및 기본 기능 – 로그 분석과 실시간 모니터링의 시작 / 데이터보안

Splunk 설치 및 기본 기능

빅데이터 시대, 수많은 시스템과 애플리케이션에서 쏟아지는 머신 데이터(Machine Data)를 어떻게 관리하고 분석하고 계신가요? Splunk(스플렁크)는 이러한 머신 데이터를 실시간으로 수집, 검색, 분석, 시각화하여 IT 운영, 보안, 비즈니스 분석 등 다양한 영역에서 강력한 인사이트를 제공하는 플랫폼입니다.

Splunk란 무엇인가?

Splunk는 서버, 네트워크 장비, 애플리케이션 등 모든 IT 인프라에서 생성되는 로그(Log) 및 기타 머신 데이터를 한 곳으로 모아 실시간으로 처리하고 분석하는 플랫폼입니다. 단순히 로그를 저장하는 것을 넘어, 강력한 검색 언어(SPL, Search Processing Language)를 통해 원하는 데이터를 빠르게 찾고, 다양한 시각화 도구를 이용해 대시보드를 구축하여 직관적인 모니터링과 분석을 가능하게 합니다.

왜 splunk를 사용할까?

실시간 데이터 분석: 문제 발생 시 즉각적인 원인 파악 및 대응 가능
강력한 검색 및 분석: SPL을 통한 유연하고 깊이 있는 데이터 탐색
뛰어난 확장성: 소규모 환경부터 대규모 엔터프라이즈 환경까지 지원
다양한 앱과 연동: 보안, IT 운영, 비즈니스 분석 등 특정 목적에 맞는 기능 확장

Splunk 설치하기

Splunk는 60일 무료 평가판을 제공하여 누구나 쉽게 경험해 볼 수 있습니다. (사용하시는 운영체제에 따라 세부 단계는 다를 수 있습니다.) – 호환 운영체제

Splunk 시스템 요구사항

search head 최소 요구사항

  • An x86 64-bit chip architecture.
  • 16 physical CPU cores, or 32 vCPU at 2 GHz or greater speed per core.
  • 12 GB RAM.
  • For storage, see What storage type should I use for a role?
  • A 1 Gb Ethernet NIC, optional second NIC for a management network.
  • A 64-bit Linux or Windows distribution. See Supported Operating Systems in the Installation Manual.

Splunk 다운로드

공식 홈페이지에 접속하여 회원 가입 후 원하는 버전운영 체제에 맞게, 원하는 설치 방식으로 설치 파일을 다운 받습니다. 아래 명령어는 달라질 수 있으니 안되면 홈페이지에서 설치하시면 됩니다. (splunk 9.4.1버전 / rocky9 / tgz 방식으로 진행합니다. 이번 예는 opt 밑에서 진행합니다.)

cd /opt
wget -O splunk-9.4.1-e3bdab203ac8-linux-amd64.tgz "https://download.splunk.com/products/splunk/releases/9.4.1/linux/splunk-9.4.1-e3bdab203ac8-linux-amd64.tgz"

Splunk 설치

다운로드한 파일의 압축을 풉니다.

설치
tar xvzf splunk-9.4.1-e3bdab203ac8-linux-amd64.tgz

Splunk 실행

압축을 풀고 나면 splunk 폴더가 생깁니다.

splunk 실행

/opt/splunk/bin/splunk start --accept-license

admin 계정 생성

set admin

splunk 접속

웹브라우저를 열고 주소창에 http://localhost:8000 또는 http://<서버 IP>:8000을 입력합니다.

splunk 기본 웹포트는 8000입니다. 만약 이미 사용하고 있는 포트라면 설치 과정에서 변경하게 됩니다.

splunk login

설치하면서 만들었던 admin 계정으로 접속하면 설치 완료!

Splunk 기본 기능

데이터 추가 (Data Input)

splunk는 데이터 분석 플랫폼으로 데이터 수집 과정이 필요합니다. splunk는 데이터를 기본적으로 3가지 방법으로 수집합니다.

  • 파일 및 디렉터리 모니터링 :특정 파일이나 디렉터리를 지정하여 변경 사항을 실시간으로 수집합니다.
  • syslog : 네트워크를 통해 전송되는 데이터를 수신합니다.
  • hec (http event collect) : HTTP 또는 HTTPS 프로토콜을 사용하며, 토큰 기반 인증을 통해 안전하게 데이터를 전송할 수 있습니다.

설정 -> 데이터 입력에 보시면 각각의 방법을 확인하실 수 있습니다.

splunk data input

인덱스(index) 와 소스타입(sourcetype)

데이터를 수집하기 전에 인덱스를 생성해줘야 합니다. 인덱스는 splunk에서 데이터를 저장하는 논리적인 저장 공간입니다. 저장 공간이 없이는 수집을 해도 데이터가 저장되지 않습니다. 설정 -> 인덱스 -> 인덱스 추가 -> 인덱스 명 지정 후 저장 (“해당 데이터를 web_log 인덱스에 저장할게요”)

sourcetype은 데이터의 형식을 지정합니다. sourcetype 명을 지정하고 해당 sourcetype에 데이터 형식을 지정해줄 수 있습니다. (csv, tsv, json 등) 예를들어 sourcetype “abc”로 만들고 “abc” sourcetype의 데이터 형식을 csv로 지정하면 sourcetype이 “abc”인 데이터는 “이 데이터는 csv 데이터 형태구나!” 라고 이해하고 데이터를 관리합니다. 처음에는 소스타입 명만 지정하고 나중에 형태를 수정해서 관리할 수 있습니다. (데이터를 수집할 때 생성 가능합니다.)
이 부분이 splunk의 가장 큰 특징중 하나인 Schema on the fly 개념과 연결됩니다.

데이터 검색 (search & reporting)

Splunk의 심장과 같은 기능입니다. 검색 및 보고 앱에서 SPL(Search Processing Language)을 사용하여 데이터를 검색하고 분석합니다.

splunk web 왼쪽 위 -> 앱 -> search & reporting

splunk searchreporting
  • 기본 검색 : index=main sourcetype=access_combined" status=404 처럼 인덱스, 소스타입, 특정 필드 값을 지정하여 검색합니다.
  • 파이프 라인 (|) : | 를 이용해서 추가 명령어를 입력해 데이터를 분석하게 됩니다.

spl은 굉장히 직관적입니다. it 를 조금 안다면 금방 익숙하게 사용하실 수 있습니다.

대시보드 및 시각화

검색 결과를 시각화하고 대시보드로 만들어 한눈에 파악할 수 있습니다.

  • 검색 결과 시각화: 검색 결과 페이지에서 ‘시각화’ 탭을 클릭하여 다양한 차트(막대, 선, 파이, 게이지 등)로 변환할 수 있습니다.
  • 대시보드 생성: ‘대시보드’ 메뉴에서 ‘새 대시보드 만들기’를 클릭합니다.
  • 패널 추가: 생성된 대시보드에 검색 결과를 바탕으로 한 시각화(패널)를 추가합니다.

대시보드를 통해 실시간으로 시스템 상태를 모니터링하고, 중요한 지표를 추적하며, 보고서를 공유할 수 있습니다.

마치며

지금까지 Splunk의 설치 방법과 기본적인 기능에 대해 알아보았습니다. Splunk는 로그 분석, 실시간 모니터링, 보안 위협 탐지, 비즈니스 분석 등 여러가지로 활용할 수 있는 데이터 플랫폼입니다. 오늘 배운 내용을 바탕으로 직접 Splunk를 설치하고 데이터를 넣어보며 다양한 기능을 탐색해 보세요. 다음번엔 tutorial 데이터를 수집해 직접 검색해보겠습니다.

아무도 알려주지 않는 splunk 기본 지식