查询 elasticsearch——获取每个节点、每个主机的文档计数
Querying elasticsearch -- get document count per node, per host
好的,架构是我们在每个连接到我们的 ELK 堆栈的主机上有多个节点(3 到 5 个)运行。
我正在尝试编写一个查询,基本上是要说明每个主机和每个节点上出现了多少文档。
现在节点是它自己的领域...
我在 kibana 中查询的方式类似于
主机:“1-18”和节点:03
将拉起该主机...我正在尝试为每个主机和主机上的每个节点确定过去 24 小时内存在多少文档,并且查询并没有产生很多感觉。当我尝试使用 2 个字段时,它不起作用。当我尝试使用 2 个也不起作用的范围时。
我使用以下方法获取每个主机的文档计数:
{"size": 0,"aggs" : {"langs" : {"terms" : { "field" : "host" }}}}
添加每个节点的聚合有那么难吗?
您只需在 host
下添加一个子聚合,如下所示:
{
"size": 0,
"aggs": {
"hosts": {
"terms": {
"field": "host"
},
"aggs": {
"nodes": {
"terms": {
"field": "node"
}
}
}
}
}
}
在 Kibana 中,您可以通过进入“可视化”选项卡并选择一个饼图来直观地执行此操作。然后在 host
字段上使用 terms
聚合,然后单击“+ 添加子桶”并在 node
字段上使用另一个 terms
聚合。
好的,架构是我们在每个连接到我们的 ELK 堆栈的主机上有多个节点(3 到 5 个)运行。
我正在尝试编写一个查询,基本上是要说明每个主机和每个节点上出现了多少文档。
现在节点是它自己的领域...
我在 kibana 中查询的方式类似于
主机:“1-18”和节点:03
将拉起该主机...我正在尝试为每个主机和主机上的每个节点确定过去 24 小时内存在多少文档,并且查询并没有产生很多感觉。当我尝试使用 2 个字段时,它不起作用。当我尝试使用 2 个也不起作用的范围时。
我使用以下方法获取每个主机的文档计数:
{"size": 0,"aggs" : {"langs" : {"terms" : { "field" : "host" }}}}
添加每个节点的聚合有那么难吗?
您只需在 host
下添加一个子聚合,如下所示:
{
"size": 0,
"aggs": {
"hosts": {
"terms": {
"field": "host"
},
"aggs": {
"nodes": {
"terms": {
"field": "node"
}
}
}
}
}
}
在 Kibana 中,您可以通过进入“可视化”选项卡并选择一个饼图来直观地执行此操作。然后在 host
字段上使用 terms
聚合,然后单击“+ 添加子桶”并在 node
字段上使用另一个 terms
聚合。