我在Elasticsearch中有一个索引,其中包含以下架构:
"perf-system-cpu": {
"mappings": {
"perf_metric": {
"properties": {
"@timestamp": {
"type": "date"
},
"cpu_usage": {
"type": "float"
},
"host_address": {
"type": "text"
},
"host_name": {
"type": "text"
}
}
}
}
}
我的应用服务器上安装了代理,每隔5秒就会从该节点向ES发送CPU使用情况数据。
现在通过这个索引,我想知道Last n minutes
中的主机是什么以及它运行了多长时间。
根据我的理解,我想知道第一个日志的时间戳和上次日志之间的区别。
答案 0 :(得分:0)
首先倾向于在查询中使用sort,但如果排序并取最低值,则可能是最低值来自应用程序的先前运行时。
我建议您在映射中添加uptime
日期值。在应用程序中缓存启动时间戳值,然后在通过从开始时间减去当前时间向ES发送数据时计算uptime
日期。然后,您可以从最新的uptime
中获取@timestamp
。