首页 文章

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

提问于
浏览
0

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

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

现在节点是它自己的领域......

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

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

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

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

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

添加每个节点的聚合很难吗?

1 回答

  • 1

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

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

    在Kibana中,您可以通过进入“可视化”选项卡并选择饼图来直观地完成此操作 . 然后在 host 字段上使用 terms 聚合,然后单击"+ Add sub-buckets"并在 node 字段上使用另一个 terms 聚合 .

    enter image description here

相关问题