Step 4. Splunk Forwarder Deployment 구성해보기

Munang·2024년 1월 2일
0

splunk

목록 보기
36/57


여러 Forwarder를 운영한다고 할 때, 각 포워더가 하나의 인덱서를 바라본다고 한다면 우리는 매번 포워더에 접속해서 변경사항을 반영해야 할 것 이다. 여간 불편한 것이 아니다. 이때 필요한 것이 Deployment 서버이다.

하나의 배포 서버에 복사본을 만들고, 이것을 나머지 포워더에 배포해주는 방식이다.

참고로 포워더 Deployment는 대규모 포워더 그룹을 관리하는 것이지만 인덱서 클러스터 환경에서는 사용하지 못한다.

이번 시간에 수행할 과정은 위의 그림구성이다.

1. Splunk 인스턴스 각각 설치!

1) Splunk Deployment, Splunk HeavyForwarder, Splunk Indexer 설치하기

이 게시글의 Splunk Enterprise 설치를 참고하길 바란다!

2) Splunk Universal Forwarder 설치하기

이 게시글의 Universal Forwarder 설치를 참고하길 바란다!

3) Splunk Window Universal Forwarder 설치하기

  • AWS에서 Window 서버 생성하기: 퀵스타트 메뉴에 윈도우를 클릭, 이름을 지정 한다.

  • 이후 키페어를 생성한다. 다운로드 받아 놓은 후 RDP를 이용해 접속할때 사용되기 때문에 보관해둔다.

  • 이후 보안그룹을 선택한다. 나는 기존에 만들어 둔 보안그룹이 있기 때문에 기존 그룹을 선택했다. 없을 경우, 새롭게 생성한다.
    (새롭게 생성할 경우, 이후에 8889 포트와 8000번 포트를 별도로 Allow로 추가해줘야한다. 인스턴스 정보 > 보안 > 인바운드 규칙 > 보안그룹 클릭 > 인바운드 규칙 편집 을 누르고, 편집해주면 된다.) 나중에 확인했을 때 다음과 같이 인바운드 규칙이 지정되어있으면 된다.

  • 서버 생성을 하고, 서버 연결을 클릭한 후 RDP 연결을 클릭한다. 여기서 암호 가져오기를 클릭한다.

  • 여기에 아까 다운받은 키 파일을 올리고, 암호 해독을 누르면 암호가 해독된다.

  • 그리고 뒤로 돌아간 후, 원격 데스크톱 파일 다운로드를 누르면 ID와 PW를 입력하라는 창이 나오는데 각각 화면에 보이는 ID, PW를 입력하면 된다.

    자세한 접속 방법은 구글링을 검색하면 나와있으니 참고하기 바란다.

  • 윈도우 서버에 접속 후 아래의 페이지에 접속하여 uf를 다운받는다.
    https://www.splunk.com/en_us/download/universal-forwarder/thank-you-universalforwarder.html

    Next> ID, PW(random 패스워드 미선택) > DeploymentServer Skip > 리시버 Skip > Install

  • 설치만 끝낸다.

2. 각 포워더에 Depolyment 서버 설정하기

1) UniversalForwarder 설정하기

  • Deployment 서버 설정(UniversalForwarder 서버에서 진행)
cd $SPLUNK_HOME/splunkforwarder/bin/
./splunk set deploy-poll 18.224.29.181:8089

명령어는 ./splunk set deploy-poll DEP서버:8089 이다. 실행화면은 다음과 같다.

위의 명령어를 실행하고 나면, 다음과 같은 파일이 생성된다.

2) HeavyForwarder 설정하기

  • Deployment 서버 설정(HeavyForwarder 서버에서 진행)
cd $SPLUNK_HOME/splunk/bin/
./splunk set deploy-poll 18.224.29.181:8089

명령어는 ./splunk set deploy-poll DEP서버:8089 이다. 실행화면은 다음과 같다.

3) Window Universal Forwarder 설정하기

deploymentclient.conf 를 만들어서 직접 밀어넣는다. (Window Universal Forwarder 서버에서 진행)
C:\Program Files\SplunkUniversalForwarder\etc\system\local 경로로 이동하여 기존에 있던 conf 파일을 복사해 다음과 같이 내용을 변경한다.

아니면 터미널을 열고 아래처럼 입력해도 된다.

splunk set deploy-poll 18.224.29.181:8089

4) 3개의 FWD Restart

  • 참고: 윈도우 서버 재시작 방법
  • cmd 를 열고 bin 폴더까지 내려가서 다음과 같이 입력한다. splunk restart
  • 나머지 Linux 서버는 bin 폴더 내려가서 ./splunk restart 하면 된다.

3. Deployment 서버로 앱 배포하기

먼저 Deployment 서버에 접속하여 기존에 설정한 포워더 서버가 잘 잡혔는지 확인한다. 정상적으로 연결된 것을 확인했다.
설정>분산환경 관리>포워더 관리

1) Deployment 서버에서 앱 생성하기

앱 생성(디플로이 서버에서 진행)

디플로이먼트 서버는 deployment-apps 하위에서 배포할 앱을 생성해주면 된다.

cd $SPLUNK_HOME/splunk/etc/deployment-apps 
mkdir fwd_to_idx1 
mkdir fwd_to_idx2
mkdir window_app
mkdir linux_app

만들고 웹 상에서 보면 포워더 관리에서 앱 4개가 확인된다.

2) Deployment 서버에서 앱 배포하기

서버 클래스 생성(디플로이 서버에서 진행)

그 다음은 서버 클래스를 생성한다. 서버 클래스는 배포할 앱들과 배포받을 서버를 묶어서 클래스로 만들면 된다.

  • windeployer 생성

    -> 앱 편집을 이용해 다음 앱 2개를 추가한다.

    -> 클라이언트 추가를 이용해 윈도우 포워더를 추가해준다. 이후 저장!


    -> 앱 편집을 눌러서 설치 후 Splunkd 다시 시작을 눌러준다. (2개 앱 모두 체크해준다.)

    이후 윈도우 서버에서 직접 확인하면, 앱이 생성된 것이 보인다.
  • linuxdeployer 생성
    -> 앱 편집을 이용해 다음 앱 2개를 추가한다.

    -> 클라이언트 추가를 이용해 리눅스 포워더를 추가해준다.

    -> 앱 편집을 통해 설치 후 Splunkd 다시 시작 을 체크해준다. (2개 앱 모두 체크해준다.)

4. Deployment 서버로 앱 구성정보 배포하기

1) 앱 구성정보 편집

fwd_to_idx1 수정하기(디플로이 서버에서 진행)

outputs.conf를 수정하여 윈도우 포워더의 수집 인덱스를 지정해준다.
내용은 아래와 같으며 실행 경로는 $SPLUNK_HOME/splunk/etc/deployment-apps/fwd_to_idx1/default이다. 배포 서버이기 때문에 default 경로에 배포한다.

[tcpout]
defaultGroup=receiver

[tcpout:receiver]
server=18.216.101.169:9997

실행한 모습이다. default 폴더는 생성해주면 된다.

fwd_to_idx2 수정하기(디플로이 서버에서 진행)

outputs.conf를 수정하여 리눅스 포워더의 인덱스를 지정해준다.
내용은 아래와 같으며 실행 경로는 $SPLUNK_HOME/splunk/etc/deployment-apps/fwd_to_idx2/default이다. 배포 서버이기 때문에 default 경로에 배포한다.

[tcpout]
defaultGroup=receiver

[tcpout:receiver]
server=18.220.68.228:9997

window_app 수정하기(디플로이 서버에서 진행)

inputs.conf를 지정하여 모니터링 할 파일을 지정해준다.

[WinEventLog:Application]
disabled=0
[WinEventLog:Security]
disabled=0
[WinEventLog:System]
disabled=0

실행한 내용이다.

linux_app구성하기(디플로이 서버에서 진행)

inputs.conf를 지정하여 모니터링 할 파일을 지정해준다.

[monitor:///var/log/]
disabled=false
sourcetype=syslog

실행한 내용이다.

2) 편집한 내용 배포

디플로이 서버 bin 폴더에서 아래의 명령어를 실행해주면 된다.

./splunk reload deploy-server


이후 웹에서 확인하면 수정된 내용이 배포된 것을 볼 수 있다.

  • 윈도우 서버 확인

  • 인덱서 서버 확인
  • 윈도우 인덱서
  • 리눅스 인덱서

정상적으로 확인했다! 끝이다. AWS 서버는 모두 삭제해준다.

0개의 댓글