【发布时间】:2015-09-21 09:45:45
【问题描述】:
我的应用程序日志来自 logstash,格式如下。
{
"Timestamp": "2015-09-09T10:54:57.4562725+00:00",
"Message": "Started processing",
"MessageId": "b80fb2aa-4b7b-4f49-9e60-865c6afa688e",
"ClientName": "TestClient"
}
{
"Timestamp": "2015-09-09T10:55:57.4562725+00:00",
"Message": "Done processing",
"MessageId": "b80fb2aa-4b7b-4f49-9e60-865c6afa688e",
"ClientName": "TestClient"
}
{
"Timestamp": "2015-09-09T10:55:57.4562727+00:00",
"Message": "Time Elapsed: 561 ms",
"MessageId": "b80fb2aa-4b7b-4f49-9e60-865c6afa688e",
"ClientName": "TestClient"
}
我想要实现的是获得平均处理时间(使用相同 MessageId 完成的所有日志记录都是一个处理周期的一部分)。
每个事务的最后一次日志都有处理时间(如上图:“Message”:“Time Elapsed: 561 ms”),我怎样才能得到平均值?有什么想法吗?
【问题讨论】:
-
您是否尝试过针对不同的消息匹配过滤器并为 3 条不同的消息添加标签或类型?然后你可以按时间过滤
标签: logstash kibana logstash-grok elastic-stack