Ниже приведен код для удаленного подключения сценария python и получения выходных данных.
* сервер, выполняющий запрос, хранится в поисковом индексе elasti c: e2
сервер, который не может выполнить запрос, хранится в elasti c поисковый индекс: e1 *
Теперь, когда я запускаю этот скрипт, я получаю
'SERVERNAME': SERVERNAME, ' отметка времени ': ####,' ONLINE ': "ONLINE"
и только 1 совпадение, недавнее .... не все совпадения (имя сервера) на вкладке обнаружения кибаны
ниже изображение
![image showing kibana discovery mode for index having multiple servername but showing only latest one(overriding every time and update)](https://i.stack.imgur.com/l0y7J.jpg)
Ниже python код:
ES_HOST = {"host": "localhost", "port": ####}
es = Elasticsearch(hosts=[ES_HOST])
filepath=r'c:\remote server\ServerList.csv'
#with open (filepath, 'r') as servers:
with open(filepath, 'r', encoding="ISO-8859-1") as servers:
for line in servers:
l = line.split()
#print(l)
SERVERNAME = line.rstrip()
#print(SERVERNAME)
cnxn = pyodbc.connect(Trusted_Connection='no',
Driver='{SQL Server}',
Server=SERVERNAME,
PORT='####',
Database='####',
UID='####',
PWD='####')
cursor = cnxn.cursor()
#print("hureeee")
#print(SERVERNAME)
s=cursor.execute("select servername AS gandhiji from ######")
row = cursor.fetchone()
if row == None:
print("There are no results for this query", SERVERNAME)
e1 = {
'SERVERNAME': SERVERNAME,
'timestamp': datetime.utcnow(),
'OFFLINE': "OFFLINE"
}
res1=es.index(index='rep100', id=1, body=e1)
res1=es.get(index="rep100", id=1)
print(res1['_source'])
es.indices.refresh(index="rep100")
res1=es.search(index="rep100", body={"query": {"match_all": {}}})
else:
print(SERVERNAME)
e2 = {
'SERVERNAME': SERVERNAME,
'timestamp': datetime.utcnow(),
'ONLINE': "ONLINE"
}
res2=es.index(index='re100', id=1, body=e2)
res2=es.get(index="re100", id=1)
print(res2['_source'])
es.indices.refresh(index="re100")
res2=es.search(index="re100", body={"query": {"match_all": {}}})