Ingerir dados do Splunk Universal Forwarder para o Azure Data Explorer
Importante
Este conector pode ser usado em Real-Time Intelligence no Microsoft Fabric. Use as instruções incluídas neste artigo com as seguintes exceções:
- Se necessário, crie bancos de dados usando as instruções em Criar um banco de dados KQL.
- Se necessário, crie tabelas usando as instruções em Criar uma tabela vazia.
- Obtenha URIs de consulta ou ingestão usando as instruções em Copiar URI.
- Execute consultas em umKQL queryset.
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
- Splunk Universal Forwarder baixado na mesma máquina de origem dos logs.
- Um cluster e um banco de dados do Azure Data Explorer. Criar um cluster e um banco de dados.
- Docker instalado no sistema que executa o conector Kusto Splunk Universal Forwarder.
- Uma entidade de serviço do Microsoft Entra. Crie uma entidade de serviço Microsoft Entra.
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.
Crie uma tabela:
.create table SplunkUFLogs (RawText: string)
Verifique se a tabela
SplunkUFLogs
foi criada e está vazia:SplunkUFLogs | count
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.
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 e9997
para a porta. Deixe o Indexador de destino em branco.Para obter mais informações, veja Habilitar um receptor para Splunk Enterprise.
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.
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.
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:
Baixe ou clone o conector do repositório GitHub.
Acesse o diretório base do conector:
cd .\SplunkADXForwarder\
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.Crie a imagem do Docker:
docker build -t splunk-forwarder-listener
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.
Execute a seguinte consulta para verificar se os dados são ingeridos na tabela:
SplunkUFLogs | count
Execute a consulta a seguir para exibir os dados:
SplunkUFLogs | take 100