我正在使用 蟒蛇:2.7.16 Elasticsearch:6.8.12 启用 TLS
我在我的服务器/主机上得到输出 如果我跑 curl --insecure $CREDS -X GET "localhost:9210/metricbeat*/_search" | python -m json.tool
如果我在我的 python 脚本中使用以下代码:
从elasticsearch导入Elasticsearch,RequestsHttpConnection
url = Elasticsearch(['https://' + options.controller + ':9210/metricbeat*/_search'], verify_certs=False, connection_class=RequestsHttpConnection)
错误:
收集系统信息...
/Users/Library/Python/2.7/lib/python/site-packages/elasticsearch/connection/http_requests.py:141: UserWarning: 使用 SSL 连接到 https://x.x.x.x:9210 和 verify_certs=False 是不安全的。
% self.host
等待查询结果...
错误:无法查询弹性搜索数据:未找到 u"
[option.controller 是我的服务器/主机]
任何帮助将不胜感激,谢谢。
答案 0 :(得分:0)
看起来您的 url 中的某些内容有误,无法识别发送请求。在发送之前尝试打印您请求的确切网址,也许您可以在那里检测到错误。
答案 1 :(得分:0)
您想要更像以下内容:
from elasticsearch import Elasticsearch, RequestsHttpConnection
es = Elasticsearch(hosts=['https://' + options.controller + ':9210'],
verify_certs=False,
connection_class=RequestsHttpConnection)
result = elastic_client.search(index="metricbeat*", body={"query": {"match_all": {}}})