gpt4 book ai didi

python - 使用 Elasticsearch 获取日志文件

转载 作者:行者123 更新时间:2023-12-03 01:46:42 25 4
gpt4 key购买 nike

信息:

Filebeat安装在将从中读取日志并将其发送到 Elasticsearch 服务器的计算机上。从测试机,使用elasticsearch-dsl,我正在读取日志并将其写入文件。

问题:

来自机器的原始记录:

[Timestamp][INFO] AAAAAA
[Timestamp][INFO] BBBBBB
[Timestamp][INFO] CCCCCC

搜索并将日志写入输出文件后:
[Timestamp][INFO] CCCCCC
[Timestamp][INFO] AAAAAA
[Timestamp][INFO] BBBBBB

如何保持日志顺序不变或保持原样?

代码:
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")

最佳答案

您需要按时间戳对日志进行排序。将您的搜索代码更改为此:

sear =  sear.sort('timestamp')
.query("match",host="WIN-LK9FS7568K4")
.query("match",tags="old_log")

当然,您需要更改 timestamp以匹配您的时间戳字段。

关于python - 使用 Elasticsearch 获取日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43408635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com