用例
我正在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来测试工具,而无需在您的环境中进行安装。