Bigdata/Splunk

Splunk - HEC 데이터 입력

올엠 2024. 8. 12. 10:47
반응형

 Splunk에서는 다양한 데이터 전송 방법을 제공하는데, 그중 많이 사용되는 HTTP 를 이용한 전송 방법에 대해서 정리해보겠다.

데이터 입력을 위해서는 우선 설정 > 데이터 입력을 실행한다.


이후, 아래와 같이 HTTP Event Collector(이하 HEC)에 새로 추가를 선택하도록 하자.

 

새로 추가를 누르면 총 4단계로 구성이 되는데, 기본적으로 현재 HEC의 이름을 지정해 주면된다. 이외 설정중 인덱서 수신 확인 활성화 체크박스가 있는데, 이벤트가 들어갔을 때 수신 유무를 콜백(회신)해줄것인지를  설정하는 부분이다. 만약에 데이터 입력의 정확성이 중요한 경우 이를 통해서 데이터의 정상 입력 유무를 매 이벤트마다 확인이 가능하다.

기본적으로는 사용하지 않는다.

 

다음을 누르면, 가장 중요한 부분으로 입력 데이터의 구조와 어떤 Index에 저장할 것인지를 설정하여야 한다.

Source type을 자동으로 해도 가능하지만, 가능하면 입력 데이터 구조에 맞춰서 설정하는 것이 입력된 데이터가 누락이 되지 않기 때문에 선택하는 것을 권장한다.

그리고 입력된 데이터가 어느 인덱스에 저장할 지에 대한 부분도 인덱스를 구성해서 설정할 수 있다.

만약 입력 데이터가 새로운 구조이라면, 인덱스를 새로 만들어 인덱스 별로 구분을 하는 것이 좋다.

 

이렇게 구성을 마무리 하면 검토를 통해 HEC가 만들어 진다.

완료 시점에 보이는 토큰을 이용해서 이 HEC를 사용할 수 있다.


포트가 정상적으로 리스닝 중인지 netstat 명령을 이용해서 확인해 보도록 하자. 아래와 같이 포트가 오픈되어 있다면 사용이 가능한 상태이다.


그리고 HEC를 열어서 현재 HEC가 사용 가능한 상태인지 확인해야 한다.

만약 사용 불가능으로 나타나면, 전역 설정을 열어서 사용으로 변경하기 바란다.

사용 설정시 SSL을 체크하면 https로 접근해야 한다는 점도 기억하자.

 

이제 정상적으로 사용이 가능한지 curl을 이용해서 데이터를 입력해보자.

curl https://192.168.203.128:8088/services/collector/event --request POST --header "Authorization: Splunk b558f57b-dfb3-4daa-8580-86c34e9c3a94" --data '{"event": "hello splunk"}' -k

전송 이후 아래와 같이 전달이 완료되었는지 확인할 수 있다.



 

 

 

 

반응형