mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-08-17 13:47:49 +00:00
fix: es8会话记录查询不到命令
This commit is contained in:
parent
68244b2b37
commit
3608b025e5
@ -43,7 +43,8 @@ class NotSupportElasticsearch8(JMSException):
|
|||||||
class ESClient(object):
|
class ESClient(object):
|
||||||
|
|
||||||
def __new__(cls, *args, **kwargs):
|
def __new__(cls, *args, **kwargs):
|
||||||
version = kwargs.pop('version')
|
hosts = kwargs.get('hosts', [])
|
||||||
|
version = get_es_client_version(hosts=hosts)
|
||||||
if version == 6:
|
if version == 6:
|
||||||
return ESClientV6(*args, **kwargs)
|
return ESClientV6(*args, **kwargs)
|
||||||
if version == 7:
|
if version == 7:
|
||||||
@ -94,8 +95,8 @@ class ESClientV8(ESClientBase):
|
|||||||
return {field: {'order': direction}}
|
return {field: {'order': direction}}
|
||||||
|
|
||||||
|
|
||||||
def get_es_client_version(**kwargs):
|
def get_es_client_version(hosts, **kwargs):
|
||||||
es = kwargs.get('es')
|
es = Elasticsearch(hosts=hosts, max_retries=0, **kwargs)
|
||||||
info = es.info()
|
info = es.info()
|
||||||
version = int(info['version']['number'].split('.')[0])
|
version = int(info['version']['number'].split('.')[0])
|
||||||
return version
|
return version
|
||||||
@ -112,9 +113,7 @@ class ES(object):
|
|||||||
ignore_verify_certs = kwargs.pop('IGNORE_VERIFY_CERTS', False)
|
ignore_verify_certs = kwargs.pop('IGNORE_VERIFY_CERTS', False)
|
||||||
if ignore_verify_certs:
|
if ignore_verify_certs:
|
||||||
kwargs['verify_certs'] = None
|
kwargs['verify_certs'] = None
|
||||||
self.es = Elasticsearch(hosts=hosts, max_retries=0, **kwargs)
|
self.client = ESClient(hosts=hosts, max_retries=0, **kwargs)
|
||||||
self.version = get_es_client_version(es=self.es)
|
|
||||||
self.client = ESClient(version=self.version, hosts=hosts, max_retries=0, **kwargs)
|
|
||||||
self.es = self.client.es
|
self.es = self.client.es
|
||||||
self.index_prefix = self.config.get('INDEX') or 'jumpserver'
|
self.index_prefix = self.config.get('INDEX') or 'jumpserver'
|
||||||
self.is_index_by_date = bool(self.config.get('INDEX_BY_DATE', False))
|
self.is_index_by_date = bool(self.config.get('INDEX_BY_DATE', False))
|
||||||
@ -227,11 +226,15 @@ class ES(object):
|
|||||||
|
|
||||||
def _filter(self, query: dict, from_=None, size=None, sort=None):
|
def _filter(self, query: dict, from_=None, size=None, sort=None):
|
||||||
body = self.get_query_body(**query)
|
body = self.get_query_body(**query)
|
||||||
|
search_params = {
|
||||||
data = self.es.search(
|
'index': self.query_index,
|
||||||
index=self.query_index, body=body,
|
'body': body,
|
||||||
from_=from_, size=size, sort=sort
|
'from_': from_,
|
||||||
)
|
'size': size
|
||||||
|
}
|
||||||
|
if sort is not None:
|
||||||
|
search_params['sort'] = sort
|
||||||
|
data = self.es.search(**search_params)
|
||||||
|
|
||||||
source_data = []
|
source_data = []
|
||||||
for item in data['hits']['hits']:
|
for item in data['hits']['hits']:
|
||||||
|
Loading…
Reference in New Issue
Block a user