【发布时间】:2019-07-14 07:43:15
【问题描述】:
用例
我在 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')标签,它们是唯一可以让我以某种方式监控特定持久卷的标签。这些标签的缺点是它们是动态的,并且可以随着 pod 重启或类似情况而改变。
【问题讨论】:
标签: kubernetes google-compute-engine prometheus google-kubernetes-engine persistent-volumes