Partilhar via


Ingerir dados do Logstash para o Azure Data Explorer

Importante

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

O Logstash é um pipeline de processamento de dados de código aberto do lado do servidor que ingere dados de várias fontes simultaneamente, transforma os dados e, em seguida, envia os dados para o seu "stash" favorito. Neste artigo, você enviará esses dados para o Azure Data Explorer, que é um serviço de exploração de dados rápido e altamente escalável para dados de log e telemetria. Inicialmente, você criará uma tabela e um mapeamento de dados em um cluster de teste e, em seguida, direcionará o Logstash para enviar dados para a tabela e validar os resultados.

Observação

Atualmente, este conector suporta apenas o formato de dados json.

Pré-requisitos

Criar uma tabela

Depois de ter um cluster e um banco de dados, é hora de criar uma tabela.

  1. Execute o seguinte comando na janela de consulta do banco de dados para criar uma tabela:

    .create table logs (timestamp: datetime, message: string)
    
  2. Execute o seguinte comando para confirmar que a nova tabela logs foi criada e que está vazia:

    logs
    | count
    

Criar um mapeamento

O mapeamento é usado pelo Azure Data Explorer para transformar os dados de entrada no esquema da tabela de destino. O comando a seguir cria um novo mapeamento chamado basicmsg que extrai propriedades do json de entrada conforme observado pelo path e as envia para o column.

Execute o seguinte comando na janela de consulta:

.create table logs ingestion json mapping 'basicmsg' '[{"column":"timestamp","path":"$.@timestamp"},{"column":"message","path":"$.message"}]'

Instale o plugin de saída do Logstash

O plug-in de saída Logstash se comunica com o Azure Data Explorer e envia os dados para o serviço. Para obter mais informações, consulte Logstash plugin.

Em um shell de comando, navegue até o diretório raiz do Logstash e execute o seguinte comando para instalar o plug-in:

bin/logstash-plugin install logstash-output-kusto

Configurar o Logstash para gerar um conjunto de dados de exemplo

O Logstash pode gerar eventos de amostra que podem ser usados para testar um pipeline de ponta a ponta. Se você já estiver usando o Logstash e tiver acesso ao seu próprio fluxo de eventos, pule para a próxima seção.

Observação

Se você estiver usando seus próprios dados, altere a tabela e os objetos de mapeamento definidos nas etapas anteriores.

  1. Edite um novo arquivo de texto que conterá as configurações de pipeline necessárias (usando vi):

    vi test.conf
    
  2. Cole as seguintes configurações que informarão ao Logstash para gerar 1000 eventos de teste:

    input {
        stdin { }
        generator {
            message => "Test Message 123"
            count => 1000
        }
    }
    

Essa configuração também inclui o plug-in de stdin entrada que permitirá que você escreva mais mensagens sozinho (certifique-se de usar Enter para enviá-las para o pipeline).

Configurar o Logstash para enviar dados para o Azure Data Explorer

Cole as seguintes configurações no mesmo arquivo de configuração usado na etapa anterior. Preencha todos os marcadores de posição com os valores relevantes para a sua configuração. Para obter mais informações, consulte Criando um aplicativo Microsoft Entra.

output {
    kusto {
            path => "/tmp/kusto/%{+YYYY-MM-dd-HH-mm-ss}.txt"
            ingest_url => "https://ingest-<cluster name>.kusto.windows.net/"
            app_id => "<application id>"
            app_key => "<application key/secret>"
            app_tenant => "<tenant id>"
            database => "<database name>"
            table => "<target table>" # logs as defined above
            json_mapping => "<mapping name>" # basicmsg as defined above
    }
}
Nome do parâmetro Descrição
caminho O plug-in Logstash grava eventos em arquivos temporários antes de enviá-los para o Azure Data Explorer. Esse parâmetro inclui um caminho onde os arquivos devem ser gravados e uma expressão de tempo para rotação de arquivos para disparar um carregamento para o serviço Azure Data Explorer.
ingest_url O ponto de extremidade Kusto para comunicação relacionada ao processo de ingestão.
app_id, app_key e app_tenant Credenciais necessárias para se conectar ao Azure Data Explorer. Certifique-se de usar um aplicativo com privilégios de ingestão.
base de dados Nome do banco de dados para colocar eventos.
tabela Nome da tabela de destino onde colocar eventos.
json_mapping O mapeamento é utilizado para mapear uma string JSON de evento entrante para o formato de linha correto (define qual propriedade vai em que coluna).

Executar Logstash

Agora estamos prontos para executar o Logstash e testar nossas configurações.

  1. Em um shell de comando, navegue até o diretório raiz Logstash e execute o seguinte comando:

    bin/logstash -f test.conf
    

    Você deve ver as informações impressas na tela e, em seguida, as 1000 mensagens geradas pela nossa configuração de exemplo. Neste ponto, você também pode inserir mais mensagens manualmente.

  2. Após alguns minutos, execute a seguinte consulta do Data Explorer para ver as mensagens na tabela que você definiu:

    logs
    | order by timestamp desc
    
  3. Selecione Ctrl+C para sair do Logstash

Limpeza de recursos

Execute o seguinte comando no banco de dados para limpar a logs tabela:

.drop table logs