Info:Obtenir fichier journal car il utilise la recherche élastique
Filebeat est installé sur la machine où les journaux sont lus et envoyés au serveur de recherche élastique. À partir de la machine de test, en utilisant elasticsearch-dsl
, je lis les journaux et je l'écris dans un fichier.
Problème:
Orig Connexion de la machine:
[Timestamp][INFO] AAAAAA
[Timestamp][INFO] BBBBBB
[Timestamp][INFO] CCCCCC
Après la recherche et les journaux écriture dans le fichier de sortie:
[Timestamp][INFO] CCCCCC
[Timestamp][INFO] AAAAAA
[Timestamp][INFO] BBBBBB
Comment garder intacte la séquence du journal ou c'est?
code:
from elasticsearch import Elasticsearch
from elasticsearch_dsl import Search, Q, Index
import time
#Make Connection
es = Elasticsearch(["100.16.13.222:9200"])
#Create Index Object
ind = Index("filebeat-*",using=es)
#Clear Cache
ind.clear_cache()
#Create Search object for this index
sear = ind.search()
#Create query
sear = sear.query("match",host="WIN-LK9FS7568K4").query("match",tags="old_log")
res = sear.execute(ignore_cache=True)
print int(res.hits.total)
with open("a.txt","w") as fh:
for i in sear.scan():
fh.write(i.message+"\n")
Dans votre recherche, vous devez trier vos journaux par horodatage – Val
Val - Il y aura deux horodatages. Horodatage dû à la recherche élastique et à l'horodatage des journaux. Comment trier en utilisant l'horodatage des journaux? –
@Val - Pouvez-vous m'aider s'il vous plaît. Comment utiliser regexp dans une requête en utilisant python elasticsearch-dsl? –