오늘은 본격적으로 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을 선택해줬다.
![](https://velog.velcdn.com/images/munang/post/013713f8-3438-48e0-b421-c39f7406ca4e/image.png)
우측에는 관련 설정 항목이 있는데, 하나씩 설명해보겠다.
![](https://velog.velcdn.com/images/munang/post/42a42d07-9f1f-48fe-826a-e15e75782b5f/image.png)
- Input Mode: 데이터베이스에서 데이터를 받아올 때에 이벤트 타입으로 받아올지, 메트릭 타입으로 받아올지에 대한 것이다. 보통 이벤트 타입이다.
* 참고로 메트릭 데이터의 경우 시간에 따라 일정한 주기를 가지며, 인프라나 호스트, 장치의 헬스 체크 등에 주로 사용된다.
- 입력유형
* Batch와 Rising 모드
: 두 가지의 차이점은 일단 배치의 경우 전체 데이터를 배치 주기로 하여서 계속 업데이트 시킨다. 하지만, Rising 모드는 기존에 업데이트 한 Index 기준으로 그 이후의 데이터만 추가 업데이트 시킨다.
- 따라서 한번 데이터를 입력 후에 과거의 데이터가 변동이 없다면 Rising을 사용하는게 좋다. 배치를 사용할 경우 메번 데이터를 새로 받아오기 때문에 비용이 크기 때문이다.
- Timestamp: Splunk의 인덱스에서 이 데이터를 정렬할때 사용되는 타임스탬프 필드를 지정한다. Splunk에서는 이 값을 이용해 time 변수를 채우게 된다.
- Current Index..: 현재 입력되는 시간을 타임스탬프로 한다. 데이터에 타임값이 없는 경우 보통 이 값을 선택한다.
- Choose Column: 타임스탬프 값이 포함된 열을 선택해서, 원하는 구문으로 편집할 수도 있다.
- Query Timeout: 쿼리가 완료될때까지 대기하는 최대 시간을 지정한다. 이 시간을 넘기게 되면 Timeout으로 처리한다.
![](https://velog.velcdn.com/images/munang/post/46bb33b7-58a3-4107-a549-824abeee6872/image.png)
나는 다음과 같이 입력한 후 다음 스텝으로 넘어갔다.
2) Set Properties
![](https://velog.velcdn.com/images/munang/post/a41eaabc-424f-487d-8010-121432654bcf/image.png)
![](https://velog.velcdn.com/images/munang/post/34ea058a-0248-4b76-ab2b-a2e936da5b87/image.png)
- 기본정보
- Input의 네임을 지정할 수 있다. 설명은 필요하면 기재하고, 애플리케이션은 디폴트로 지정하면 된다.
- 파라미터
- 최대 Row: 반환하는 최대 로우의 수를 나타낸다.
- Fetch Size: 데이터 베이스로부터 한번에 Fetch하여 가져오는 row 개수를 의미한다.
- Execution Frequency: 크론탭으로 몇분마다 실행하여 데이터를 가져올지 나와있다.
- 메타데이터
- 들어갈 데이터 베이스 인덱스 데이터의 호스트, 소스, 소스타입, 인덱스를 지정할 수 있다.
나는 사진에 보이는 그대로 설정을 하였다. 이후 다음을 누르면 완료가 된다.
검색창에 들어가 main인덱스에 검색을 누르면 다음과 같이 내가 넣었던 데이터들이 나오게된다.
![](https://velog.velcdn.com/images/munang/post/eacd24dc-a272-4d8f-80c5-c54930053d6b/image.png)
이로써 데이터 베이스의 데이터를 Splunk인덱스로 연동하는 작업이 끝났다.
다음에는 본격적으로 Output 기능(Splunk에서 DB로 출력)을 포스팅 하겠다.