elasticsearch 类似指数的总规模,elasticsearch,kibana,elasticsearch,Kibana" /> elasticsearch 类似指数的总规模,elasticsearch,kibana,elasticsearch,Kibana" />

elasticsearch 类似指数的总规模

elasticsearch 类似指数的总规模,elasticsearch,kibana,elasticsearch,Kibana,Kibana在监控页面上显示每个索引的统计信息。我们如何按类型对指数进行分组以获得其总体规模?例如,我有很多winlogbeat-6.2.2-YYYY.mm.dd索引,我想知道它们总共占用了多少空间。 谢谢 实现所需功能的一种方法是使用,并过滤掉store.size_in_bytes值,如下所示: winlogbeat-6.2.2*/_stats?filter_path=_all.total.store.size_in_bytes { "_all": { "total": {

Kibana在监控页面上显示每个索引的统计信息。我们如何按类型对指数进行分组以获得其总体规模?例如,我有很多
winlogbeat-6.2.2-YYYY.mm.dd
索引,我想知道它们总共占用了多少空间。
谢谢

实现所需功能的一种方法是使用,并过滤掉
store.size_in_bytes
值,如下所示:

winlogbeat-6.2.2*/_stats?filter_path=_all.total.store.size_in_bytes
{
  "_all": {
    "total": {
      "store": {
        "size_in_bytes": 922069687976
      }
    }
  }
}
您将得到如下响应:

winlogbeat-6.2.2*/_stats?filter_path=_all.total.store.size_in_bytes
{
  "_all": {
    "total": {
      "store": {
        "size_in_bytes": 922069687976
      }
    }
  }
}
实现所需的另一种方法是利用,一点
grep
和一点
awk

以下shell命令将提供所有
winlogbeat-6.2.2
索引所消耗的字节数:

curl -s localhost:9200/_cat/indices?bytes=b | grep winlogbeat-6.2.2 | awk '{s+=$9} END {print s}'
您将得到一个数字,如下所示:
922069687976

让我解释一下:

第一个命令将通过
\u cat/index
API检索所有索引

curl -s localhost:9200/_cat/indices?bytes=b
第二个命令仅保持索引匹配
winlogbeat-6.2.2

grep winlogbeat-6.2.2
最后一个命令的魔力在于将第9列中的所有数字相加(即
store.size


瞧…

实现所需功能的一种方法是使用,并过滤掉
store.size_in_bytes
值,如下所示:

winlogbeat-6.2.2*/_stats?filter_path=_all.total.store.size_in_bytes
{
  "_all": {
    "total": {
      "store": {
        "size_in_bytes": 922069687976
      }
    }
  }
}
您将得到如下响应:

winlogbeat-6.2.2*/_stats?filter_path=_all.total.store.size_in_bytes
{
  "_all": {
    "total": {
      "store": {
        "size_in_bytes": 922069687976
      }
    }
  }
}
实现所需的另一种方法是利用,一点
grep
和一点
awk

以下shell命令将提供所有
winlogbeat-6.2.2
索引所消耗的字节数:

curl -s localhost:9200/_cat/indices?bytes=b | grep winlogbeat-6.2.2 | awk '{s+=$9} END {print s}'
您将得到一个数字,如下所示:
922069687976

让我解释一下:

第一个命令将通过
\u cat/index
API检索所有索引

curl -s localhost:9200/_cat/indices?bytes=b
第二个命令仅保持索引匹配
winlogbeat-6.2.2

grep winlogbeat-6.2.2
最后一个命令的魔力在于将第9列中的所有数字相加(即
store.size


瞧…

如果您为集群收集监控统计数据,您可以使用Kibana进行可视化:

先决条件:将创建
.monitoring-*
索引的X-Pack

为索引模式创建脚本字段
。monitoring-es-6-*

字段名称:
normalized\u index\u name
(仅适用于
SOME-index-YYYY.MM.DD
模式,因为它在最后一个破折号后删除了索引名称中的所有内容,可以使用带有正则表达式的脚本字段,但在ES配置中必须明确允许正则表达式字段):

创建一个直线可视化。注:

  • 时间范围应设置为7天
  • 开始从X轴构建可视化,否则可能无法正确分割系列(错误?)

如果您为集群收集监控统计数据,您可以使用Kibana进行可视化:

先决条件:将创建
.monitoring-*
索引的X-Pack

为索引模式创建脚本字段
。monitoring-es-6-*

字段名称:
normalized\u index\u name
(仅适用于
SOME-index-YYYY.MM.DD
模式,因为它在最后一个破折号后删除了索引名称中的所有内容,可以使用带有正则表达式的脚本字段,但在ES配置中必须明确允许正则表达式字段):

创建一个直线可视化。注:

  • 时间范围应设置为7天
  • 开始从X轴构建可视化,否则可能无法正确分割系列(错误?)

感谢您对
?bytes=b
的提示!我原以为ES只能提供“用户友好”的格式—使用
mb
gb
,我用
awk
调整了后缀,但我并不友好。使用
bytes
param可以获得准确的大小!很酷,很高兴有帮助。我还通过index Stats API添加了另一种方法,它会返回一个JSON响应。感谢您对
?bytes=b
的提示!我原以为ES只能提供“用户友好”的格式—使用
mb
gb
,我用
awk
调整了后缀,但我并不友好。使用
bytes
param可以获得准确的大小!很酷,很高兴有帮助。我还通过index Stats API添加了另一种方法,它返回一个JSON响应。