Splunk 유니버설 전달자에서 Azure Data Explorer로 데이터 수집
Important
이 커넥터는 Microsoft Fabric의 실시간 인텔리전스 에서 사용할 수 있습니다. 다음 예외를 제외하고 이 문서의 지침을 사용합니다.
- 필요한 경우 KQL 데이터베이스 만들기의 지침을 사용하여 데이터베이스를 만듭니다.
- 필요한 경우 빈 테이블 만들기의 지침을 사용하여 테이블을 만듭니다.
- 복사 URI의 지침을 사용하여 쿼리 또는 수집 URI를 가져옵니다.
- KQL 쿼리 세트에서 쿼리를 실행합니다.
Splunk Universal Forwarder는 여러 원본에서 동시에 데이터를 수집할 수 있는 Splunk Enterprise 소프트웨어의 경량 버전입니다. 다양한 원본에서 중앙 Splunk Enterprise 서버 또는 Splunk Cloud 배포로 로그 데이터 및 컴퓨터 데이터를 수집하고 전달하도록 설계되었습니다. Splunk Universal Forwarder는 데이터 수집 및 전달 프로세스를 간소화하는 에이전트 역할을 하므로 Splunk 배포의 필수 구성 요소입니다. Azure 데이터 탐색기는 로그 및 원격 분석 데이터에 사용 가능한 빠르고 확장성이 우수한 데이터 탐색 서비스입니다.
이 문서에서는 Kusto Splunk 유니버설 전달자 커넥터를 사용하여 클러스터의 테이블에 데이터를 보내는 방법을 알아봅니다. 처음에는 테이블 및 데이터 매핑을 만든 다음 Splunk에 데이터를 테이블로 보낸 다음 결과의 유효성을 검사하도록 지시합니다.
필수 조건
- 로그가 시작되는 동일한 컴퓨터에서 Splunk 유니버설 전달자가 다운로드되었습니다.
- Azure Data Explorer 클러스터 및 데이터베이스. 클러스터 및 데이터베이스를 만듭니다.
- Kusto Splunk 유니버설 전달자 커넥터를 실행하는 시스템에 설치된 Docker 입니다.
- Microsoft Entra 서비스 주체입니다. Microsoft Entra 서비스 주체를 만듭니다.
Azure Data Explorer 테이블 만들기
Splunk Universal Forwarder에서 데이터를 받을 테이블을 만든 다음 서비스 주체에게 이 테이블에 대한 액세스 권한을 부여합니다.
다음 단계에서는 단일 열(RawText
)로 명명된 SplunkUFLogs
테이블을 만듭니다. Splunk 유니버설 전달자는 기본적으로 원시 텍스트 형식으로 데이터를 보내기 때문입니다. 다음 명령은 웹 UI 쿼리 편집기에서 실행할 수 있습니다.
테이블을 만듭니다.
.create table SplunkUFLogs (RawText: string)
테이블
SplunkUFLogs
이 만들어졌으며 비어 있는지 확인합니다.SplunkUFLogs | count
필수 구성 요소의 서비스 주체를 사용하여 테이블이 포함된 데이터베이스로 작업할 수 있는 권한을 부여합니다.
.add database YOUR_DATABASE_NAME admins ('aadapp=YOUR_APP_ID;YOUR_TENANT_ID') 'Entra service principal: Splunk UF'
Splunk 유니버설 전달자 구성
Splunk 유니버설 전달자를 다운로드하면 전달자를 구성하는 마법사가 열립니다.
마법사에서 Kusto Splunk 유니버설 전달자 커넥터를 호스팅하는 시스템을 가리키도록 수신 인덱서로 설정합니다. 호스트 이름 또는 IP 및
9997
포트에 대해 입력127.0.0.1
합니다. 대상 인덱서는 비워 둡니다.자세한 내용은 Splunk Enterprise에 대한 수신기 사용을 참조 하세요.
Splunk 유니버설 전달자가 설치된 폴더로 이동한 다음 /etc/system/local 폴더로 이동합니다. 전달자가 로그를 읽을 수 있도록 inputs.conf 파일을 만들거나 수정합니다.
[default] index = default disabled = false [monitor://C:\Program Files\Splunk\var\log\splunk\modinput_eventgen.log*] sourcetype = modinput_eventgen
Splunk 유니버설 전달자가 설치된 폴더로 이동한 다음 /etc/system/local 폴더로 이동합니다. outputs.conf 파일을 만들거나 수정하여 Kusto Splunk 유니버설 전달자 커넥터를 호스팅하는 시스템의 호스트 이름 및 포트인 로그의 대상 위치를 확인합니다.
[tcpout] defaultGroup = default-autolb-group sendCookedData = false [tcpout:default-autolb-group] server = 127.0.0.1:9997 [tcpout-server://127.0.0.1:9997]
자세한 내용은 outputs.conf를 사용하여 전달 구성을 참조하세요.
Splunk 유니버설 전달자를 다시 시작합니다.
Kusto Splunk 유니버설 커넥터 구성
Azure Data Explorer 테이블에 로그를 보내도록 Kusto Splunk 유니버설 커넥터를 구성하려면 다음을 수행합니다.
GitHub 리포지토리에서 커넥터를 다운로드하거나 복제합니다.
커넥터의 기본 디렉터리로 이동합니다.
cd .\SplunkADXForwarder\
다음 속성을 포함하도록 config.yml 편집합니다.
ingest_url: <ingest_url> client_id: <ms_entra_app_client_id> client_secret: <ms_entra_app_client_secret> authority: <ms_entra_authority> database_name: <database_name> table_name: <table_name> table_mapping_name: <table_mapping_name> data_format: csv
필드 설명 ingest_url
Azure Data Explorer 클러스터에 대한 수집 URL입니다. 클러스터의 개요 탭에 있는 데이터 수집 URI 아래의 Azure Portal에서 찾을 수 있습니다. https://ingest-<clusterName>.<region>.kusto.windows.net
형식이어야 합니다.client_id
필수 구성 요소 섹션에서 만든 Microsoft Entra 애플리케이션 등록의 클라이언트 ID입니다 . client_secret
필수 구성 요소 섹션에서 만든 Microsoft Entra 애플리케이션 등록의 클라이언트 암호입니다 . authority
필수 구성 요소 섹션에서 만든 Microsoft Entra 애플리케이션 등록을 보유하는 테넌트의 ID입니다 . database_name
Azure Data Explorer 데이터베이스의 이름입니다. table_name
Azure Data Explorer 대상 테이블의 이름입니다. table_mapping_name
테이블에 대한 수집 데이터 매핑의 이름입니다. 매핑이 없는 경우 구성 파일에서 이 속성을 생략할 수 있습니다. 나중에 언제든지 데이터를 다양한 열로 구문 분석할 수 있습니다. data_format
들어오는 데이터에 대한 예상 데이터 형식입니다. 들어오는 데이터는 원시 텍스트 형식이므로 기본적으로 원시 텍스트를 0 인덱스로 매핑하는 것이 좋습니다 csv
.Docker 이미지를 빌드합니다.
docker build -t splunk-forwarder-listener
Docker 컨테이너를 실행합니다.
docker run -p 9997:9997 splunk-forwarder-listener
데이터가 Azure Data Explorer에 수집되는지 확인
Docker가 실행되면 데이터가 Azure Data Explorer 테이블로 전송됩니다. 웹 UI 쿼리 편집기에서 쿼리를 실행하여 데이터가 수집되는지 확인할 수 있습니다.
다음 쿼리를 실행하여 데이터가 테이블에 수집되는지 확인합니다.
SplunkUFLogs | count
다음 쿼리를 실행하여 데이터를 봅니다.
SplunkUFLogs | take 100