我能够从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}
答案 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的值。