Я хотел бы перечислить все индексы присутствуют на сервер Elasticsearch в. Я попытался это:
curl -XGET localhost:9200/
но это просто дает мне это:
{
"ok" : true,
"status" : 200,
"name" : "El Aguila",
"version" : {
"number" : "0.19.3",
"snapshot_build" : false
},
"tagline" : "You Know, for Search"
}
Мне нужен список всех индексов..
Для краткий список всех индексов в кластере, звоните
curl http://localhost:9200/_aliases
это даст вам список индексов и их псевдонимы.
Если вы хотите, чтобы это красивая-печатные, добавить довольно=правда`:
curl http://localhost:9200/_aliases?pretty=true
Результат будет выглядеть примерно так, если ваши показатели называются old_deuteronomy " и " мангоджерри`:
{
"old_deuteronomy" : {
"aliases" : { }
},
"mungojerrie" : {
"aliases" : {
"rumpleteazer" : { },
"that_horrible_cat" : { }
}
}
}
Попробовать
curl 'localhost:9200/_cat/indices?v'
Я дам вам следующие понятны вывода в табличном виде
health index pri rep docs.count docs.deleted store.size pri.store.size
yellow customer 5 1 0 0 495b 495b
Вы можете запросить локальным `localhost:9200/_status и это даст вам список индексов и информация о каждом. Ответ будет выглядеть примерно так:
{
"ok" : true,
"_shards" : { ... },
"indices" : {
"my_index" : { ... },
"another_index" : { ... }
}
}
Команда _stats обеспечивает способы, чтобы настроить результаты с указанием метрики пожелал. Для получения индексов запрос выглядит следующим образом:
GET /_stats/indices
Общий формат запроса _stats
является:
/_stats
/_stats/{metric}
/_stats/{metric}/{indexMetric}
/{index}/_stats
/{index}/_stats/{metric}
Где показатели:
indices, docs, store, indexing, search, get, merge,
refresh, flush, warmer, filter_cache, id_cache,
percolate, segments, fielddata, completion
Как разработать для себя я'вэ написал небольшой плагин Elasticsearch в предоставлении возможности перечислить Elasticsearch в индексы без любой другой информации. Вы можете найти его по следующему адресу:
http://blog.iterativ.ch/2014/04/11/listindices-writing-your-first-elasticsearch-java-plugin/
Я использую это, чтобы получить все индексы:
$ curl --silent 'http://127.0.0.1:9200/_cat/indices' | cut -d\ -f3
С этого списка вы можете работать на...
Пример ###
$ curl -s 'http://localhost:9200/_cat/indices' | head -5
green open qa-abcdefq_1458925279526 1 6 0 0 1008b 144b
green open qa-test_learnq_1460483735129 1 6 0 0 1008b 144b
green open qa-testimportd_1458925361399 1 6 0 0 1008b 144b
green open qa-test123p_reports 1 6 3868280 25605 5.9gb 870.5mb
green open qa-dan050216p_1462220967543 1 6 0 0 1008b 144b
Чтобы получить 3-й столбец выше (наименования показателей):
$ curl -s 'http://localhost:9200/_cat/indices' | head -5 | cut -d\ -f3
qa-abcdefq_1458925279526
qa-test_learnq_1460483735129
qa-testimportd_1458925361399
qa-test123p_reports
qa-dan050216p_1462220967543
Примечание: Вы также можете использовать awk и#39;{печать 3$}'
вместо вырезать -д\ -Ф3
.
Вы также можете суффикс запрос с ?V
, чтобы добавить заголовок столбца. Это может нарушить `резать... метод, поэтому я'd рекомендую с помощью отбора на awk.. на данный момент.
$ curl -s 'http://localhost:9200/_cat/indices?v' | head -5
health status index pri rep docs.count docs.deleted store.size pri.store.size
green open qa-abcdefq_1458925279526 1 6 0 0 1008b 144b
green open qa-test_learnq_1460483735129 1 6 0 0 1008b 144b
green open qa-testimportd_1458925361399 1 6 0 0 1008b 144b
green open qa-test123p_reports 1 6 3868280 25605 5.9gb 870.5mb
Я также рекомендую делать индексы /_cat/, который дает хороший четкий список человеческих индексов.
Ротор -XGET 'http://localhost:9200/_cluster/health?level=indices'`
Это будет выход, как показано ниже
{
"cluster_name": "XXXXXX:name",
"status": "green",
"timed_out": false,
"number_of_nodes": 3,
"number_of_data_nodes": 3,
"active_primary_shards": 199,
"active_shards": 398,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 0,
"delayed_unassigned_shards": 0,
"number_of_pending_tasks": 0,
"number_of_in_flight_fetch": 0,
"task_max_waiting_in_queue_millis": 0,
"active_shards_percent_as_number": 100,
"indices": {
"logstash-2017.06.19": {
"status": "green",
"number_of_shards": 3,
"number_of_replicas": 1,
"active_primary_shards": 3,
"active_shards": 6,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 0
},
"logstash-2017.06.18": {
"status": "green",
"number_of_shards": 3,
"number_of_replicas": 1,
"active_primary_shards": 3,
"active_shards": 6,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 0
}}
Самый простой способ получить список индексов с использованием указанного выше ответа, с 'индекс H=' параметр:
curl -XGET "localhost:9200/_cat/indices?h=index"
Я'll даем вам запрос, который вы можете запустить на платформы Kibana.
GET /_cat/indices?v
и версия завиток будет
CURL -XGET http://localhost:9200/_cat/indices?v
/Индексы _stats
дает результат с "индексы".
$ curl -XGET "localhost:9200/_stats/indices?pretty=true"
{
"_shards" : {
"total" : 10,
"successful" : 5,
"failed" : 0
},
"_all" : {
"primaries" : { },
"total" : { }
},
"indices" : {
"visitors" : {
"primaries" : { },
"total" : { }
}
}
}
Люди тут уже ответили как это сделать в curl и смысл, некоторые люди, возможно, должны сделать это в Java.
Вот он идет
client.admin().indices().stats(new IndicesStatsRequest()).actionGet().getIndices().keySet()
Попробуйте этот кот по API: это даст вам список всех индексов со здоровьем и другие детали.
Завиток -XGET http://localhost:9200/_cat/indices
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>2.4.0</version>
</dependency>
API-интерфейса Java
Settings settings = Settings.settingsBuilder().put("cluster.name", Consts.ES_CLUSTER_NAME).build();
TransportClient client = TransportClient.builder().settings(settings).build().addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("52.43.207.11"), 9300));
IndicesAdminClient indicesAdminClient = client.admin().indices();
GetIndexResponse getIndexResponse = indicesAdminClient.getIndex(new GetIndexRequest()).get();
for (String index : getIndexResponse.getIndices()) {
logger.info("[index:" + index + "]");
}
Я использую _stats/индексы
конечной точки, чтобы получить BLOB-объектов в JSON данных и затем фильтр с U в.
curl 'localhost:9200/_stats/indexes' | jq '.indices | keys | .[]'
"admin"
"blazeds"
"cgi-bin"
"contacts_v1"
"flex2gateway"
"formmail"
"formmail.pl"
"gw"
...
Если вы Don'т хотим, котировки, добавить -Р
флаг jq не.
Да, конечная точка индексы
и клавишу данных "индексы", поэтому они не'т принять решение либо :)
Мне нужно, чтобы очистить эти индексы мусора создана сканирования внутренней безопасности (Несс).
ПС. Я настоятельно рекомендую ознакомиться с U в Если вы'ре собирается взаимодействовать с ЕС из командной строки.
Я Kibana и Эс установлена на машине. Но я не знаю подробностей(на какой путь или порт) был узел ES на этой машине.
Так как вы можете сделать это с платформы Kibana (версия 5.6)?
`Вам _cat/показателей
Я был заинтересован в поиске размер определенной индексом ES
You may use this command line.
завивать-Х сделать "по адресу localhost:9200/_cat/индексов?в"и
Дополнительные (официальный сайт Elasticsearch с)
You can also get specific index using
curl -X GET "localhost:9200/<INDEX_NAME>"
e.g. curl -X GET "localhost:9200/twitter"
You may get output like:
{
"twitter": {
"aliases": {
},
"mappings": {
},
"settings": {
"index": {
"creation_date": "1540797250479",
"number_of_shards": "3",
"number_of_replicas": "2",
"uuid": "CHYecky8Q-ijsoJbpXP95w",
"version": {
"created": "6040299"
},
"provided_name": "twitter"
}
}
}
}
For more info [https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-index.html][1]
Для Elasticsearch 6.Х, я нашел следующие наиболее полезная. Каждый обеспечивает различные данные в ответ.
``
завиток -СС 'на localhost:9200/_stats' | jq не -с помощью ".индексы" - а | меньше
завиток -СС 'на localhost:9200/_cluster/здоровье?уровень=индексы' | jq не -с помощью ".индексы" - а | меньше ``