Kibana - Como extrair campos dos logs existentes do Kubernetes

Eu tenho uma espécie de pilha ELK, com fluentd em vez de logstash, executando como um DaemonSet em um cluster Kubernetes e enviando todos os logs de todos os contêineres, no formato logstash, para um servidor Elasticsearch.

Dos muitos contêineres em execução no cluster Kubernetes, alguns são contêineres nginx que produzem logs com o seguinte formato:

121.29.251.188 - [16/Feb/2017:09:31:35 +0000] host="subdomain.site.com" req="GET /data/schedule/update?date=2017-03-01&type=monthly&blocked=0 HTTP/1.1" status=200 body_bytes=4433 referer="https://subdomain.site.com/schedule/2589959/edit?location=23092&return=monthly" user_agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0" time=0.130 hostname=webapp-3188232752-ly36o

Os campos visíveis em Kibana são de acordo com esta captura de tela:

É possível extrair campos desse tipo de log após a indexação?

O coletor fluentd é configurado com a seguinte fonte, que lida com todos os contêineres, portanto, a imposição de um formato nesse estágio não é possível devido às saídas muito diferentes de diferentes contêineres:

<source>
  type tail
  path /var/log/containers/*.log
  pos_file /var/log/es-containers.log.pos
  time_format %Y-%m-%dT%H:%M:%S.%NZ
  tag kubernetes.*
  format json
  read_from_head true
</source>

Em uma situação ideal, eu gostaria de enriquecer os campos visíveis na captura de tela acima com os meta-campos no campo "log", como "host", "req", "status" etc.

questionAnswers(2)

yourAnswerToTheQuestion