4

我正在尝试使用 logstash 读取日志文件。我使用 grok 将消息中的一个数字解析为一个数字并将其存储为一个字段。但据我所知,我只让 Kibana 绘制消息随时间发生的次数。

我没有任何运气使用 Kibana 来绘制更多的图表,而不仅仅是消息出现的次数。

我的消息示例:

1) "JvmStatsLoggerService - gc count: 58"
2) "JvmStatsLoggerService - gc time: 2392 ms"

我提取/创建 COUNT 和 TIME 字段以存储相应的值 58 和 2392..我想绘制过去 5 分钟或 10 分钟内 COUNT 和 TIME 的不同值,而不是它们在日志文件中随时间出现的次数。

在现场演示中尝试过,但在我的 kibana localost 控制台上出现此错误

Oops! ClassCastException[org.elasticsearch.index.fielddata.plain.PagedBytesIndexFieldData cannot be cast to org.elasticsearch.index.fielddata.IndexNumericFieldData]

任何帮助是极大的赞赏。

4

1 回答 1

7

您的弹性搜索索引不知道计数和时间字段是整数。让它知道类型的最简单方法是在 grok 模式中指定类型(注意 last :int

grok {
  match => ["message", "%{INT:timeout:int}"]
}
于 2013-12-06T19:25:06.473 回答