본문 바로가기
Bigdata/Splunk

Splunk - 윈도우 Universal Forwarder 설치/구성

by 올엠 2022. 4. 6.
반응형

Splunk에는 시스템에서 데이터 수집을 원활하게 도와주는 Universal Forwarder가 존재하는데, Universal Forwarder는 다양한 기능을 내장하고 있다.

이러한 기능은 작게는 서버의 로그를 수집하는 용도부터 Forwarder 기능까지 활용이 가능하다.

그럼 간단히 어떻게 사용할 수 있는지 Universal Forwarder에 대해 알아보자.

 

Reciever 설정하기

Universal Forwarder를 사용하기 위해서는 Splunk에서 데이터 입력을 받을 수 있도록 Receiver를 등록해 두어여 한다.

아래 그림처럼 Splunk로 들어가 설정에서 전달 및 수신을 선택하자.

이후 수신 설정에서 새로 추가를 선택하여 기본 포트인 9997로 Receiver를 만들 수 있다.

만약 전체적인 수신 설정을 보고 싶다면, 왼쪽의 수신 설정 메뉴를 눌려서 현재 상태를 확인할 수 있고,

기존 수신 포트를 삭제하거나, 추가, 변경하는것도 가능하다.

이렇게 수신 포트를 설정했다면, 이제 Universal Forwarder를 수집하고자 하는 시스템에 설치를 진행하도록 하자.

데이터를 받을 수 있는 준비 완료

Universal Forwarder 설치

Universial Forwarder Splunk에서 기본적으로 제공하는 서버의 데이터를 수집할 수 있도록 편의성을 제공하는 도구이다.

이 도구를 이용할 경우 아래와 같은 로그를 수집할 수 있다.

Universal Forwarder는 아래 경로에서 다운로드 가능하다.(로그인 후)

https://www.splunk.com/en_us/download/universal-forwarder.html

 

Universal Forwarder for Remote Data Collection | Splunk

Download Splunk Universal Forwarder for secure remote data collection and data forwarding into Splunk software for indexing and consolidation.

www.splunk.com

wget -O splunkforwarder-8.2.6-a6fe1ee8894b-x64-release.msi "https://download.splunk.com/products/universalforwarder/releases/8.2.6/windows/splunkforwarder-8.2.6-a6fe1ee8894b-x64-release.msi"

 

파일/디렉토리:  Splunk는 기본적으로 파일이 추가나 변경되는 것을 모니터링 해서 해당 파일이 읽을 수 있는 파일인 경우 데이터를 전달한다. 읽을 수 있는 파일은 JSON과 일반 텍스트 형태의 파일이 가능하다. 그리고  JSON과 일반 텍스트 형태의 파일이 Bzip(bz)이나 Gzip(gz)으로 압축된 파일도 지원한다. 

리눅스 버전은 설치후 add monitor를 통해 모니터링 할 log 파일을 설정해 줘야 하지만,

윈도우 버전에서는 앱이 기본적으로 제공되어, 윈도우 시스템에 맞춰서 설치시 아래 옵션을 추가로 제공한다.

 

이외에도 앱을 통해 데이터 수집을 효과적으로 할 수 있도록 구성할 수 있으므로 본인이 환경에 맞는 앱을 확인해서 사전에 앱을 설치해서 관리하는 것도 좋은 방안이라 할 수 있다. 아래는 리눅스 환경 구성용 앱 화면이다.

Linux 로그 설정 앱

이후 계정을 생성하는 화면이 나타나는데 이는 본 시스템의 Splunk Universal forwarder를 추가로 구성할때 사용하는 계정명이다.  Splunk Universal forwarder 설치후 살펴 보면 Small Splunk 처럼 bin/splunk 실행 명령을 이용해서 추가적인 구성을 사용할 수 있다.

이후 Splunk Universal forwarder를 중앙에서 관리할 Depolyment Server를 지정하는데, 이때 만약 별도의 Depolyment Server가 없다면, Splunk 서버를 지정하여도 Depolyment 서버로 활용할 수 있으므로, Splunk 서버를 지정해도 괜찮다.

 

이렇게 지정하고 나면, 데이터를 전달할 곳인 Reciver 서버를 지정하는 화면이 마지막에 나타난다.

Receiver는 앞서 Splunk에서 구성한 Receiver를 지정해 주면, 서버에서 생성된 데이터를 전달할 준비가 완료된다. 

 

Depolyment 서버

앞서 Depolyment 서버를 Universal Forwarder 를 설치할 때  지정할 수 있다.

Depolyment 서버를 지정할 경우 Depolyment 서버에서 Universal Forwarder의 상태와 설치된 앱를 모니터링 할 수 있으므로,  Splunk Universal forwarder를 관리하는 용도로 활용할 수 있다. 

관리 화면은, Splunk의 포워더 관리에서 가능하다.

메뉴에 들어가면 현재 관리되는 클라이언트 수와 오류가 있는 클라이언트를 쉽게 확인이 가능하다.

현재 배포된 App은 실제 SplunkUniversalForwarder\etc\app에서 확인 할 수 있다.

이외에도 Depolyment 서버의 IP를 변경하고자 한다면, SplunkUniversalForwarder\etc\system\local 에서 deploymentclient를 설정해서 구성을 변경할 수 있다.(Linux와 동일)

 

세부적인 배포 상태로그는 index="_internal" host="서버이름"으로 확인이 가능하다.

index="_internal" host="서버이름"

 

로그 수집 추가 구성

Universal forwarder를 운영중에 파일 기반 로그를 추가하고자 한다면, 다음 방법으로 가능하다.

SplunkUniversalForwarder 인스톨 경로로 이동해서 bin에 들어가면, splunk 실행파일이 존재한다.

Linux 기본경로: /opt/SplunkUniversalForwarder/bin
Windows 기본경로: C:\Program Files\SplunkUniversalForwarder/bin 

./splunk add monitor 명령을 이용해서 모니터링 하고자 하는 경로나 파일을 추가할 수 있다.

./splunk add monitor /var/logs

 

댓글0