由多线程应用程序生成的以下形状的日志记录被推送到我的Elasticsearch索引“log”:
[2015-10-09T09:52:18.928] [调试] [00000x2934 0x000026c0] [可视化]:更新了渲染
[2015-10-09T09:52:19.966] [调试] [00000x2934 0x000013a0] [数据库]:接受查询请求
...
两个十六进制条目是进程和线程ID。
elasticsearch索引中的文档如下所示:
{
“_index”:“日志”,
“_type”:“记录”,
“_id”:“AVBXUnCah58TK-z65dea”,
“_score”:1
“_资源”: {
“process”:“00000x2934”,
“severity”:“Debug”,
“thread”:“0x000026c0”,
“recordId”:1
“timestamp”:“2015-10-09T09:52:18.928”,
“message”:“更新的渲染”,
“channel”:“可视化”
}
}
如何创建一个以时间范围为X轴且在其Y轴上具有不同线程ID的条目的Kibana可视化文件(在我的应用程序中,线程池的线程数固定为<= 10)。对于此类事件,应该有一个点(X / Y),并带有适当的信息(消息或 channel )。
简而言之:如何使用该搜索索引和Kibana通过事件来可视化多线程应用程序的时间顺序?
还有一点要注意:如果没有Kibana,有一个简单的解决方案,那我也可以。它不需要是实时的。
最佳答案
我觉得Gantt Chart对您可能有用。每个线程在Y轴上可以有一个条目,并在每个时间范围内可视化其功能。到目前为止,该功能在Kibana4中尚不可用,但是我们可以在将来看到。
关于elasticsearch - 使用Kibana从日志文件中按线程显示事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33067131/