实时监控k8s容器中的CPU使用率/ CPU限制

时间:2019-01-29 11:54:05

标签: kubernetes google-kubernetes-engine

我正在尝试测量Kubernetes中容器的CPU使用率,它表示为在短时间范围内实际使用率与使用率限制之间的比率。理想情况下,它应该接近实时(最多5秒的延迟)。

我完全控制了容器代码,我还可以扩展带有sidecar容器的pod来为我做报告。

我已经看过使用Prometheus运算符部署的Prometheus,但是我看到数据着陆时有很大的延迟,甚至根本没有出现在某些Pod上。

我希望有人可以阐明如何实施其中的任何一个:

  1. 可以查询cpu使用率/ cpu限制并将数据发送到另一服务的sidecar容器(我担心这是不可能的,因为容器在隔离的文件系统中运行)。
  2. 主容器中可以执行报告的另一个过程。也许用$(cat /sys/fs/cgroup/cpu/cpuacct.usage)/ $(/ sys / fs / cgroup / cpu / cpu.cfs_quota_us)来解决问题?
  3. 使用一些现有的软件工具/服务来实现此目的。任何建议将不胜感激。

非常感谢您!

1 个答案:

答案 0 :(得分:0)

与您要监视的容器一起部署sidecar容器。边车容器应监视主容器的cpu,并将其状态推送给Prometheus或其他监视服务。有了警报,您可以设置阈值,如果cpu超过阈值,则prometheus将通过警报管理器服务触发警报操作