[Teach you through ELK] Conceito e arquitetura do Logstash

Logstash é uma ferramenta de código aberto para processamento, transformação e transferência de dados. Ele suporta várias entradas, saídas e filtros, que podem coletar, transformar e produzir dados de várias fontes (como arquivos, bancos de dados, MQ, serviços da Web etc.) .) .

A arquitetura do Logstash consiste em três componentes principais: plug-ins de entrada, filtros e plug-ins de saída. O plug-in de entrada é responsável por coletar dados da fonte de dados, o filtro pode processar, transformar e limpar os dados e o plug-in de saída envia os dados processados ​​para o sistema de destino. Veja a seguir um diagrama de arquitetura simples do Logstash:

+-------------------+
|     Data Source   |
+-------------------+
          |
          |
          v
+-------------------+
|   Logstash Input   |
|      Plugin       |
+-------------------+
          |
          |
          v
+-------------------+
|   Logstash Filter  |
|      Plugin       |
+-------------------+
          |
          |
          v
+-------------------+
|  Logstash Output  |
|      Plugin       |
+-------------------+
          |
          |
          v
+-------------------+
|    Target System  |
+-------------------+

Veja a seguir um exemplo simples de implementação do Logstash que demonstra como usar o Logstash para ler dados de um arquivo, filtrar e enviar para o console:

  1. Crie um logstash.confarquivo de configuração chamado config com o seguinte conteúdo:
input {
  file {
    path => "/path/to/your/log/file.log"
  }
}

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
}

output {
  stdout {
    codec => rubydebug
  }
}

Este arquivo de configuração especifica um plug-in de entrada de arquivo, um plug-in de filtro grok e um plug-in de saída do console. Ele /path/to/your/log/file.loglerá os dados de um arquivo, usará um filtro grok para analisar os dados de log no formato de log do Apache e enviará os dados processados ​​para o console.

  1. Inicie o Logstash, especifique o arquivo de configuração:
bin/logstash -f logstash.conf

Isso iniciará o Logstash e carregará logstash.confo arquivo de configuração.

  1. Veja a saída no console:
{
       "host" => "your-hostname",
   "@version" => "1",
   "@timestamp" => "2022-01-01T00:00:00.000Z",
       "path" => "/path/to/your/log/file.log",
       "message" => "127.0.0.1 - - [01/Jan/2022:00:00:00 +0000] \"GET /index.html HTTP/1.1\" 200 1234",
       "clientip" => "127.0.0.1",
       "ident" => "-",
       "auth" => "-",
       "timestamp" => "01/Jan/2022:00:00:00 +0000",
       "verb" => "GET",
       "request" => "/index.html",
       "httpversion" => "1.1",
       "response" => "200",
       "bytes" => "1234"
}

Essa saída contém os dados de log do Apache analisados ​​e pode ser visto que o valor de cada campo foi identificado e separado corretamente.

Logstash é uma ferramenta de código aberto para processamento, transformação e transmissão de dados. Sua arquitetura inclui três componentes principais: plug-ins de entrada, filtros e plug-ins de saída. O plug-in de entrada é responsável por coletar dados da fonte de dados, o filtro pode processar, transformar e limpar os dados e o plug-in de saída envia os dados processados ​​para o sistema de destino.

O fluxo de trabalho do Logstash é o seguinte:

  1. Os plug-ins de entrada coletam dados de fontes de dados, como leitura de dados de arquivos, bancos de dados, MQ, serviços da Web, etc.

  2. Os filtros processam, transformam e limpam dados, como análise de dados de log, substituição de campos e filtragem de dados inúteis.

  3. Os plug-ins de saída enviam dados processados ​​para sistemas de destino, como Elasticsearch, Redis, Kafka, MySQL, etc.

O Logstash costuma ser usado nos seguintes cenários:

  • Processamento e análise de log: Logstash pode coletar, analisar e filtrar dados de log gerados por vários aplicativos e sistemas, que podem ser usados ​​para monitoramento de log, análise de relatório, solução de problemas, etc.

  • Coleta de dados e ETL: o Logstash pode coletar dados de várias fontes de dados, convertê-los e limpá-los e pode ser usado para data warehouse, análise de dados, BI, etc.

  • Pipeline de dados e processamento de fluxo: o Logstash pode transferir dados de um sistema para outro, suportando streaming em tempo real e processamento em lote.

Aqui estão alguns links para literatura sobre conceitos e arquitetura do Logstash:

Acho que você gosta

Origin blog.csdn.net/feng1790291543/article/details/132102626
Recomendado
Clasificación