Então eu tinha eventos MUITO complexos indexados, agora quero exibi-los para os usuários.
Eu tinha a mensagem "objetos em matrizes não são suportados", então tive que usar copy_to: hits.messages
, mas isso traz outro problema.
Parece que o Kibana não pode exibir campos doc_values: true
. Na verdade, o kibana não pode exibir campos que são retornados por consultas comuns por meio da API ES REST.
"fields": {
"hits.messages": [
"Access denied with code 402 (phase 2). Pattern match \"(.*)\" at TX:960009-OWASP_CRS/PROTOCOL_VIOLATION/MISSING_HEADER-REQUEST_HEADERS.",
"Operator EQ matched 0 at REQUEST_HEADERS.",
"Pattern match \"^[\\\\d.:]+$\" at REQUEST_HEADERS:Host."
]
}
Apesar hits.messages
ser mapeado como:
"messages" : {
"index" : "not_analyzed",
"type" : "string",
"doc_values" : true
},
não é mostrado no Kibana. Eu posso visualizá-lo, mas não posso exibir. Isso está contradizendo o que um ser humano normal esperaria. Além disso, se você puder pesquisá-lo, poderá vê-lo - e não importa se 8 bytes adicionais de RAM seriam desperdiçados.
Para hits.messages, Kibana me dizendo: "Este campo está presente em seu mapeamento elasticsearch, mas não em nenhum documento nos resultados da pesquisa. Você ainda pode visualizar ou pesquisar nele.".
Eu li os documentos, mas em nenhum lugar vi menção ao comportamento. Se o kibana exibir APENAS os campos _source
, por favor, escreva isso com letras vermelhas grandes na página principal do manual do kibana, pois isso é muito importante.
Há tantos bugs abertos no ELK trio que não tenho certeza se devo registrar algum adicional ou simplesmente pular o software.
Sim. O Kibana exibe apenas coisas armazenadas em _source
. Desculpe a confusão, é por isso que você pode agregar, mas não exibi-lo.
Felicidades
Qual é a solução alternativa além de usar o logstash para reorganizar o evento original e injetar novos campos com dados desconfigurados/ajustados?
enfrentando o problema agora. Kibana não é nada amigável
Comentários muito úteis
enfrentando o problema agora. Kibana não é nada amigável