다음을 통해 공유


Splunk 유니버설 전달자에서 Azure Data Explorer로 데이터 수집

Important

이 커넥터는 Microsoft Fabric의 실시간 인텔리전스 에서 사용할 수 있습니다. 다음 예외를 제외하고 이 문서의 지침을 사용합니다.

Splunk Universal Forwarder는 여러 원본에서 동시에 데이터를 수집할 수 있는 Splunk Enterprise 소프트웨어의 경량 버전입니다. 다양한 원본에서 중앙 Splunk Enterprise 서버 또는 Splunk Cloud 배포로 로그 데이터 및 컴퓨터 데이터를 수집하고 전달하도록 설계되었습니다. Splunk Universal Forwarder는 데이터 수집 및 전달 프로세스를 간소화하는 에이전트 역할을 하므로 Splunk 배포의 필수 구성 요소입니다. Azure 데이터 탐색기는 로그 및 원격 분석 데이터에 사용 가능한 빠르고 확장성이 우수한 데이터 탐색 서비스입니다.

이 문서에서는 Kusto Splunk 유니버설 전달자 커넥터를 사용하여 클러스터의 테이블에 데이터를 보내는 방법을 알아봅니다. 처음에는 테이블 및 데이터 매핑을 만든 다음 Splunk에 데이터를 테이블로 보낸 다음 결과의 유효성을 검사하도록 지시합니다.

필수 조건

Azure Data Explorer 테이블 만들기

Splunk Universal Forwarder에서 데이터를 받을 테이블을 만든 다음 서비스 주체에게 이 테이블에 대한 액세스 권한을 부여합니다.

다음 단계에서는 단일 열(RawText)로 명명된 SplunkUFLogs 테이블을 만듭니다. Splunk 유니버설 전달자는 기본적으로 원시 텍스트 형식으로 데이터를 보내기 때문입니다. 다음 명령은 웹 UI 쿼리 편집기에서 실행할 수 있습니다.

  1. 테이블을 만듭니다.

    .create table SplunkUFLogs (RawText: string)
    
  2. 테이블 SplunkUFLogs 이 만들어졌으며 비어 있는지 확인합니다.

    SplunkUFLogs
    | count
    
  3. 필수 구성 요소의 서비스 주체를 사용하여 테이블이 포함된 데이터베이스로 작업할 수 있는 권한을 부여합니다.

    .add database YOUR_DATABASE_NAME admins ('aadapp=YOUR_APP_ID;YOUR_TENANT_ID') 'Entra service principal: Splunk UF'
    

Splunk 유니버설 전달자 구성

Splunk 유니버설 전달자를 다운로드하면 전달자를 구성하는 마법사가 열립니다.

  1. 마법사에서 Kusto Splunk 유니버설 전달자 커넥터를 호스팅하는 시스템을 가리키도록 수신 인덱서로 설정합니다. 호스트 이름 또는 IP9997 포트에 대해 입력 127.0.0.1 합니다. 대상 인덱서는 비워 둡니다.

    자세한 내용은 Splunk Enterprise에 대한 수신기 사용을 참조 하세요.

  2. 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
    

    자세한 내용은 inputs.conf를 사용하여 파일 및 디렉터리 모니터링을 참조하세요.

  3. 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를 사용하여 전달 구성을 참조하세요.

  4. Splunk 유니버설 전달자를 다시 시작합니다.

Kusto Splunk 유니버설 커넥터 구성

Azure Data Explorer 테이블에 로그를 보내도록 Kusto Splunk 유니버설 커넥터를 구성하려면 다음을 수행합니다.

  1. GitHub 리포지토리에서 커넥터를 다운로드하거나 복제합니다.

  2. 커넥터의 기본 디렉터리로 이동합니다.

    cd .\SplunkADXForwarder\
    
  3. 다음 속성을 포함하도록 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.
  4. Docker 이미지를 빌드합니다.

    docker build -t splunk-forwarder-listener
    
  5. Docker 컨테이너를 실행합니다.

    docker run -p 9997:9997 splunk-forwarder-listener
    

데이터가 Azure Data Explorer에 수집되는지 확인

Docker가 실행되면 데이터가 Azure Data Explorer 테이블로 전송됩니다. 웹 UI 쿼리 편집기에서 쿼리를 실행하여 데이터가 수집되는지 확인할 수 있습니다.

  1. 다음 쿼리를 실행하여 데이터가 테이블에 수집되는지 확인합니다.

    SplunkUFLogs
    | count
    
  2. 다음 쿼리를 실행하여 데이터를 봅니다.

    SplunkUFLogs
    | take 100