Algumas coisas aqui:
- O logstash de mapeamento padrão cria conjuntos de todos os campos de string como não analisados, o que tende a ser mais amigável para as ferramentas de visualização downstream.
- Não definir um mapeamento, como você está fazendo, usa o padrão ElasticSearch mapeamento dinâmico , que não é um bom ajuste para o Logstash.
Para testar as coisas, recomendo a seguinte seção de saída:
output
{
elasticsearch
{
hosts => ["localhost:9200"]
manage_template => true
index => "logstash-%{+YYYY.MM.dd}"
}
}
Quando definido dessa forma, os índices do logstash obterão os mapeamentos padrão do logstash, que podem se aproximar do que você espera. Se for esse o caso, você provavelmente terá que definir um arquivo de mapeamento.
output
{
elasticsearch
{
hosts => ["localhost:9200"]
manage_template => true
index => "snort_tcp-%{+YYYY.MM.dd}"
template => "/etc/logstash/template.json"
template_name => "snort_tcp"
}
}