Splunk DLTK 셋업 하기/ DSDL / DeepLearningToolkit 설정 / Splunk AI

Munang·2025년 1월 19일
0

splunk

목록 보기
58/58

Splunk에서 모델 생성, 배포 등의 프로세스를 진행하기 위해 DLTK 를 세팅해줬다. MLTK도 충분히 좋지만, 코드로 내가 원하는 모델을 배포하기 위해서는 결국 DLTK 세팅이 필요하다.

로컬 환경, 단일 호스트에서 진행하였다.

준비된 사항!!

  • Splunk
  • Docker

가 모두 설치되어 있어야 한다.

0. Splunk MLTK, DLTK 앱 설치

DLTK 앱을 설치하기 위해서는 MLTK 앱이 설치되어있어야 한다.

좌측 상단의 을 클릭 후 아래로 내려오는 네비게이션 바에서 앱 관리를 눌러준다.
이후에는 우측 상단의 앱 더 찾아보기를 눌러준다.


Learning을 검색 후 나오는 2개의 앱을 각각 설치 해 준다.

  • 추가로 아래의 앱이 필요하다.
    Python for Scientific Computing라고 검색하면, OS와 CPU별로 앱이 나뉘어져서 나오는데, 나는 맥북 M1칩이어서 아래의 앱을 설치해줬다.

1. DLTK 앱 설정하기

설치 후 Splunk를 재시작 해준다. 이후 앱에 접속하면 아래와 같이 설정이 필요하다는 내용이 나오게 되고, 설정페이지로 이동된다.

앱 설정 페이지로 계속을 눌러주면, 아래와 같이 페이지가 로드된다.

아래의 Yes에 체크표시를 해주면 앱 설정 페이지가 로드된다.

1) 도커 설정


도커 관련된 설정을 설정해주는 화면이다.

  • Docker Host
    도커 데몬이 수신하는 유닉스 소켓 경로를 넣어주면 된다. 보통 로컬 PC에서 도커를 실행한다고 하면, unix://var/run/docker.sock 으로 입력하면 된다.
  • Endpoint URL
    Splunk DLTK에서 Docker를 down 하거나 up하는 등의 API 통신을 요청하게 되면, 그것을 처리하는 Docker의 URL을 적어주면 된다. 나는 로컬 PC에 도커가 설치되어있기 때문에 localhost라고 기재해주었다.
    Splunk DLTK가 설치된 서버와 Docker가 설치된 서버가 같다면 localhost 라고 기재해주면 된다.
  • External URL
    외부에서 Docker에 올려진 모델을 API를 통해 접근하려 한다면, 이때 어떤 주소를 입력해야하는지 적어주면 된다.
    보통 도커가 설치된 서버의 호스트명을 적어준다. 나는 로컬에서만 사용하기 때문에 그냥 localhost로 기재했다.

Kubernetes은 현재 쿠버네티스로 올리지 않았기 때문에 일단 생략했다. 쿠버네티스 Authentication Mode의 경우 사용자 인증을 어떻게 하는제 적어주면 된다. 그 외에 Service Type은 쿠버네티스 사용 시, 클러스터 형태를 어떤 식으로 할지 선택해주는 부분이다.

2) 암호화, 인증 관련 설정하기

  • Certification Settings: DSDL에서 컨테이너로 통신할 때에 SSL 인증서를 적용해 암호화 통신을 할지에 대한 설정이다. 나는 테스트 환경이고, 로컬에서 바로 호출하기 때문에 생략했다.
  • Password Settings: DSDL과 컨테이너간 통신 시 Endpoint 간의 토큰을 적용할지 + Jupyter Lab에서 접속 시 사용할 비밀번호를 설정해주는 부분이다. 나는 원하는 비밀번호로 세팅해줬다.
  • Generic Instrumentation: Splunk Observability Cloud를 활용해 DSDL(Dockerized Splunk DLTK) 컨테이너의 성능 및 작동 상태를 모니터링하고, 문제를 추적할 수 있도록 도와주는 설정이다. 나는 사용하지 않아서 넘어갔다.

3) Splunk 간 통신시 설정 사항

  • Splunk Access in Jupyter (optional): Jupyter Lab에서 Splunk에 접근해서 데이터를 받아올 때 사용되는 설정이다. 나는 Jupyter Lab에서 바로 데이터를 끌어와 사용하고 싶기 때문에, 설정을 모두 체크해줬다.
* Enable Splunk Access: Yes
* Splunk Access Token: 사용자 별로 부여되는 접근 토큰이다. 
설정 > 사용자 역할 및 인증 > 토큰 > 새 토큰 



새 토큰을 클릭 후 사용자 이름, 사용 목적을 기재한다. 만료는 언제까지 토큰이 유효할지를 설정해주면 되는데 나는 1년으로 365d를 기재했다.
이후는 언제부터 사용할 것 인지를 나타내주면 된다. 나는 지금부터 사용할 것이기 때문에 now 라고 기재했다.

이후에 나오는 토큰 값을 복사해서, 아까 확인했던 Splunk Access Token 부분에 복붙해주면 된다.

* Splunk Host Address: Docker 컨테이너에서 Splunk에 접근할때 어디로 접근하면 되는지 그 주소를 나타내주면 된다. 나는 도커에서 로컬 호스트를 접근할 것이기 때문에 host.docker.internal 라고 기재했다. 
* Splunk Management Port: Splunk 관리포트를 기재해주면 된다. 대부분 디폴트가 8089로 설정되어 있다. 

여기까지 설정값을 지정해줬다.

마지막의 Test & Save를 눌러준다.

2. Container 설정 해주기

DSDL의 앱 화면 베너 중 설정 부분의 하위에 Containers 탭으로 들어간다.

아래를 보면 컨테이너를 설정하는 화면이 나온다.

Container image를 선택해준다. 나는 Golden Image CPU를 선택해줬다. 컨테이너의 이미지는 선택할 수 있는데, GPU가 있으면 GPU를 선택해도 좋을 것 같다.

컨테이너 이미지 사이트에 가보면 각 컨테이너별로 어떤 스펙을 가지고 있는지 나와있다. 이중에서 필요한 요구사항에 따라 선택해서 다운받는다.

생각보다 로컬에서 실행하기에는 용량이 커서 쵸큼 놀랐다. CPU 이미지는 약 6G 정도 된다.

아무튼 이미지를 선택하고, Start를 눌러주면 잠시 후 아래와 같은 화면이 보인다.

컨테이너에 Jupyter, MLFlow, Spark 등이 모두 포함되어 있어 Splunk와 연동해서 사용할 수 있게끔 되어있다.

3. Jupyter 실행


설정화면에서 지정했던 비밀번호를 입력해준다. (만약 지정을 안했더라면, 디폴트 비밀번호가 이 사이트에 나와있다.)

아무튼 비밀번호를 입력하고 나면 바로 아래의 화면이 나온다.

좌측에서 보이는 notebooks 경로로 들어가서 아래의 파일을 테스트 해줬다.

SplunkSearch 후 데이터를 불러오는 곳 까지 테스트 해줬다. 완료되었다.

0개의 댓글

관련 채용 정보