Compartilhar via


Ingerir dados do Splunk Universal Forwarder para o Azure Data Explorer

Importante

Esse conector pode ser usado em Real-Time Intelligence no Microsoft Fabric. Use as instruções deste artigo com as seguintes exceções:

Splunk Universal Forwarder é uma versão leve do software Splunk Enterprise que permite ingerir dados de muitas fontes simultaneamente. Ele foi projetado para coletar e encaminhar dados de log e dados de máquina de várias fontes para um servidor Splunk Enterprise central ou uma implantação do Splunk Cloud. O Splunk Universal Forwarder atua como um agente que simplifica o processo de coleta e encaminhamento de dados, tornando-o um componente essencial em uma implantação do Splunk. O Azure Data Explorer é um serviço de exploração de dados rápido e altamente escalonável para dados telemétricos e de log.

Nesse artigo, aprenda como usar o Kusto Splunk Universal Forwarder Connector para enviar dados para uma tabela em seu cluster. Inicialmente, você cria uma tabela e um mapeamento de dados, depois direciona o Splunk para enviar dados para a tabela e, em seguida, valida os resultados.

Pré-requisitos

Criar uma tabela do Azure Data Explorer

Crie uma tabela para receber os dados do Splunk Universal Forwarder e, em seguida, conceda ao principal do serviço acesso a essa tabela.

Nas etapas a seguir, você cria uma tabela chamada SplunkUFLogs com uma única coluna (RawText). Isso ocorre porque o Splunk Universal Forwarder envia dados em formato de texto bruto por padrão. Os comandos a seguir podem ser executados no editor de consultas da UI da web.

  1. Crie uma tabela:

    .create table SplunkUFLogs (RawText: string)
    
  2. Verifique se a tabela SplunkUFLogs foi criada e está vazia:

    SplunkUFLogs
    | count
    
  3. Utilize o principal de serviço dos Pré-requisitos para conceder permissão para trabalhar com a base de dados que contém a sua tabela.

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

Configurar o encaminhador universal Splunk

Ao baixar o Splunk Universal Forwarder, um assistente é aberto para configurar o encaminhador.

  1. No assistente, defina o Indexador de recebimento para apontar para o sistema que hospeda o conector Kusto Splunk Universal Forwarder. Digite 127.0.0.1 para o Hostname ou IP e 9997 para a porta. Deixe o Indexador de destino em branco.

    Para obter mais informações, veja Habilitar um receptor para Splunk Enterprise.

  2. Vá para a pasta onde o Splunk Universal Forwarder está instalado e depois para a pasta /etc/system/local. Crie ou modifique o arquivo inputs.conf para permitir que o encaminhador leia os logs:

    [default]
    index = default
    disabled = false
    
    [monitor://C:\Program Files\Splunk\var\log\splunk\modinput_eventgen.log*]
    sourcetype = modinput_eventgen
    

    Para obter mais informações, veja Monitorar arquivos e diretórios com inputs.conf.

  3. Vá para a pasta onde o Splunk Universal Forwarder está instalado e depois para a pasta /etc/system/local. Crie ou modifique o arquivo outputs.conf para determinar o local de destino dos logs, que é o nome do host e a porta do sistema que hospeda o conector Kusto Splunk Universal Forwarder:

    [tcpout]
    defaultGroup = default-autolb-group
    sendCookedData = false
    
    [tcpout:default-autolb-group]
    server = 127.0.0.1:9997
    
    [tcpout-server://127.0.0.1:9997]
    

    Para obter mais informações, veja Configurar encaminhamento com outputs.conf.

  4. Reinicie o Splunk Universal Forwarder.

Configurar o conector Kusto Splunk Universal

Para configurar o conector Kusto Splunk Universal para enviar registos para a sua tabela Azure Data Explorer:

  1. Baixe ou clone o conector do repositório GitHub.

  2. Acesse o diretório base do conector:

    cd .\SplunkADXForwarder\
    
  3. Edite o config.yml para conter as seguintes propriedades:

    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
    
    Campo Descrição
    ingest_url A URL de ingestão do cluster do Azure Data Explorer. Você pode encontrá-lo no portal do Azure no URI de ingestão de dados na guia Visão geral do seu cluster. Ela deve estar no formato https://ingest-<clusterName>.<region>.kusto.windows.net.
    client_id O ID do cliente do registro do seu aplicativo Microsoft Entra criado na seção Pré-requisitos.
    client_secret O segredo do cliente do registro do seu aplicativo Microsoft Entra criado na seção Pré-requisitos.
    authority A ID do locatário que contém o registro do seu aplicativo Microsoft Entra criado na seção Pré-requisitos.
    database_name O nome do seu banco de dados do Azure Data Explorer.
    table_name O nome da tabela de destino do Azure Data Explorer.
    table_mapping_name O nome do mapeamento de dados de ingestão da sua tabela. Se não tiver um mapeamento, você poderá omitir essa propriedade do arquivo de configuração. Você sempre pode analisar os dados em várias colunas posteriormente.
    data_format O formato de dados esperado para dados recebidos. Os dados recebidos estão no formato de texto bruto, portanto, o formato recomendado é csv, que mapeia o texto bruto para o índice zero por padrão.
  4. Crie a imagem do Docker:

    docker build -t splunk-forwarder-listener
    
  5. Execute o contêiner do Docker:

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

Verifique se os dados são ingeridos no Azure Data Explorer

Assim que a janela de encaixe estiver em execução, os dados serão enviados para a tabela do Azure Data Explorer. Você pode verificar se os dados são ingeridos executando uma consulta no editor de consultas da UI da web.

  1. Execute a seguinte consulta para verificar se os dados são ingeridos na tabela:

    SplunkUFLogs
    | count
    
  2. Execute a consulta a seguir para exibir os dados:

    SplunkUFLogs
    | take 100