Analisador JSON no logstash ignorando dados?

Estou nisso há um tempo e sinto que o filtro JSON no logstash está removendo dados para mim. Eu originalmente segui o tutorial dehttps://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elk-stack-on-ubuntu-14-04

Fiz algumas alterações, mas é basicamente o mesmo. Meu filtro grok fica assim:

uuid #uuid and fingerprint to avoid duplicates
{
    target => "@uuid"
    overwrite => true
}
fingerprint
{
    key => "78787878"
    concatenate_sources => true
}
grok #Get device name from the name of the log
{
    match => { "source" => "%{GREEDYDATA}%{IPV4:DEVICENAME}%{GREEDYDATA}" }
}

grok  #get all the other data from the log
{
    match => { "message" => "%{NUMBER:unixTime}..." }
}
date #Set the unix times to proper times.
{
    match => [ "unixTime","UNIX" ]
    target => "TIMESTAMP"
}


grok #Split up the message if it can
{
    match => { "MSG_FULL" => "%{WORD:MSG_START}%{SPACE}%{GREEDYDATA:MSG_END}" }
}
json 
{
    source => "MSG_END"
    target => "JSON"
}

Então, a parte que está causando problemas é o fundo, eu acho. Todas as minhas coisas de gork devem estar corretas. Quando executo essa configuração, vejo tudo no kibana exibido corretamente, exceto todos os logs que contenham código JSON (nem todos os logs possuem JSON). Quando o executo novamente sem o filtro JSON, ele exibe tudo. Eu tentei usar uma instrução IF para que ele execute o filtro JSON apenas se ele contiver código JSON, mas isso não resolveu nada.

No entanto, quando adicionei uma instrução IF para executar apenas um formato JSON específico (se MSG_START = x, y ou z, MSG_END terá um formato json diferente. Nesse caso, digamos que estou analisando apenas o formato z), então no kibana eu veria todos os logs que contêm o formato JSey x e y (embora não sejam analisados), mas não mostrará z. Portanto, tenho certeza de que deve ter algo a ver com o uso do filtro JSON.

Além disso, sempre que eu quero testar com novos dados, comecei a limpar os dados antigos na elasticsearch para que, se funcionar, eu sei que é o meu logstash que está funcionando e não apenas executando a memória da elasticsearch. Eu fiz isso usandoXDELETE 'http://localhost:9200/logstash-*/'. Mas o logstash não criará novos índices na pesquisa elástica, a menos que eu forneça a batida de arquivo com novos logs. Não sei se esse é outro problema ou não, apenas pensei em mencioná-lo.

Espero que tudo faça sentido.

Edição: Acabei de verificar o arquivo logstash.stdout, verifica-se que ele está analisando o json, mas está mostrando apenas as coisas com "_jsonparsefailure" no kibana, então algo deve estar errado com o Elastisearch. Talvez. Eu não sei, apenas brainstorming :)

LOGS DE AMOSTRA:

1452470936.88 1448975468.00 1 7 mfd_status 000E91DCB5A2 load {"up": [38,1.66,0.40,0.13], "mem": [967364,584900,3596,116772], "cpu": [1299,812,1791,3157,480,144 ], "cpu_dvfs": [996,1589,792,871,396,1320], "cpu_op": [996,50]}

MSG_START está carregado, MSG_END é tudo o que se segue no exemplo acima, portanto MSG_END é JSON válido que desejo analisar.

O log abaixo não possui JSON, mas meu logstash tentará analisar tudo depois de "Inf:" e enviará um "_jsonparsefailure".

1452470931.56 1448975463.00 1 6 rc.app 02: 11: 03.301 Inf: NOSApp: UpdateSplashScreen não implementado nesta plataforma

Além disso, esta é minha saída no logstash, pois sinto que isso é importante agora:

elasticsearch 
{ 
    hosts => ["localhost:9200"] 
    document_id => "%{fingerprint}"
}
stdout { codec => rubydebug }

questionAnswers(2)

yourAnswerToTheQuestion