Splunk 소개

Splunk 소개와 설치 운영 개요입니다. indexer/search head/forwarder, Linux 설치 방식, systemd 관리, 데이터 입력, 검색 예시와 운영 설계를 정리했습니다.

Splunk는 로그와 이벤트 데이터를 수집, 색인, 검색, 대시보드, 알림으로 연결하는 플랫폼입니다. 서버 로그를 단순히 모으는 것에서 끝나지 않고, index, sourcetype, field extraction, search, alert, dashboard 설계가 함께 필요합니다.

기본 구성

  • Indexer: 수집된 데이터를 저장하고 검색 가능한 형태로 색인합니다.
  • Search Head: 사용자가 검색과 대시보드를 실행하는 계층입니다.
  • Universal Forwarder: 서버에서 로그를 읽어 Splunk로 전달하는 경량 에이전트입니다.
  • Deployment Server: forwarder 설정을 중앙에서 배포할 때 사용합니다.
  • Heavy Forwarder: 수집 전 parsing, routing, filtering이 필요한 경우 사용합니다.

Linux 설치 방식

Splunk Enterprise는 Linux에서 RPM, DEB, tar 파일 방식으로 설치할 수 있습니다. 운영에서는 배포판 패키지 방식과 systemd 등록을 우선 검토합니다.

# 패키지 파일명은 다운로드한 실제 파일명으로 교체
sudo rpm -i splunk_package_name.rpm
sudo dpkg -i splunk_package_name.deb

설치 파일은 Splunk 계정으로 받은 공식 패키지를 사용하고, 패키지 파일과 checksum을 보관합니다.

시작과 상태 확인

sudo /opt/splunk/bin/splunk start --accept-license
sudo /opt/splunk/bin/splunk status
sudo /opt/splunk/bin/splunk enable boot-start -systemd-managed 1
systemctl status Splunkd --no-pager 2>/dev/null

운영에서는 수동 실행보다 systemd service로 관리하는 편이 재부팅, 장애 확인, 로그 추적에 유리합니다.

데이터 입력 추가

sudo /opt/splunk/bin/splunk add monitor /var/log/messages -index os -sourcetype linux_messages
sudo /opt/splunk/bin/splunk list monitor

수집 경로를 무작정 넓게 잡으면 license 사용량과 저장공간이 급증합니다. 먼저 어떤 로그가 필요한지, sourcetype과 index를 어떻게 나눌지 정합니다.

기본 검색 예시

index=os sourcetype=linux_messages error
index=os host=web01 earliest=-1h
index=os sourcetype=linux_messages | stats count by host
index=os "Failed password" | stats count by src_ip

검색은 처음부터 복잡하게 만들기보다 index, sourcetype, host, time range를 정확히 좁히는 습관이 중요합니다.

운영 설계 기준

  • index는 보관 기간, 권한, license 사용량 기준으로 나눕니다.
  • sourcetype은 parsing과 field extraction 품질을 좌우합니다.
  • forwarder 설정은 앱 단위로 관리하고 변경 이력을 남깁니다.
  • 검색 성능을 위해 time range와 index scope를 좁힙니다.
  • 민감 로그는 마스킹, 접근 권한, 보관 기간을 별도로 정합니다.

점검 명령

/opt/splunk/bin/splunk status
/opt/splunk/bin/splunk list monitor
/opt/splunk/bin/splunk btool inputs list --debug
tail -n 100 /opt/splunk/var/log/splunk/splunkd.log
du -sh /opt/splunk/var/lib/splunk/*

공식 문서

BGM EVER