需要使用python elasticsearch_dsl获取每个服务器的最新日志(基于时间戳)
例如,以下是日志:
服务器小时CPU%
server1 8AM 19
server1 9AM 19
server1 10AM 29
server2 8AM 19
server2 9AM 13
server2 10AM 21
server3 8AM 1
server3 9AM 11
server3 10AM 2
我要提取的内容:
server1 10AM 29
server2 10AM 21
server3 10AM 2
我想从类似的东西开始
s.aggs.bucket('server_bucket','terms', field='server')
但是我有点卡住了,因为我不想要指标,而只是每个服务器的最后一条记录。
我该怎么做?
答案 0 :(得分:1)
知道了
s.aggs.bucket('server', 'terms', field='server').metric('last_log','top_hits',size = 1,_source = ["CPU_PCT","@timestamp"], sort=[{"@timestamp": {"order": "desc"}}])