需要知道节点在Elasticsearch

时间:2018-02-13 07:19:16

标签: elasticsearch kibana

我在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中的主机是什么以及它运行了多长时间。 根据我的理解,我想知道第一个日志的时间戳和上次日志之间的区别。

1 个答案:

答案 0 :(得分:0)

首先倾向于在查询中使用sort,但如果排序并取最低值,则可能是最低值来自应用程序的先前运行时。

我建议您在映射中添加uptime日期值。在应用程序中缓存启动时间戳值,然后在通过从开始时间减去当前时间向ES发送数据时计算uptime日期。然后,您可以从最新的uptime中获取@timestamp