2014-07-11 30 views
-2

我们有一些Python的服务,其中许多使用Nginx的反向代理。现在,我们通过拖拽/var/log/nginx/access.log中的日志来实时检查请求。我想让这些日志在Web服务器上公开可读,所以人们不必通过SSH连接到单个机器。A可实时仪表盘日志

我们目前的基础设施已经很流利(我听说有一个类似于logstash的工具)将日志发送到一个集中的统计服务器,该服务器安装了Elasticsearch和kibana,并且认为kibana将作为查看我们的前端日志。

我什么都不知道这些服务。如果我想实时查看我们的日志,这个堆栈甚至可行吗? Elasticsearch可以提供只有短暂延迟的实时数据吗? kibana是否有开箱即用的功能,用于在新的日志数据进入时自动更新页面(即,它是否与elasticsearch有套接字连接?或者我是否陷入了错误的工具集?

+0

您可以通过阅读[各个组件的文档](http://www.elasticsearch.org/overview/kibana/)来回答您的问题,我不确定发布您的问题的意义这里。 –

+0

我不同意。我阅读了所有内容,但留下了大多数人用它来分析旧日志数据的意义。 '实时'这个词被抛出,但我没有得到任何我期待的好例子。因此来到这里,希望有经验的人在我的确切情况下。 – user1427661

回答

1

Kibana is just这是一个弹性搜索界面,它直接与对话,因此它的数据实际为,因为您输入的数据是elasticsearch。换句话说,它只与您的收藏家一样好(在您的情况)。

它的工作原理有你定义它使用查询到弹性搜索数据,然后你可以把它随时搜索关键字,然后可视化数据的时间序列。

如果“实时”你的意思是你想要的图形移动/动画 - 这也是可能的(其被称为“流仪表盘”);但这不是kibana的真正力量 - 真正的力量是一个非常丰富的查询引擎,深入到时间序列,做计算(y期的顶部x)。

如果所有你想要的是一个很好的视觉/移动的东西放置在墙上的电视 - 这可能与kibana,但请记住,你必须存储在elasticsearch的一切,所以除非你打算做一些其他分析,你必须调整你的配置。例如,消息的TTL非常短,因此一旦它们可视化,它们就不再可用;或过滤器fluentd只发送你想要绘制的事件。否则,您将遇到磁盘空间问题。

如果这是所有你想要的,这将是一个更容易抓住一些javascript图表库和使用,在您的门户网站。

1

我有“的access.log(或其他日志) - logstash(或其他ES索引) - Kibana”管道设置了多项服务和日志和它工作得很好。在我们的例子中,它有超过一秒的延迟,但这是因为在日志或ES索引器中缓冲,而不是因为Kibana/ES本身。

您可以设置Kibana只显示数据的最后X分钟刷新一次Y秒,这给出了一个体面的实时感受 - 并期待在电视上不错;)

记住Kibana有时可发出可能会导致ES群集崩溃的非常糟糕的查询(尽管这在最近的ES和Kibana版本中似乎有了很大的改进),所以不要依赖它作为日志的永久性数据存储,并且不要共享ES群集用于具有更强大高可用性需求的应用程序的Kibana。

正如Burhan Khalid指出的那样,这种设置还使我们能够深入细致地研究特定模式,这非常有用(“此图上的这个尖峰是什么?” - 放大,添加一对过滤器,看看几个例子的日志行,再次过滤 - 神秘解决了)。我认为当我们发现奇怪的东西实际上是这个解决方案的最佳部分时,我们不必去挖掘其他地方去获得更多细节。