Kubernetes 使用 Metricbeat 的卷的百分比

Kubernetes Percentage Used of a Volume with Metricbeat

我正在使用 metricbeat 收集有关我的 k8s 集群和其中 pods 运行 的指标。我想为我的 PVC 设置警报,为此我需要知道已使用的 PVC 的百分比。

我从 metricbeat 获取有关卷及其总容量、使用量的数据...但是没有使用百分比的字段。

我看过一些文章,其中我可以使用可视化生成器 'compute' 百分比,但我不确定这对我的警报有帮助。看来我需要一个使用百分比值的字段。

我找不到配置 metricbeat 为使用的百分比创建新字段的方法。似乎确实有一个使用脚本字段的选项,但这似乎会影响性能。

  1. 如何设置 k8s 卷使用百分比的警报?
  2. 获取卷使用百分比的索引字段的最佳方法是什么?

我找到了两个选项:

  1. Scripted fields in Kibana
  2. 更新 Logstash 索引器以进行计算并向索引添加一个字段

我最终选择了#2,并在我的索引器配置中添加了一个 ruby filter 来计算字段并添加它。

filter {
  ruby {
     code => ' total = event.get("[kubernetes][volume][fs][capacity][bytes]");
            if (total != nil)
               used = event.get("[kubernetes][volume][fs][used][bytes]");
               percentUsed = (used.to_f / total)
               event.set("kubernetes.volume.fs.percentage.used", percentUsed)
            end'
  }

}

我选择了 #2,因为我不想给 Kibana 增加负担,而且我在索引器上有更多的容量。