kubernetes - 监视持久卷性能

标签 kubernetes google-compute-engine prometheus google-kubernetes-engine persistent-volumes

用例

我正在Kubernetes中运行一个kafka集群,它严重依赖于适当的磁盘性能(IOPS,吞吐量等)。我正在使用Google的计算引擎磁盘+ Google kubernetes引擎。因此,我知道我创建的磁盘具有以下大约限制:

IOPS(读/写):375/750
吞吐量(MB / s)(读/写):60/60

问题

即使我知道大约IOPS和吞吐量限制,我也不知道我目前实际使用的是什么。我想使用prometheus + grafana进行监视,但找不到任何可以导出磁盘io统计信息以实现持久卷的东西。我发现最好的是kubelet的磁盘空间统计信息:

kubelet_volume_stats_capacity_bytes
kubelet_volume_stats_available_bytes

问题

我必须监视(最好通过prometheus)Kubernetes中附加的我的kafka持久卷的磁盘io使用情况吗?

编辑:

我的另一个发现是使用node-exporter的node_disk_io指标:
rate(node_disk_io_time_seconds_total[5m]) * 100

不幸的是,结果不包含节点名,甚至不包含持久卷(声明)名称。相反,它具有device(例如'sdb')和instance(例如'10 .90.206.10')标签,它们是唯一可以以某种方式允许我监视特定持久卷的标签。这些标签的缺点是它们是动态的,并且可以在容器重启或类似情况下更改。

最佳答案

您应该能够使用Stackdriver获得所需的指标。检查新的Stackdriver Kubernetes Monitoring

您可以使用此QWikiLab来测试工具,而无需在您的环境中进行安装。

关于kubernetes - 监视持久卷性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54789370/

相关文章:

kubernetes - 您可以使用 kubectl 补丁动态添加值吗

java - Google App Engine 无法连接安装在 Google Compute Engine 上的 Aerospike

google-app-engine - 在 GCP 上部署 SSR Web 应用程序的正确方法是什么?

Prometheus 子字符串或拆分功能

prometheus - 如何用它的当前值和标签重新标记地址

amazon-web-services - 我的节点在 EKS 中被删除,如何恢复

docker - Google容器引擎上的Http

kubernetes - 大量工作节点v/少数具有更多资源的工作节点

java - 应用程序默认凭据无法创建 Google App Engine 服务帐户凭据

prometheus - 如果 30 分钟内未发生变化,则返回指标值