Share via


ingerir dados do Logstash para o Azure Data Explorer

Importante

Esse conector pode ser usado na Análise em Tempo Real no Microsoft Fabric. Use as instruções neste artigo com as seguintes exceções:

O Logstash é um software livre de pipeline de processamento de dados no lado do servidor que ingere dados de muitas origens simultaneamente, transforma os dados e, depois, envia os dados ao seu "stash" favorito. Neste artigo, você enviará esses dados ao Azure Data Explorer, que é um serviço de exploração de dados rápido e altamente escalonável para dados de log e telemetria. Inicialmente, você criará um mapeamento de tabela e dados em um cluster de teste e depois instruirá o Logstash a enviar dados para a tabela e validar os resultados.

Observação

No momento, esse conector é compatível somente com o formato de dados JSON.

Pré-requisitos

Criar uma tabela

Depois que você tiver um cluster e um banco de dados, é hora de criar uma tabela.

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

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

    logs
    | count
    

Criar um mapeamento

O mapeamento é usado pelo Azure Data Explorer para transformar os dados recebidos no esquema da tabela de destino. O comando a seguir cria um mapeamento denominado basicmsg que extrai as propriedades do json de entrada, conforme indicado pelo path, e gera como saída para o column.

Execute o comando a seguir na janela de consulta:

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

Instalar o plug-in de saída do Logstash

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

Em um shell de comando, navegue até o diretório raiz 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 consegue gerar eventos de exemplo que podem ser usados para testar um pipeline de ponta a ponta. Se você já estiver usando o Logstash e tem acesso ao seu próprio fluxo de eventos, pule para a próxima seção.

Observação

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

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

    vi test.conf
    
  2. Cole as configurações a seguir, que instruirão o Logstash a gerar 1000 eventos de teste:

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

Essa configuração também inclui o stdin plug-in de entrada que permite que você escreva mais mensagens por conta própria (não se esqueça de usar Enter para enviá-las no pipeline).

Configurar o Logstash para enviar dados para o Azure Data Explorer

Cole as configurações a seguir no mesmo arquivo de configuração usado na etapa anterior. Substitua todos os espaços reservados pelos valores relevantes para sua configuração. Para obter mais informações, consulte Criando um aplicativo de 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
path O plug-in do Logstash grava eventos em arquivos temporários antes de enviá-los para o Azure Data Explorer. Esse parâmetro inclui um caminho no qual os arquivos devem ser gravados e uma expressão de tempo para a rotação de arquivos a fim de disparar um upload para o serviço do Azure Data Explorer.
ingest_url O ponto de extremidade do Kusto para comunicação relacionada à 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.
database Nome do banco de dados para colocar os eventos.
table Nome da tabela de destino para colocar os eventos.
json_mapping O mapeamento é usado para mapear uma cadeia de caracteres json de evento recebida no formato correto de linha (define qual propriedade entra em qual coluna).

Executar o 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 informações impressas na tela e, em seguida, as 1000 mensagens geradas por nosso exemplo de configuração. Neste ponto, também pode inserir mais mensagens manualmente.

  2. Depois de alguns minutos, execute a consulta do Data Explorer a seguir para ver as mensagens na tabela que definiu:

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

Limpar os recursos

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

.drop table logs