Splunk DB-Connect app 시작하기 - 3탄 (Splunk에 RDBMS DB연결하기, RDBMS 데이터 수집하기)

Munang·2022년 12월 25일
1

splunk

목록 보기
25/49

오늘은 본격적으로 DB-Connect app으로 데이터 베이스의 데이터를 인덱스로 가져올 것 이다.

1. 데이터베이스 테이블 데이터를 Splunk로 수집하기

1) Set SQL Query

먼저 DB-Connect app> Data Lab > New Input

  • Connection: 내가 특정 SQL에 연결하기 위해 만든 커넥션을 선택해준다.
  • Catalog: 연결할 데이터 베이스를 선택해준다.

나는 일단 간단한 SQL을 사용하여 잘 연동되었는지 확인해봤다.

select * from `test`.`city_dtl`

이후 ExeCute를 눌러주면 실제 SQL이 실행된 결과가 나오게 된다.
데이터를 가져올 테이블을 좌측에서 선택해줘야 한다. 나는 city_dtl을 선택해줬다.

우측에는 관련 설정 항목이 있는데, 하나씩 설명해보겠다.

  • Input Mode: 데이터베이스에서 데이터를 받아올 때에 이벤트 타입으로 받아올지, 메트릭 타입으로 받아올지에 대한 것이다. 보통 이벤트 타입이다.
    * 참고로 메트릭 데이터의 경우 시간에 따라 일정한 주기를 가지며, 인프라나 호스트, 장치의 헬스 체크 등에 주로 사용된다.
  • 입력유형
    * Batch와 Rising 모드
    : 두 가지의 차이점은 일단 배치의 경우 전체 데이터를 배치 주기로 하여서 계속 업데이트 시킨다. 하지만, Rising 모드는 기존에 업데이트 한 Index 기준으로 그 이후의 데이터만 추가 업데이트 시킨다.
    • 따라서 한번 데이터를 입력 후에 과거의 데이터가 변동이 없다면 Rising을 사용하는게 좋다. 배치를 사용할 경우 메번 데이터를 새로 받아오기 때문에 비용이 크기 때문이다.
  • Timestamp: Splunk의 인덱스에서 이 데이터를 정렬할때 사용되는 타임스탬프 필드를 지정한다. Splunk에서는 이 값을 이용해 time 변수를 채우게 된다.
    • Current Index..: 현재 입력되는 시간을 타임스탬프로 한다. 데이터에 타임값이 없는 경우 보통 이 값을 선택한다.
    • Choose Column: 타임스탬프 값이 포함된 열을 선택해서, 원하는 구문으로 편집할 수도 있다.
  • Query Timeout: 쿼리가 완료될때까지 대기하는 최대 시간을 지정한다. 이 시간을 넘기게 되면 Timeout으로 처리한다.

나는 다음과 같이 입력한 후 다음 스텝으로 넘어갔다.

2) Set Properties


  • 기본정보
    • Input의 네임을 지정할 수 있다. 설명은 필요하면 기재하고, 애플리케이션은 디폴트로 지정하면 된다.
  • 파라미터
    • 최대 Row: 반환하는 최대 로우의 수를 나타낸다.
    • Fetch Size: 데이터 베이스로부터 한번에 Fetch하여 가져오는 row 개수를 의미한다.
    • Execution Frequency: 크론탭으로 몇분마다 실행하여 데이터를 가져올지 나와있다.
  • 메타데이터
    • 들어갈 데이터 베이스 인덱스 데이터의 호스트, 소스, 소스타입, 인덱스를 지정할 수 있다.

나는 사진에 보이는 그대로 설정을 하였다. 이후 다음을 누르면 완료가 된다.

검색창에 들어가 main인덱스에 검색을 누르면 다음과 같이 내가 넣었던 데이터들이 나오게된다.

이로써 데이터 베이스의 데이터를 Splunk인덱스로 연동하는 작업이 끝났다.

다음에는 본격적으로 Output 기능(Splunk에서 DB로 출력)을 포스팅 하겠다.

profile
Moonlilght

0개의 댓글