在KIbana查询+忽略hypen

时间:2016-10-17 08:38:01

标签: elasticsearch logstash kibana-4 kibana-3

我在搜索查询方面需要帮助!

我的kibana中的消息数量低于'n',并且我想在下面的消息字段中仅提取“arnold-123-20”字符串,而在我的搜索中忽略hypen( - )并且在时间戳中忽略该数字( 20)匹配错误,我需要忽略它。

message:Oct 17 01:26:20 arnold-123-20.us.com arnold: [INFO]- Successful

在kibana UI中搜索查询:

message:"arnold" AND message:"123-20" AND message:'Successfully'

1 个答案:

答案 0 :(得分:0)

标准Elasticsearch tokenizer打破了单词边界。 -个字符被视为字边界。因此,内部ES将message存储为[oct,17,01,26,20(2),arnold(2),123,us,com,info,successful](基本上它是术语+频率的向量,忽略了术语的顺序。)

您必须创建一个自定义标记生成器,用于识别数据中的标记并使用该标记重新索引数据。那么你的搜索可能会有效。

更好的解决方案是使用logstash来解析某些类型的消息并将数据存储在不同的字段中。例如,您可以将arnold-123-20存储为hostPart,将us.com存储为hostDomain,将arnold-123-20.us.com存储为fullHost。您还需要添加一个索引模板,将不同的字段标记为not_analyzed