Splunk diff command/Splunk saved search, dashboard xml source 형상관리 하기

Munang·2022년 9월 28일
0

splunk

목록 보기
13/55
post-thumbnail

splunk 를 사용하다 보면, 특히 saved search 나 dashboard의 소스코드를 형상관리 해야될것 같은 생각이 든다.
사실 마땅히 splunk에서 제공되는 형상관리 툴은 없다. 내부에서 git을 사용할 수 있게끔 만들어진 앱이 있는데 아직 사용해보지는 않았다.

search 앱 만으로 형상관리를 할 수 있는 방법을 찾았다. 좀 단점이(글 후반부에 설명할 것 이다.) 있지만 단순히 saved search나 대시보드의 형상관리를 원한다면 유용한 대안이 될거라고 생각됐다.

유튜브를 주로 참고했다.

1. diff

1) 사전준비

  • savedsearch
    먼저 세이브 서치의 search 문을 확인하여 저장하는 쿼리이다.
| rest /servicesNS/-/-/saved/searches/세이브 서치 명
| table search
  • dashboard
    대시보드로 하게 되면 이렇게 쓰면 된다.
| rest /servicesNS/-/-/data/ui/views/대시보드 명
| table "eai:data"

splunk 에서는 rest라는 커맨드를 제공하는데, 이때 url에 해당하는 부분에 servieceNS(네임스페이스)를 사용해서 splunk의 앱/리소스에 액세스 할 수 있다.

자세한 사항은 splunk docs 사이트에 있어서 확인하기 바란다. 나중에 네임스페이스로 포스팅을 해보려고 한다. (점점 포스팅 할 것이 많아지는군..)

이렇게 하게 되면, savedsearch 의 결과를 볼 수 있다.

이후 이 결과를 saved search에 5분 단위로 저장해준다.
(현재 내 PC에 설치된 스플렁크 라이센스가 savedsearch 스케줄링이 안되어서 이후부터는 동영상으로 대체 한다.)


서머리 인덱스에 저장해준다. (사진은 dashboard_code라고 나온다. 하지만 실제 서버에서는 자신의 saved search 명이 보이면 된다/ 서머리 인덱스에 관련해서 내용을 모른다면, 필자의 포스팅을 확인하기 바란다!)

2) diff 커맨드 사용

이후에 저장된 결과를 보기 위해 index=summary search_name="세이브 서치명" 을 검색해서 확인해보면 다음과 같이 결과를 볼 수 있다. (현재는 대시보드 예시를 캡쳐했지만 위에서 네임스페이스에 세이브 서치로 했다면 세이브 서치 쿼리가 저장되어있을 것 이다.)

  • diff로 이벤트 넘버를 사용해 차이점 확인
    세이브 서치로 저장된 이벤트 결과는 보통 가장 먼저 저장된 이벤트가 1번이고 이후부터 N번으로 늘어난다. 따라서 1번과 2번의 차이를 비교하게 되면, 근 5분간 달라진 코드를 확인할 수 있다.
index=summary
| diff position1=1 position2=2

반대로 position1=2, position2=1을 넣게 되면 반대의 순서로 비교할 수 있음으로 참고하자.

3) diff 커맨드 옵션

  • diffheader=true로 하게 되면, 비교되는 파일의 이름을 지정해
    보여준다.

  • context=true로 하게 되면, 기존에는 요약된 diff의 정보를 보여줬다면 true일 경우 전체 변화된 결과를 모두 보여준다. 전/후의 쿼리문이나 소스코드를 전체 로딩해준다. 보통 불필요하기 때문에(변화된 부분만 확인하면 되기 때문에 잘 사용하지 않을 것으로 보인다. 디폴트는 false)

  • maxlen은 비교할 대상의 최대 길이이다. 길이를 설정하면, 해당 길이까지만 비교하고 이후에는 비교하지 않는다.

2. 단점

단점은 앞에서 직감한 사람도 있겠지만, saved search 혹은 대시보드의 형상 관리를 위해 또 saved search를 걸어야 한다. 즉 관리주체가 늘어나는 느낌이다. 또한 불필요하게 5분단위로 혹은 특정 시간 주기로 계속 저장을 해야하기 때문에 이 또한 낭비가 된다. 하지만, git과 같은 형상관리 솔루션을 도입하는 것 보다 많지 않은 세이브 서치를 확인하고 관리하고 싶다면 이 또한 좋은 대안이 될 것이다.

0개의 댓글