1
votes

où puis-je trouver la version ELK dans l'API REST?

Je voudrais obtenir la version ELK via l'API REST ou analyser le code HTML.

Je recherche dans la documentation de l'API sans rien trouver

Ré-éditer: En python ... je ne suis pas trouvé mieux que

re.findall(r"version":"(\d\.\d\.\d)&quot", requests.get(my_elk).content.decode())[0]


0 commentaires

3 Réponses :


0
votes

Il n'y a pas de HTML, mais si vous appelez GET / dans la console de Kibana ou curl -XGET http: // localhost: 9200 / , le retour sera:

{
  "name" : "instance-0000000039",
  "cluster_name" : "c2edd39f6fa24b0d8e5c34e8d1d19849",
  "cluster_uuid" : "VBkvp8OmTCaVuVvMioS3SA",
  "version" : {
    "number" : "6.6.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "a9861f4",
    "build_date" : "2019-01-24T11:27:09.439740Z",
    "build_snapshot" : false,
    "lucene_version" : "7.6.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Il vous suffit donc d'obtenir version.number à partir de la réponse JSON.


0 commentaires

1
votes

Elasticsearch donne JSON, pas HTML. Donc, vous pouvez utiliser jq

$ curl -s localhost:9200 | jq '.version.number'
6.6.0

En Python, veuillez ne pas utiliser le module re ... Utilisez json module et analyse réellement ce contenu


0 commentaires

0
votes

Si vous utilisez déjà la bibliothèque requests , pourquoi ne pas utiliser la méthode json pour analyser le résultat?

requests.get(my_elk).json()["version"]["number"]


0 commentaires