본문 바로가기

BigData/Splunk

[Splunk] Splunk 설치 및 환경설정!! - Splunk A to Z 설치 정복 4

반응형

9. Universal Frowarder 설치하기

설치 전 체크사항

설치 계정 생성 (splunk 계정)

  • Window : adminstrator 그룹에 포함되어 있어야 함
  • Linux : splunk 계정은 특별한 설정이 필요 없음.
  • splunk enable boot-start 명렁어를 실행하기 위해서는 root 계정이 필요함.

포트오픈

  • 기본적으로8089, 9997 포트 오픈이 필요함.
  • 스플렁크 인스턴스 개수 및 input설정에 따라 포트 설정 내용 변경

백신 예외처리

  • Windows 경우 필수권고사항
  • 목적 : Virus 검사 시 리소스 점유 가능성 제거 
  • 예외대상 : C:\SplunkUniversalForwarder와 그 하부 디렉토리들
  • 예외대상 프로세스
    • splunk-admon.exe
    • splunk-MonitorNoHandle.exe
    • splunk-netmon.exe
    • splunk-optimize-lex.exe
    • splunk-optimize.exe
    • splunk-perfmon.exe
    • splunk-regmon.exe
    • splunk-winevtlog.exe
    • splunk-winhostinfo.exe
    • splunk-wmi.exe
    • splunk.exe
    • splunkd.exe 

데이터 기본 전송 속도 체크

  • 기본 256Kbps
  • 변경 시 limit.conf 파일에서 설정 변경 가능

[thruput]

maxKBps = 256

 

Windows 서버에 설치

 설치파일 실행
설치 디렉토리 지정
SSL 설정 (SSL 관련 사항이 없으면 무시)
Local System 설정 후 Next      
Windows 성능 데이터 수집 항목 설정
Deployment 서버 IP 와 포트 지정 (default : 8089)
Indexer 서버(수집서버)의 IP와 포트 지정 (default : 9997)
OK 버튼 클릭 시 설치 자동 진행

Unix/Linux 서버에 설치

  1. Universal Forwarder 설치파일 다운로드
  2. OS에 맞는 Universal Forwarder 설치 파일을 다운로드 함.
  3. 해당 OS에 맞는 최신버전이 없으면 이전버전 설치파일 리스트에서 다운로드 함..
  4. 예를 들어 HPUX 6.2.2 버전을 보면 splunkforwarder-6.2.2-255606-HPUX-ia64.tgz 하나만 있지만 HPUX PA-RISC 계열에서는 칩셋이 맞지 않아 실행이 되지 않는다. HPUX PA-RISC 계열의 6.1.7 버전 설치파일을 다운받아서 설치할 필요가 있음.
  5. 다운로드 받은 파일의 압축만 해제하여 설치를 완료한다.

압축 명령어는 아래와 같이 실행하지만 특정장비(ex : HP)에서 z 옵션이 실행되지 않음.

: tar xvzf xxxx.tgz

 

- z 옵션이 실행 안 될 경우 gziptar로 두번 압축 해제을 실행 함..

: gzip –d xxxx.tgz

: tar xvf xxxx

 

Universal Forwarder conf 파일 설정 (window 서버일 경우도 동일하게 설정)

 

outputs.conf


[tcpout]

IndexAndForward = false

defaultGroup = <target_group>

 

[tcpout:<target_group>]

Server=<receiving_server1:port>,<receiving_server2:port>,…

autoLB = true

disabled = false


deploymentclient.conf


[deployment-client]

 

[target-broker:<deploy_name>]

targetUri = <deploymentserver_IP:8089>


<deploy_name>정보는 servercalass에 설정되는 명칭으로 각 client 마다 다른 명칭으로 설정해야 함.

 

Universal Forwarder Script 설치

  • Windows 계열 설치 script

아래와 같이 install-splunkforwarder.bat 파일 작성

##################################################################################

rem "install-splunkforwarder.bat" 파일을 설치 합니다.

if "%programfiles(x86)%XXX"=="XXX" goto 32BIT

echo 64-bit Windows installed

 

splunkforwarder-6.2.2-255606-x64-release.msi INSTALLDIR="c:\SplunkUniversalForwarder" AGREETOLICENSE=Yes MIGRATESPLUNK=0 RECEIVING_INDEXER="192.168.174.141:9997,192.168.174.141:9998,192.168.174.141:9999" DEPLOYMENT_SERVER="192.168.174.140:8089" WINEVENTLOG_APP_ENABLE=0 WINEVENTLOG_SYS_ENABLE=0 SERVICESTARTTYPE=auto LAUNCHSPLUNK=1 /quiet

 

goto AFTER

 

:32BIT

echo 32-bit Windows installed

 

splunkforwarder-6.2.2-255606-x86-release INSTALLDIR="c:\SplunkUniversalForwarder" AGREETOLICENSE=Yes MIGRATESPLUNK=0 RECEIVING_INDEXER="192.168.174.141:9997,192.168.174.141:9998,192.168.174.141:9999" DEPLOYMENT_SERVER="192.168.174.140:8089" WINEVENTLOG_APP_ENABLE=0 WINEVENTLOG_SYS_ENABLE=0 SERVICESTARTTYPE=auto LAUNCHSPLUNK=1 /quiet

 

:AFTER

echo Finished.

##################################################################################

 

  • 설치 시 필요한 파일
    • install-splunkforwarder.bat
    • splunkforwarder-6.x.x-255606-x64-release.msi
    • splunkforwarder-6.x.x-255606-x86-release.msi
  • 수집대상 서버에서 위 설치파일들이 있는 서버와 네트워크 드라이버가 연결되어 있는 경우 바로 설치스크립트를 실행하여 설치 할 수 있지만 네트워크 드라이버가 설치 안 되어 있는 경우 설치파일들은 수집대상 서버에 복사한 다음 설치 작업을 진행해야 함.
  • 설치 스크립트 작성 시 RECEIVING_INDEXER, DEPLOYMENT_SERVER 설정하는 라인에서 줄 바꿈이 되면 옵션 적용이 되지 않음.
  • 설치 스크립트 작성 시 사용 되는 옵션설명
    • INSTALLDIR="c:\SplunkUniversalForwarder" # 유니버셜포워더 설치 경로 
    • AGREETOLICENSE=Yes  # 라이센스 동의
    • MIGRATESPLUNK=0  #버전 업그레이드 여부
    • RECEIVING_INDEXER="192.168.174.141:9997" # TCP OUT 대상에 대하여 IP 와 TCP 포트 설정
    • DEPLOYMENT_SERVER="192.168.174.140:8089"  # 배포서버 IP 와 TCP 포트 설정
    • WINEVENTLOG_APP_ENABLE=0  #윈도우 이벤트로그 어플리케이션 항목 수집 안 함
    • WINEVENTLOG_SYS_ENABLE=0  #윈도우 이벤트로그 시스템 항목 수집 안 함 (SEC,FWD,SET 도 설정 가능)
    • SERVICESTARTTYPE=auto  #윈도우 서버스 항목의 스플렁크 자동시작/수동/사용안함 구분의 자동시작 설정
    • LAUNCHSPLUNK=1            #설치 완료 후 시작
    • LOGON_USERNAME="아이디"  # 설치 완료 후 사용할 계정명
    • LOGON_PASSWORD="패스워드" # 설치 완료 후 사용할 계정의 비밀번호
    • MONITOR_PATH="PATH" # inputs.conf 에 모니터할 경로와 파일명 설정
  • Linux 계열 설치 script

아래와 같이 install-splunkforwarder.sh 파일 작성

##################################################################################

#!/bin/bash

 

# Make sure only root can run our script

if [ "$(id -u)" != "0" ]; then

   echo "You need to be 'root' dude." 1>&2

   exit 1

fi

 

clear

 

. ./setuprc

 

echo;

echo

 

"###########################################################################################

Splunk install start.

###########################################################################################"

echo;

 

# extract, move

tar xvfz splunkforwarder-6.2.1-245427-Linux-x86_64.gz

mv splunkforwarder /opt/splunk

 

# make on inputs.conf file

echo "

[monitor:///var/log/afile.log]

disabled = false

followTail = 0

sourcetype = afile

 

[monitor:///var/log/bfile.log]

disabled = false

followTail = 0

sourcetype = bfile

" >> /opt/splunk/etc/system/local/inputs.conf

  

# make on props.conf file

echo "

[afile]

CHARSET = UTF-8

LINE_BREAKER_LOOKBEHIND = 100

TRUNCATE = 10000

REPORT-atcp = afilefields

 

[bfile]

CHARSET = UTF-8

LINE_BREAKER_LOOKBEHIND = 100

TRUNCATE = 10000

" >> /opt/splunk/etc/system/local/props.conf

 

# make on transforms.conf file

echo "

[afilefields]

DELIMS =

FIELDS = a,b,c,d,e,f,g

 

[bfilefields]

DELIMS =

FIELDS = aa,bb,cc,dd,ee,ff,gg

" >> /opt/splunk/etc/system/local/transforms.conf

 

# make on outputs.conf file

echo "

[tcpout]

indexAndForward = false

defaultGroup = lbf01

 

[tcpout:lbf01]

autoLB = true

disalbed = false

server= 1.1.1.1:9997,1.1.1.1:9998,1.1.1.1:9999

" >> /opt/splunk/etc/system/local/outputs.conf

 

# make on deployments.conf file

echo "

[deployment-client]

 

[target-broker:name]

targetUri = 1.1.1.2:8089

" >> /opt/splunk/etc/system/local/deployments.conf

 

# Auto start Splunk on boot

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

 

# start splunk

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

 

echo;

echo "##########################################################################################"

echo;

echo "Splunk setup complete."

echo;

echo "##########################################################################################"

echo;

 

################################################################################## 

반응형