I've perused the forum regarding _grokparsefailure, but they all ask about solving specific log messages. I have a general question.
As I form my Grok filters for one of our applications, I expect to get _grokparsefailure since my filters are incomplete. As I get them, I want to
- Mutate one of the fields
 - Send the log message to Elasticsearch
 - Search for the index with the mutated field in Kibana
 
So this will be the last filter I'll have
filter {
  if "_grokparsefailure" in [tags] {
    mutate {
      remove_tag => [ "_grokparsefailure" ]
      replace => {
       "customer" => "grokparsefailure"
      }
    }
  }
}
Then my output filter looks like
output {
  stdout {
    codec => rubydebug
  }
  elasticsearch {
    # other options
    index => "logstash-%{customer}-%{+YYYY.MM.dd}"
  }
}
I can then just form a "logstash-grokparsefailure-*" index in Kibana.
How does this strategy sound?