尝试实施自定义Kubernetes监控系统时的最佳实践
我有两个Kubernetes集群,它们代表开发和登台环境 另外,我还部署了一个定制的DevOps仪表板,用于监视这两个集群。在此仪表板上,我需要显示以下信息:尝试实施自定义Kubernetes监控系统时的最佳实践,kubernetes,prometheus,Kubernetes,Prometheus,我有两个Kubernetes集群,它们代表开发和登台环境 另外,我还部署了一个定制的DevOps仪表板,用于监视这两个集群。在此仪表板上,我需要显示以下信息: 每个环境中每个已部署吊舱的RAM/HD空间/CPU使用率 Pod运行状况(如有太多容器重启等) 吊舱正常运行时间 所有这些统计数据都必须是集群级别的,最好是每个名称空间。与中一样,如果我查询一个特定的名称空间,我必须获得该名称空间的所有资源使用情况 因此,我的仪表板的webservice层将向我各自集群的主节点发送一个服务请求,以获取
- 每个环境中每个已部署吊舱的RAM/HD空间/CPU使用率
- Pod运行状况(如有太多容器重启等)
- 吊舱正常运行时间
谢谢 我不知道你为什么要考虑自己的定制监控系统。提供您提到的所有功能。 最终,您只能使用自己的grafana仪表板,其中包含所有必需的信息 如果您需要自定义通知,您可以在创建正确的
prometheusrules.monitoring.coreos.com
中进行设置,您可以在中找到许多预配置的prometheusrules。
使用Alertmanager中的标签和名称空间,您可以设置正确的路由,以通知负责给定部署的人员
我需要两者还是一个都需要?
,是的,当Metrick server
从您的群集节点公开度量值供您的Prometheus刮取时,您需要两者-Prometheus
收集并聚合度量值
如果你对普罗米修斯有问题,Alertmanger等考虑使用“入口点”。
+是一个非常标准的设置。 安装或通过将为您提供 默认情况下,Grafana、Alertmanager、
节点导出器
和kube状态度量
,所有这些都可以为kubernetes度量设置
将alertmanager配置为。SMTP通常是安装的第一件事,但如果这是人们需要依赖的服务,我建议使用某种类型的事件管理器
尽管仪表板不是您需求的一部分,但这将告诉您如何连接到prometheus作为数据源
这里有很多。也有一些
您的外部服务将不会直接与prometheus一起查询度量,而是查询存储在集群中的prometheus中收集的数据。要从外部访问API,您需要设置到prometheus服务的外部路径。这可以通过头盔部署中的入口控制器进行配置:
prometheus.ingress.enabled: true
如果需要,可以对alertmanager API和grafana执行相同的操作
alertmanager.ingress.enabled: true
grafana.ingress.enabled: true
如果证明有用,您可以通过相同的普罗米修斯入口将集群外的Grafana用作仪表板。遵循官方k8s文档,以获取有关资源指标的更多信息。您能否详细说明“我会推荐某种类型的事件管理器”?电子邮件通常是管理警报或事件的可怕方式。事件管理器是一种工具,可以让您将数据输入,并轻松地将输入分类、筛选和管理到标准事件中,然后对其执行操作。//。大多数监控系统都实现了某些版本的it,但效果很差。Alertmanager还不够吗?您推荐哪种解决方案?我主要关心的是价格。Alertmanager在UI端非常薄,只保留当前状态。它需要一个“接收器”来发送事件。SMTP是最简单的解决方案,可能需要为其创建特定的邮箱。