由多线程应用程序生成的以下形状的日志记录被推送到我的elasticsearch索引'log':
[2015-10-09T09:52:18.928] [Debug] [00000x2934 0x000026c0] [Visualization]: updated rendering
[2015-10-09T09:52:19.966] [Debug] [00000x2934 0x000013a0] [Database]: Query request accepted
...
两个十六进制条目是进程和线程ID .
elasticsearch索引中的文档如下所示:
{
"_index": "log",
"_type": "record",
"_id": "AVBXUnCah58TK-z65dea",
"_score": 1,
"_source": {
"process": "00000x2934",
"severity": "Debug",
"thread": "0x000026c0",
"recordId": 1,
"timestamp": "2015-10-09T09:52:18.928",
"message": "updated rendering",
"channel": "Visualization"
}
}
如何创建一个Kibana可视化,其时间范围为X轴,在Y轴上,它具有不同线程ID的条目(在我的应用程序中,有一个具有固定线程数的线程池,<= 10) . 对于具有适当信息(消息或 Channels )的此类事件,应该有一个点(X / Y) .
简而言之:如何通过使用此搜索索引和Kibana的事件来可视化多线程应用程序的时间顺序?
另外一个注意事项:如果没有Kibana有一个简单的解决方案,我也可以 . 它不需要是实时的 .
1 回答
我觉得Gantt Chart可能对你有用 . 每个线程可以在Y轴上有一个条目,并在每个时间范围内可视化其功能 . 到目前为止,这在Kibana4中不可用,但我们可以在将来期待这一点 .