elastic/logstash

Create 'exec' filter

Open

#2 528 ouverte le 6 févr. 2015

Voir sur GitHub
 (1 commentaire) (1 réaction) (0 assignés)Ruby (3 496 forks)batch import
help wantednew plugin

Métriques du dépôt

Stars
 (14 197 stars)
Métriques de merge PR
 (Merge moyen 2j 22h) (75 PRs mergées en 30 j)

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

Guide contributeur