Ho un'applicazione Java che scrive in un file di registro in formato json. I campi che arrivano nei log sono variabili. Il logstash legge questo file di log e lo invia a Kibana.Pannello termini Logstash + Kibana senza parole di interruzione
Ho configurato il logstash con il seguente file:
input {
file {
path => ["[log_path]"]
codec => "json"
}
}
filter{
json {
source => "message"
}
date {
match => [ "data", "dd-MM-yyyy HH:mm:ss.SSS" ]
timezone => "America/Sao_Paulo"
}
}
output {
elasticsearch_http {
flush_size => 1
host => "[host]"
index => "application-%{+YYYY.MM.dd}"
}
}
Sono riuscito a dimostrare in modo corretto tutto in Kibana senza alcuna mappatura. Ma quando provo a creare un pannello termini per mostrare un conteggio dei server che hanno inviato quei messaggi ho un problema. Ho un campo chiamato server nel mio json, che mostra il nome del server (come: a1-name-server1), ma il pannello dei termini divide il nome del server a causa del "-". Vorrei anche contare il numero di volte che appare un messaggio di errore, ma lo stesso problema si verifica, perché il pannello dei termini divide il messaggio di errore a causa degli spazi.
Sto utilizzando Kibana 3 e Logstash 1.4. Ho cercato molto sul web e non ho trovato nessuna soluzione. Ho provato anche a usare il .raw da logstash, ma non ha funzionato.
Come posso gestirlo?
Grazie per l'aiuto.
Devo passare il nome del campo esatto anziché "nome_campo" o semplicemente farlo funzionare per tutti i campi? – brunodahora
@brunodahora È necessario specificare il nome del campo. – Pigueiras