查询elasticsearch - 获取每个节点的文档计数,每个主机

时间:2017-05-31 17:53:05

标签: elasticsearch kibana

好的,架构是我们在连接到ELK堆栈的每台主机上运行多个节点(3到5之间)。

我正在尝试编写一个查询,基本上会说每个主机和每个节点上出现多少文档。

现在节点是它自己的字段......

我在kibana中查询这个的方式就像

主持人:“1-18”和节点:03

会拉起那台主机......我正在尝试确定每台主机和主机上的每个节点,过去24小时内存在多少文件,而且查询没有多大意义。当我尝试使用2个字段时,它不起作用。当我尝试使用两个不起作用的范围时。

我使用以下内容获取每个主机的文档计数:

{"size": 0,"aggs" : {"langs" : {"terms" : { "field" : "host" }}}}

添加难以管理的每节点聚合吗?

1 个答案:

答案 0 :(得分:1)

您只需在host下添加一个子聚合,如下所示:

{
  "size": 0,
  "aggs": {
    "hosts": {
      "terms": {
        "field": "host"
      },
      "aggs": {
        "nodes": {
          "terms": {
            "field": "node"
          }
        }
      }
    }
  }
}

在Kibana中,您可以通过进入“可视化”选项卡并选择饼图来直观地完成此操作。然后在terms字段上使用host聚合,然后点击" +添加子存储桶"并在terms字段上使用另一个node聚合。

enter image description here