elastic/logstash

Create 'exec' filter

Open

#2.528 aberto em 6 de fev. de 2015

Ver no GitHub
 (1 comment) (1 reaction) (0 assignees)Ruby (3.496 forks)batch import
help wantednew plugin

Métricas do repositório

Stars
 (14.197 stars)
Métricas de merge de PR
 (Mesclagem média 2d 22h) (75 fundiu PRs em 30d)

Description

Migrated from https://logstash.jira.com/browse/LOGSTASH-119:

Would be useful to pipe arbitrary fields through a command to modify them.

Here's an example that would anonymize hostnames or something.

filter {
  exec {
    command => "sed -re 's/\S+\.loggly\.com/anonymizedhost.example.com/'"
    fields => [ "@message", "hostname", "@source_host" ]
  }
}

The default would use only the message to parse

The protocol between logstash and the exec filter must be strict. Something like: for every line emitted, one line must be emitted as the 'new' line. If no changes are made, simply print it unmodified.

deleting the field can be done by printing a blank line

we exec the process once and use stdin for sending data, stdout for reading responses; if it dies, some retries should occur

Guia do colaborador