2024-05-17 05:05:36 发布
网友
我想通过restapi或解析html获得ELK版本。你知道吗
我在API文档中搜索,什么也没找到
重新编辑: 在python中。。。没有比这更好的了
re.findall(r"version":"(\d\.\d\.\d)"", requests.get(my_elk).content.decode())[0]
没有HTML,但是如果在Kibana的控制台中调用GET /或curl -XGET http://localhost:9200/,则返回结果将是:
GET /
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" }
所以您只需要从JSON响应中获取version.number。你知道吗
version.number
如果您已经在使用requests库,为什么不使用json方法来解析结果呢?你知道吗
requests
json
requests.get(my_elk).json()["version"]["number"]
Elasticsearch提供JSON,而不是HTML。所以,你可以用jq
jq
$ curl -s localhost:9200 | jq '.version.number' 6.6.0
在Python中,请不要使用re模块。。。使用json模块并实际解析该内容
re
没有HTML,但是如果在Kibana的控制台中调用
GET /
或curl -XGET http://localhost:9200/
,则返回结果将是:所以您只需要从JSON响应中获取
version.number
。你知道吗如果您已经在使用
requests
库,为什么不使用json
方法来解析结果呢?你知道吗Elasticsearch提供JSON,而不是HTML。所以,你可以用
jq
在Python中,请不要使用
re
模块。。。使用json
模块并实际解析该内容相关问题 更多 >
编程相关推荐