RousselTMLEARNING

Observabilidad

Logstash: gestionar los plugins y adoptar Elastic Common Schema (ECS)

Versión escrita de las lecciones en vídeo: listar, instalar, actualizar y empaquetar sin conexión los plugins de Logstash; entender ECS, el modo ecs_compatibility y nombrar los campos.

1. La gestión de los plugins #

Ampliar Logstash.

Los comandos #

Listar e instalar plugins.
bin/logstash-plugin list --verbose            # plugins installés et versions
bin/logstash-plugin install logstash-filter-translate
bin/logstash-plugin update logstash-input-kafka
bin/logstash-plugin remove logstash-output-xyz

# Hors ligne : préparer un paquet sur une machine connectée, l'installer ailleurs
bin/logstash-plugin prepare-offline-pack logstash-filter-translate
bin/logstash-plugin install file:///tmp/logstash-offline-plugins-9.1.0.zip
TipoEjemplos
inputbeats, kafka, jdbc, s3, http
filtergrok, dissect, mutate, translate, geoip
outputelasticsearch, s3, kafka, file
codecjson, multiline, plain
Error común: Instalar plugins a mano en cada servidor: las versiones divergen y un nuevo despliegue los pierde. Construye una imagen Docker o un paquete que incluya los plugins necesarios.

2. Elastic Common Schema #

Campos comunes.

Por qué ECS #

ECS define nombres de campos comunes: source.ip, host.name, http.response.status_code, log.level, event.category… Cuando todas las fuentes los respetan, una misma consulta, panel o regla de detección funciona con todos los datos.

Campo propioCampo ECS
clientipsource.ip
statushttp.response.status_code
levellog.level
serverhost.name
useruser.name
filter {
  mutate {
    rename => {
      "clientip" => "[source][ip]"
      "status"   => "[http][response][status_code]"
      "level"    => "[log][level]"
    }
  }
}

El modo ecs_compatibility #

Desde la versión 8, los plugins de Logstash generan por defecto campos compatibles con ECS (pipeline.ecs_compatibility: v8): el input beats, grok con los patrones ECS, geoip… El modo disabled recupera el comportamiento antiguo, útil para migrar pipelines heredados.

Buena práctica: Coloca tus campos de negocio fuera de los espacios de ECS, bajo un prefijo propio (labels.* para palabras clave sencillas, o miapp.*): así no entrarán en conflicto con una futura versión de ECS.

Artículos relacionados

Logstash: función, concepto de pipeline e instalación

Versión escrita de las lecciones en vídeo: para qué sirve Logstash, cómo funciona un pipeline (inputs, filtro…

Logstash: las entradas (inputs) y las salidas (outputs)

Versión escrita de las lecciones en vídeo: los inputs habituales (beats, file, tcp/udp, http, kafka, jdbc) y …

Logstash: los filtros, grok y dissect

Versión escrita de las lecciones en vídeo: los filtros esenciales (mutate, date, json, kv, drop), el plugin g…

Seguir aprendiendo

Apoyar

♥ APOYAR

Apoya RousselTM Learning

Los cursos, artículos, prácticas y certificados siguen siendo gratuitos y sin publicidad intrusiva. Una contribución libre, por el importe que elijas, financia el alojamiento, los entornos de prácticas y nuevos contenidos.

Contribuir con PayPal Importe libre · tarjeta o cuenta PayPalMás información
QR code PayPal
O escanea este código QR con tu teléfono

¡Gracias, cada contribución cuenta!