반응형 Splunk20 Python - 스플렁크(Splunk) Query 검색 Splunk 는 외부에서 손쉽게 쿼리 검색등 다양한 작업을 할 수 있도록 지원하고 있다. 그중 쿼리 검색에 대해서 알아보도록 하자. 먼저 Splunk 라이브러리 splunk-sdk를 설치하자. pip install splunk-sdk 이후 아래와 같은 코드를 통해 쿼리 검색이 가능하다. import splunklib.client as client # 스플렁크 연결 HOST = "splunk_host" PORT = 8089 USERNAME = "account_username" PASSWORD = "account_password" # 검색 쿼리 설정 SEARCH_QUERY = "search index=my_index | stats count by _time" # 스플렁크 연결 service = client... 2023. 9. 26. Splunk - Custom Search Commands 에서 Debug log 활성화 Splunk 개발을 진행할 때 오류가 날 경우 로그를 통해서 파악하는 것이 유용하다. 이때 사용이 용이한 방법으로 바로 noop log_DEBUG=* 를 통해 Debug 로그를 활성화 할 수 있다. 문제가 있는 명령을 실행하고 뒤에 파이프라인을 통해 | noop log_DEBUG=* 를 입력하면 Debug 로그가 활성화 된 상태로 실행된다. 이후 작업 검사에서 search.log 내용을 확인하요 명령의 문제점을 보다 쉽게 파악이 가능하다. 이외에도 Debug 로그를 활성화 하는 방법은 아래 문서에서 확인이 가능하다. Enable Debug Logging in Splunk Enterprise Security - Splunk Documentation Enable Debug Logging in Splunk E.. 2023. 7. 25. Splunk - Mac M1 Docker Image 실행 실패 해결 Macbook M1에서 정상적으로 Splunk Docker 이미지를 실행하고자 한다면, 다음과 같은 조치를 진행해야 한다. Docker Desktop 4.15 혹은 4.16 버전이상 부터 제공하는 기능으로, Apple Silicon 을 Docker에서 에뮬레이터를 해주는 기능이다. 위 기능을 활성화 하고 아래와 같이 실행하면 임시 방편이지만, 실행이 가능하다. docker run -it -e SPLUNK_START_ARGS=--accept-license -e SPLUNK_PASSWORD=splunkdev --platform=linux/amd64 -p 8000:8000 splunk/splunk:8.2.9 start 아래와 같이 로그를 살펴보면 정상적으로 실행되는 것을 알 수 있다. 2023. 4. 18. Python - KVStore requests 로 호출 관리 Splunk의 KVStore는 REST API로 관리할 수 있다. Python용도로 제공되는 라이브러리도 있지만, Splunk의 버전별 대응을 하거나, 커스텀 기능을 넣기에는 부족하기 때문에, 직접 requests를 통해 개발하는 것이 효율적이다. 아래 코드는 Splunk 9.0.4 버전에서 정상 동작하는 코드로 사용자에 맞게 변경해서 사용할 수 있는 기본 구조이다. 호출은 KVStore 생성, 검색, 그리고 데이터 입력과 업데이트, 삭제가 가능하다. import json import requests ADMIN_USERNAME = 'admin' ADMIN_PASSWORD = 'password' APP_NAME = 'my_app' HEADERS = {'Content-Type': 'application/js.. 2023. 4. 17. Splunk - KVStore curl을 이용한 RestAPI 관리 여기에서는 KVStore를 CURL를 이용해서 관리하는 방법을 알아보고자 한다. 1. 콜렉션 생성/삭제 KVStore를 진행하기 위해서는 가장 먼저 콜렉션을 만들어야 한다. curl -k -u admin:password https://localhost:8089/servicesNS/nobody/my_app/storage/collections/config -d name=allmnet_collection KVStore를 잘못 생성한 경우 DELETE 메소드를 이용하여 삭제할 수 있다. curl -k -u admin:password -X DELETE "https://localhost:8089/servicesNS/nobody/my_app/storage/collections/config/allmnet_collect.. 2023. 4. 13. Splunk - KV Store 데이터 저장 및 수정하기 KV Store는 Splunk에서 제공하는 기능이다. KV Store 용도는 데이터베이스 처럼 입력 저장 수정등, 쉽게 활용할 수 있어서, Splunk를 사용하고 있다면, 간편하게 사용하기 좋은 저장소라고 할 수 있다. 그럼 가장 간단하게 데이터를 저장하고 수정하는 Python 코드를 작성해보도록 하자. 여기에서는 Splunk에서 제공하는 라이브러리를 사용할 예정이며 코드는 다음과 같다. import splunklib.client as client # Splunk 인증 정보 host = "localhost" port = 8089 username = "admin" password = "your_password" # Splunk SDK 객체 생성 service = client.connect( host=hos.. 2023. 4. 11. Python - requests 를 이용한 Splunk query 하기, CERT_NONE 이슈 Splunk query를 위해서 기존에 Httplib2를 사용하였는데, SSL 인증서 오류 때문에 해결할 방법을 찾다가. requests는 SSL 오류가 없는 것을 보고 아래와 같이 교정하였다. Cannot set verify_mode to CERT_NONE when check_hostname is enabled 진행 방식은 다음과 같다. 세션 인증키 획득 작업 실행 작업 완료 확인 결과값이 있는 경우 가져옴 ES_SERVER = ['1.1.1.1', '2.2.2.2'] ES_USERNAME = '' ES_PASSWORD = '' def search_splunk(sp_qeury): if not sp_qeury.startswith('search'): sp_qeury = 'search ' + sp_qeury.. 2022. 12. 1. Splunk - CustomCommand 개발 이해 Splunk에는 Custom Command라는 사용자가 직접 명령어를 개발하는 것이 가능하다. Splunk는 다른 데이터 분석 플랫폼보다 다양한 통계나 데이터 가공이 SPL를 통해서 진행할 수 있는데, Custom Command 를 이를 더욱 풍푸하게 해주는 기능이라고 할 수 있다. 예를 들어, 외부의 플랫폼의 데이터를 가져와서 Splunk에서 추가 통계 자료로 만들거나, Splunk 내 데이터와 함께 이용하는 것을 Custom Command를 통해서 가능하다고 할 수 있다. 1. Splunk에서 데이터 조회 | Custom Command 2. Custom Command로 외부 데이터 조회 | Splunk SPL 그럼 Custom Command를 어떻게 만들수 있는지 간단히 이해해보도록 하자. 1. 앱 .. 2022. 5. 23. Splunk - 검색 결과 공유 하기, GUI/Rest API 활용 Splunk에서 검색을 진행한 경우 기본적으로 자기 자신만 보는것이 가능하다. 이를 공유할 수 있는 방법이 2가지 있는데, 이에 대해서 정리해 보자. 1. GUI 활동을 통해 공유 자신의 검색 활동은 Splunk의 작업에 저장된다. 여기에서 검색 결과를 공유할 수 있다. 먼저 작업을 클릭하자. 이후 공유하고자 하는 검색 결과의 작업을 누르면 작업 설정 편집을 들어갈 수 있다. 읽기 권한을 모든 사용자, 그리고 공유할 검색 내용의 수명을 선택할 수 있는데, 이는 본 검색 데이터가 마지막으로 접근한 기록을 기준이라는 점이다. 따라서 7일 이내 1번이라도 접근을 한다면, 해당 접근한 시점부터 다시 7일을 계산하는 방식으로 데이터가 유지된다. 그리고 작업에 연결 한글말이라 조금 부자연스러운데, 본 검색의 바로가.. 2022. 5. 1. 이전 1 2 3 다음 반응형