尝试实施自定义Kubernetes监控系统时的最佳做法

use*_*964 5 kubernetes prometheus

我有两个分别代表开发和登台环境的Kubernetes集群。

另外,我还将部署自定义DevOps仪表板,该仪表板将用于监视这两个集群。在此仪表板上,我将需要显示以下信息:

  • 每个环境中每个已部署Pod的RAM / HD空间/ CPU使用情况
  • Pod运行状况(如容器重启次数过多等)
  • 豆荚正常运行时间

所有这些统计信息都必须处于群集级别,并且还最好处于每个命名空间。与之类似,如果我查询一个特定的名称空间,则必须获取该名称空间的所有资源使用情况。

因此,仪表板的Web服务层将向我各自集群的主节点发送服务请求,以获取此信息。

我需要做的另一件事是在DevOps仪表板中实现实时通知。每当容器发生故障时,我都需要赶上该事件并通知相关人员。

我一直在阅读,并且经常弹出的两件事是Prometheus和Metric Server。我需要两个还是一个?我在本地群集上设置了Prometheus,但找不到它公开的任何端点,这些端点可由仪表板服务调用。我也在尝试设置Prometheus AlertManager,但到目前为止它没有按预期工作。现在尝试修复它。只是想检查这些技术是否具有满足我要求的功能。

谢谢!

FL3*_*3SH 1

我不知道你为什么要考虑自己的定制监控系统。Prometheus 运算符提供了您提到的所有功能。您最终只会得到自己的 grafana 仪表板,其中包含所有必需的信息。

如果您需要自定义通知,您可以在Alertmanager中创建正确的设置,您可以在kubernetes-mixin prometheusrules.monitoring.coreos.com中找到很多预配置的 prometheusrules 。使用 Alertmanager 中的标签和命名空间,您可以设置正确的路由来通知负责给定部署的人员。

Do I need both or will one do?是的,您需要两者 -当从集群节点公开指标以供 Prometheus 抓取Prometheus时收集和聚合指标。Metrick server

如果您对 Prometheus、Alertmanger 等有问题,请考虑使用Helm Chart作为入口点。