我们正在从几个相关应用程序设置日志,以便将日志事件导入Elasticsearch(通过Logstash) . 可以直接创建Kibana仪表板来显示每个应用程序的日志索引,但由于应用程序是相关的,并且其活动属于同一个管道,因此构建一个显示从不同应用程序收集的聚合信息的仪表板会很棒 . 这样的仪表板对于跟踪故障和性能问题特别有用 .
现在我可以看到实现聚合仪表板的三种主要方法:
-
保留单独的应用程序日志并配置将使用来自不同应用程序的信息的Kibana仪表板 . 我担心这可能是一项具有挑战性的任务,我甚至不确定Kibana是否完全支持它 .
-
修改应用程序日志记录,以便它们都将记录到同一索引 . 我不喜欢的是,日志事件结构必须在应用程序之间统一,并且由不同语言的不同人员构建 . 我已经失去了对集中控制日志等低级细节的信心 .
-
保留应用程序日志和相应的Elastichsearch索引,但是设置一个包含聚合信息的新索引 . This article描述了如何配置Elasticsearch将其日志转储到Logstash,然后Logstash将它们插回Elasticsearch进行搜索 . 乍一看,这种方法可能看起来很令人惊讶:为什么需要再次将日志数据重新插入到同一个数据库中?它是另一个索引,它增加了开销,使用了更多空间等 . 但它提供了以适合聚合Kibana仪表板的方式设置索引的机会 .
我想知道是否有人经历过类似的困境,可以分享他们的经历 .
2 回答
我相信如果你不打算使用带时间戳的索引,你可以将默认索引设置为
_all
.使用菜单,转到配置,单击索引选项卡,然后将时间戳设置为"none",将默认索引设置为
_all
. JSON模式最终将包含以下内容:如果需要带时间戳的索引,则需要选择适当的间隔并输入以逗号分隔的索引列表,每个索引都以正确的格式指定 .
我们面临同样的问题,但从不同的角度来看 .
我需要从Kibana获得2个指数的数据 . 我们的数据结构在两个指数中都是相同的 .
所以,我手动添加了第二个索引(部分设置 - >对象):
它帮助我从我需要的那些指数中获取数据 .