где я могу найти версию ELK в REST API? - PullRequest
0 голосов
/ 12 февраля 2019

Я хотел бы получить версию ELK через REST API или разобрать html.

Я ищу в документации API, ничего не находя

Повторное редактирование: В python ... я ненайдено лучше, чем

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

Ответы [ 3 ]

0 голосов
/ 13 февраля 2019

Elasticsearch дает JSON, а не HTML.Таким образом, вы можете использовать jq

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

В Python, пожалуйста, не используйте модуль re ... Используйте модуль json и фактически анализируйте этот контент

0 голосов
/ 13 февраля 2019

Если вы уже используете библиотеку requests, почему бы не использовать метод json для анализа результата?

requests.get(my_elk).json()["version"]["number"]
0 голосов
/ 13 февраля 2019

Нет HTML, но если вы позвоните GET / в консоли Kibana или curl -XGET http://localhost:9200/, возврат будет:

{
  "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"
}

Так что все, что вам нужно сделать, это получить version.number из JSONответ.

...