394 Stimmen

Liste alle Indizes auf dem ElasticSearch-Server auf?

Ich möchte alle Indizes auflisten, die auf einem ElasticSearch-Server vorhanden sind. Ich habe es damit versucht:

curl -XGET localhost:9200/

aber es gibt mir nur dies zurück:

{
  "ok" : true,
  "status" : 200,
  "name" : "El Aguila",
  "version" : {
    "number" : "0.19.3",
    "snapshot_build" : false
  },
  "tagline" : "Du weißt, wofür man sucht"
}

Ich möchte eine Liste aller Indizes...

7voto

Pinkesh Sharma Punkte 2288

Ich werde Ihnen die Abfrage geben, die Sie in Kibana ausführen können.

GET /_cat/indices?v

und die CURL-Version wird sein

CURL -XGET http://localhost:9200/_cat/indices?v

6voto

smack cherry Punkte 471

Zugriff auf den gesicherten Elastic Search über Curl (Update 2020)

Wenn der Elastic Search gesichert ist, können Sie diesen Befehl verwenden, um die Indizes aufzulisten

curl http://benutzername:passwort@localhost:9200/_aliases?pretty=true

5voto

Justin W. Punkte 908

Für Elasticsearch 6.X fand ich folgendes am hilfreichsten. Jedes liefert unterschiedliche Daten in der Antwort.

# ausführlicher
curl -sS 'localhost:9200/_stats' | jq -C ".indices" | less

# weniger ausführlich, Zusammenfassung
curl -sS 'localhost:9200/_cluster/health?level=indices' | jq -C ".indices" | less

3voto

spazm Punkte 3931

Ich verwende den _stats/indexes-Endpunkt, um einen JSON-Blob mit Daten zu erhalten und dann mit jq zu filtern.

curl 'localhost:9200/_stats/indexes' | jq '.indices | keys | .[]'

"admin"
"blazeds"
"cgi-bin"
"contacts_v1"
"flex2gateway"
"formmail"
"formmail.pl"
"gw"
...

Wenn Sie keine Anführungszeichen möchten, fügen Sie der jq einen -r-Schalter hinzu.

Ja, der Endpunkt ist indexes und der Datenkey ist indices, also konnten sie sich auch nicht entscheiden :)

Ich brauchte das, um diese Müll-Indices aufzuräumen, die von einem internen Sicherheitsscan (nessus) erstellt wurden.

PS. Ich empfehle dringend, sich mit jq vertraut zu machen, wenn Sie mit ES über die Befehlszeile interagieren möchten.

3voto

Yagnesh bhalala Punkte 959

Sie können auch einen spezifischen Index erhalten mit

curl -X GET "localhost:9200/"
z. B. curl -X GET "localhost:9200/twitter"
Sie erhalten möglicherweise eine Ausgabe wie folgt:
{
  "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"
      }
    }
  }
}

Für weitere Informationen

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-index.html

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X