Splunk/Splunk Python SDK
[Splunk] Splunk Python SDK 로 Splunk Enterprise 에 연결하기
코딩하는라민
2025. 4. 29. 08:30
728x90
반응형
BIG
[Splunk] Splunk Python SDK 로 Splunk Enterprise 에 연결하기
Splunk python SDK 로 Splunk 에 연결하려면 우선 연결에 필요한 인증 정보가 필요하다.
인증 정보는 `세션 키`, `토큰` 또는 `사용자명/비밀번호` 중 하나가 필요하다.
Splunk 와 연결하기
사용자명(username)/비밀번호(password)로 연결
가장 간단한 방법으로 Splunk 를 설치했던 username 과 password 로 로그인하는 방법이다. 간단한 테스트를 할 때 주로 사용한다.
import splunklib.client as client
HOST = "localhost"
PORT = 8089
USERNAME = "admin"
PASSWORD = "yourpassword"
service = client.connect(
host=HOST,
port=PORT,
username=USERNAME,
password=PASSWORD
)
Bearer Token 로 연결
Bearer Token 방식은 토큰의 유효기간을 설정할 수 있어 가장 안전하고 유연한 방법이다.
아래와 같이 터미널에서 토큰을 발급받을 수도 있지만, Splunk 웹에서도 간단히 GUI 로 발급받을 수도 있다.
Bearer Token 은 한번 발급받은 토큰은 토큰 정보 창을 닫으면 다시 확인할 수 없다.
Bearer Token 생성
먼저 인증 토큰을 활성하고, 토큰을 생성해야한다.
인증 토큰 활성화
curl -k -u admin:패스워드 -X POST https://localhost:8089/services/admin/token-auth/tokens_auth -d disabled=false
토큰 생성
curl -k -u <사용자명>:<비밀번호> -X POST https://<호스트>:<포트>/services/authorization/tokens?output_mode=json --data name=<사용자명> --data audience=<역할> --data-urlencode expires_on=+30d
위의 명령어에서 사용자명, 비밀번호 등을 입력 후 실행하면 토큰에 대한 정보가 담긴 객체가 반환된다.
이 중 `token` 항목에 반환된 값을 인증 정보에 사용하면 된다.
Bearer Token 으로 Splunk 에 연결하기
ximport splunklib.client as client
HOST = "localhost"
PORT = 8089
BEARER_TOKEN = "<bearer_token>"
service = client.connect(
host=HOST,
port=PORT,
splunkToken=BEARER_TOKEN
)
Session Key 로 연결
Session Key 방식은 유효 기간이 짧아서 자주 재로그인해줘야 한다는 단점이 있다.
Session Key 생성
curl -k -u <사용자명>:<비밀번호> https://<호스트>:<포트>/services/auth/login -d username=<사용자명> -d password=<비밀번호>
위의 명령어에서 사용자명, 비밀번호 등을 입력하고 실행하면 xml 형식으로 응답이 온다. sessionKey 태그 안의 세션 키 값을 인증 정보에 사용하면 된다.
Session Key 로 Splunk 연결하기
import splunklib.client as client
HOST = "localhost"
PORT = 8089
SESSION_KEY = "<session_key>"
service = client.connect(
host=HOST,
port=PORT,
token=SESSION_KEY
)
728x90
반응형
BIG