[Enseñarle a través de ELK] Concepto y arquitectura de Logstash

Logstash es una herramienta de código abierto para el procesamiento, transformación y transferencia de datos. Admite múltiples entradas, salidas y filtros, que pueden recopilar, transformar y enviar datos de varias fuentes (como archivos, bases de datos, MQ, servicios web, etc.) a varios objetivos (como Elasticsearch, Redis, Kafka, MySQL, etc.) .) .

La arquitectura de Logstash consta de tres componentes principales: complementos de entrada, filtros y complementos de salida. El complemento de entrada es responsable de recopilar datos de la fuente de datos, el filtro puede procesar, transformar y limpiar los datos, y el complemento de salida envía los datos procesados ​​al sistema de destino. El siguiente es un diagrama de arquitectura simple de Logstash:

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

La siguiente es una implementación de ejemplo simple de Logstash que demuestra cómo usar Logstash para leer datos de un archivo, filtrarlos y enviarlos a la consola:

  1. Cree un logstash.confarchivo de configuración llamado config con el siguiente contenido:
input {
  file {
    path => "/path/to/your/log/file.log"
  }
}

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

output {
  stdout {
    codec => rubydebug
  }
}

Este archivo de configuración especifica un complemento de entrada de archivo, un complemento de filtro grok y un complemento de salida de consola. Leerá /path/to/your/log/file.logdatos de un archivo, usará un filtro grok para analizar los datos de registro en el formato de registro de Apache y enviará los datos procesados ​​a la consola.

  1. Inicie Logstash, especifique el archivo de configuración:
bin/logstash -f logstash.conf

Esto iniciará Logstash y cargará logstash.confel archivo de configuración.

  1. Ver el resultado en la consola:
{
       "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"
}

Esta salida contiene los datos de registro de Apache analizados y se puede ver que el valor de cada campo se ha identificado y separado correctamente.

Logstash es una herramienta de código abierto para el procesamiento, transformación y transmisión de datos Su arquitectura incluye tres componentes principales: complementos de entrada, filtros y complementos de salida. El complemento de entrada es responsable de recopilar datos de la fuente de datos, el filtro puede procesar, transformar y limpiar los datos, y el complemento de salida envía los datos procesados ​​al sistema de destino.

El flujo de trabajo de Logstash es el siguiente:

  1. Los complementos de entrada recopilan datos de fuentes de datos, como la lectura de datos de archivos, bases de datos, MQ, servicios web, etc.

  2. Los filtros procesan, transforman y limpian datos, como analizar datos de registro, reemplazar campos y filtrar datos inútiles.

  3. Los complementos de salida envían datos procesados ​​a sistemas de destino como Elasticsearch, Redis, Kafka, MySQL, etc.

Logstash se usa a menudo en los siguientes escenarios:

  • Procesamiento y análisis de registros: Logstash puede recopilar, analizar y filtrar datos de registro generados por varias aplicaciones y sistemas, que se pueden usar para monitorear registros, analizar informes, solucionar problemas, etc.

  • Recopilación de datos y ETL: Logstash puede recopilar datos de varias fuentes de datos, convertirlos y limpiarlos, y puede usarse para almacenamiento de datos, análisis de datos, BI, etc.

  • Canalización de datos y procesamiento de transmisión: Logstash puede transferir datos de un sistema a otro, lo que admite la transmisión en tiempo real y el procesamiento por lotes.

Aquí hay algunos enlaces a la literatura sobre los conceptos y la arquitectura de Logstash:

Supongo que te gusta

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