我在Google容器引擎群集中使用Kubernetes,我可以在Stackdriver日志中看到其中一个Pod因为OutOfMemory异常而崩溃并自动重启。
是否有监控这些事件的标准方法?
我正在使用Heapster,它似乎没有提供有关Pod关闭和重新启动的任何指标。
答案 0 :(得分:3)
根据我们的IT系统管理员的说法,目前大多数用于实时监控和警报吊舱故障的解决方案目前都不稳定或非常低迷。
我们最终开发了一个小脚本,它使用Slack.com webservice进行邮件通知等。
如果我的回答不是一个随时可用的单击解决方案,我很抱歉:-)
这是我们目前的经验和搜索的真实反馈。
我预计在不久的将来,这个话题会快速发展!
我们的代码(有效结果的简单解决方案):
答案 1 :(得分:1)
有一个名为kube-state-metrics
(1)的工具,它提供有关k8s对象的指标,包括容器的重启计数(2)。 Prometheus(3)可以使用这些指标,如果重启计数高于指定数量,您可以在此处创建警报。
如果你决定采用这种方式,CoreOS(4)的Prometheus运算符及其示例配置(5)可能会很有用,当我们最近将它部署到我们的集群时它非常有用。在该示例中,没有针对重启计数的预定义警报,但应该很容易添加一个。
(1)https://github.com/kubernetes/kube-state-metrics
(2)https://github.com/kubernetes/kube-state-metrics/blob/master/Documentation/pod-metrics.md
(3)https://prometheus.io/
(4)https://coreos.com/operators/prometheus/docs/latest/user-guides/getting-started.html
(5)https://github.com/coreos/prometheus-operator/tree/master/contrib/kube-prometheus