如何获取在Kibana中创建的索引列表?

时间:2016-12-19 18:38:34

标签: elasticsearch kibana

我能够从Elasticsearch检索索引,并在Java中以编程方式在Kibana中注册相应的索引模式。现在我想得到已经在Kibana中创建的索引模式列表,以便我可以将其与Elasticsearch中的索引列表进行交叉检查,以便不再在Kibana中创建它们。

是否有从Kibana获取索引模式列表的API?

-

用于从Elasticsearch获取索引列表的API: http://{hostname}:{port}/_aliases

用于在Kibana中创建索引模式的API: http://{hostname}:{port}/{kibana instance Id}/index-pattern/{index pattern title}

6 个答案:

答案 0 :(得分:1)

使用下一个查询: GET /.kibana/index-pattern/_search

答案 1 :(得分:0)

我担心它目前仍然不可用,您可以使用api公开Kibana中创建的所有索引。

但请记住,只有当您已经在ES中创建了indice时,才能在Kibana中创建索引。所以,也许您可​​以考虑检查您的ES指数是否已经有现有指数,如果没有创建指数。如果您的索引列表中不存在索引,那么您可以确保这样做,这意味着您无法继续在Kibana中创建索引。

答案 2 :(得分:0)

您可以从API列出它们:

GET _cat/indices/.marvel* GET _cat/indices/.kibana

答案 3 :(得分:0)

我查看了Kibana(5.5版)控制台,通过执行此查询可以得到相同的结果

curl -X POST -H 'Content-Type: application/json' \
 -d '{"query":{"match_all":{}},"size":10000}'  \
 http://$ES_HOST/.kibana/index-pattern/_search/\?stored_fields\=""

请注意,如下所示对上述url进行GET请求也将返回这些字段,但它们仅限于10。

curl http://$ES_HOST/.kibana/index-pattern/_search/\?stored_fields\=""

答案 4 :(得分:0)

此查询有效(从kibana开发人员控制台):

GET .kibana/_search?size=10000
{
  "_source": ["index-pattern.title"],
  "query": {
    "term": {
      "type": "index-pattern"
    }
  }
}

答案 5 :(得分:0)

适用于kibana 7.x:

  • 获取所有索引模式
curl -s 'http://192.168.100.100:5601/api/saved_objects/_find?fields=title&fields=type&per_page=10000&type=index-pattern'

# Use jq to get the index-pattern name:
curl -s 'http://192.168.100.100:5601/api/saved_objects/_find?fields=title&fields=type&per_page=10000&type=index-pattern' | jq '.saved_objects[].attributes.title'

"guest-service*"
"activity2020*"
"bank-cockpit*"
"cros-n-wa*"
"anti-fraud20*"
"yhb-node*"
"public-service-node*"
  • 删除特定的索引模式
curl -XDELETE -H 'kbn-xsrf: ""' 'http://192.168.100.100:5601/api/saved_objects/index-pattern/970070d0-f252-11ea-b492-31ec85db4535'

-H 'kbn-xsrf: ""'必须设置,否则API会抱怨{"statusCode":400,"error":"Bad Request","message":"Request must contain a kbn-xsrf header."}

使用jq -r获取不带qoute的值。