Bigdata/Splunk

Splunk - KVStore curl을 이용한 RestAPI 관리

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

여기에서는 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_collection"

2.데이터 관리

가장 많이 진행할 부분이 데이터 관리하는 것이다. 그중에서 데이터 검색, 업데이트, 삭제하는 방법에 대해서 알아보도록 하겠다.

 

데이터 검색(GET):

allmnet_collection 컬렉션에서 모든 데이터를 검색은 GET 메소드를 통해 data/<콜렉션>을 지정하면 된다.

curl -k -u admin:password https://localhost:8089/servicesNS/nobody/my_app/storage/collections/data/allmnet_collection

만약 특정 데이터를 검색하고자 한다면, q= 파라메터를 사용할 수 있다.

curl -k -u admin:password "https://localhost:8089/servicesNS/nobody/my_app/storage/collections/data/allmnet_collection/search?q=my_field1%3Dvalue1"

그리고, _key는 Splunk에서 유일한 값으로 구분되기 때문에 하나의 데이터를 찾고자 할 때 효과적으로 검색이 가능하다. 검색 방법은 아래와 같다.

아래 내용은 _key가 my_key인 것을 검색한다.

curl -k -u admin:password "https://localhost:8089/servicesNS/nobody/my_app/storage/collections/data/allmnet_collection?output_mode=json&where=_key%3Dmy_key"

 

데이터 삽입(POST):

allmnet_collection 컬렉션에 {"key": "value"}와 같은 JSON 객체를 삽입한다.

curl -k -u admin:password -H "Content-Type: application/json" -d '{"key": "value"}' https://localhost:8089/servicesNS/nobody/my_app/storage/collections/data/allmnet_collection

 

데이터 업데이트(PUT):

allmnet_collection 컬렉션에서 my_item을 업데이트하여 {"key": "new_value"}와 같은 JSON 객체로 교체한다.

curl -k -u admin:password -X PUT -H "Content-Type: application/json" -d '{"key": "new_value"}' https://localhost:8089/servicesNS/nobody/my_app/storage/collections/data/allmnet_collection/my_item

데이터 삭제(DELETE):

개별 데이터 삭제도 DELETE 메소드를 통해 가능하다.

아래 명령은 allmnet_collection 컬렉션에서 my_item을 삭제한다.

curl -k -u admin:password -X DELETE https://localhost:8089/servicesNS/nobody/my_app/storage/collections/data/allmnet_collection/my_item

 

반응형