【发布时间】:2015-06-22 16:27:30
【问题描述】:
每当我创建可视化时,Kibana 4 都会要求我选择索引以进行搜索。我的项目需要搜索多个索引中存在的数据,因此我被卡住了。我希望为我的数据搜索两个索引,然后将它们可视化。任何帮助都会很有价值。
【问题讨论】:
标签: elasticsearch kibana kibana-4
每当我创建可视化时,Kibana 4 都会要求我选择索引以进行搜索。我的项目需要搜索多个索引中存在的数据,因此我被卡住了。我希望为我的数据搜索两个索引,然后将它们可视化。任何帮助都会很有价值。
【问题讨论】:
标签: elasticsearch kibana kibana-4
Kibana 可以从多个索引创建可视化。但!索引应该具有相似的名称,或者具有相似名称的别名,例如,您可以简单地从索引中获取数据:logstash-2015-01-01 和 logstash-2015-01-02 使用掩码 logstash-*。
但是是的,如果我们可以编写类似 index1,onother_index 之类的东西会很方便。
【讨论】:
在任何情况下都有效的解决方案:在 Elasticsearch 中为您要同时查询的索引创建一个别名,然后在 Kibana 中使用该别名作为索引模式。
在插件 Marvel 中,通过 Sense 接口,您可以通过执行此请求为多个索引创建别名:
POST _aliases
{
"actions" : [
{ "add" : { "index" : "test1", "alias" : "alias1" } },
{ "add" : { "index" : "test2", "alias" : "alias1" } }
]
}
或使用 CURL:
curl -XPOST 'http://localhost:9200/_aliases' -d '
{
"actions" : [
{ "add" : { "index" : "test1", "alias" : "alias1" } },
{ "add" : { "index" : "test2", "alias" : "alias1" } }
]
}'
然后,您只需在 Kibana 中为“alias1”添加一个索引模式并创建您的可视化。
有关别名的更多信息,请参阅https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html
【讨论】:
感谢所有帮助,但我想出了一种方法可以做到这一点。 在 Kibana 4 的索引模式中,创建一个索引模式为 _all。此索引模式包含弹性搜索中存在的所有索引。因此,当您创建新的可视化时,只需在此处选择 _all 索引模式,即可访问 elasticsearch 中所有索引中的所有数据字段,您可以轻松地使用它来创建可视化。
【讨论】:
如果我理解您的要求正确,那么这可能取决于您如何命名索引。
我可以通过选择我的模式“logstash-*”来查询多个 logstash 索引。设置索引时,您可以选择指定模式。
(设置 => 索引 => 索引模式 => 新增)
我希望这会有所帮助。
【讨论】:
两个通配符(即*-*)在 Kibana 4 中适用于我。
【讨论】:
* 包含所有 timelion 和其他内部 ES 索引,但由于我将所有索引命名为 nginx-* 和 logstash-* *-* 仅捕获我的实际索引。这是托管在 AWS 上的 Kibana4 上的 ES 6。
我不确定我是否理解正确,但我认为您最好的选择是分别在您想要的两个索引上创建该可视化,并构建一个包含这两个可视化的仪表板。
Kibana 无法通过来自两个独立索引的搜索显示单个可视化。
【讨论】: