5个Kubernetes监控最佳实践
Posted 分布式实验室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5个Kubernetes监控最佳实践相关的知识,希望对你有一定的参考价值。
集中日志和指标。 通过Kubernetes协调Docker可以避免服务和工作流负载带来的混乱,但仅仅这样做你的环境仍然是分散的。集中你日志和监控指标,你才有机会实现对于整体环境的监控。
要考虑容器生命周期的短暂性。 容器编排是可以恰到好处的在短时间内启动,停止,杀死以及清理容器。 但是,监控它们可能并不那么容易。 即使服务正在进行,您仍然需要调试问题并监控集群的活动。 诀窍是在日志和指标消失之前获取。 如果你不这样做,你的指标看起来更像左边的图,而不是右边的图。
简化、简化、简化。对于容器环境中的所有活动块(服务、API、容器、编排工具),需要进行监视且不要引入不必要的复杂性。并不是要使用各种监控代理来扩展您的容器,每个监控代理都需要更新自己的时间表,从监控和管理的内容中抽象出监控和管理工具。 这也将帮助工程师专注于构建和交付软件,而不是运行交付平台。
明确监视每一层。 您需要收集日志并监视环境中各层的错误、故障和性能问题(Pod、容器和控制管理器)。 例如,要解决Pod问题,需要确保容器正在运行,并在controller manager中收集运行时指标。
确保整个图层的数据一致性。 为了快速准确的调试,您需要确保容器环境中所有图层的数据一致性。 诸如准确的时间戳,一致的测量单位(例如毫秒数与秒数)以及在应用程序和组件中收集常用的公共度量标准和日志,将帮助您快速准确地对所有层进行故障排除和调试。
使用Fluentd日志记录代理引入DaemonSet(这会为您提供日志记录而不是指标)。 如果您已经配置了ELK群集,点击了解更多[1]。
用Prometheus指标代理引入DaemonSet或sidecar(CoreOS在集成Prometheus和Kubernetes方面做得非常出色)。 在您的Kubernetes群集上运行Prometheus将为您提供指标检测,查询和警报,点击了解更多[2]。
各种指标和性能监控工具,包括Heapster、DataDog、cAdvisor、New Relic、Weave / VMware以及其他一些指标和性能监控工具也提供了用于Kubernetes监控的DaemonSet或sidecar选项。
https://docs.fluentd.org/v0.12/articles/kubernetes-fluentd
https://coreos.com/blog/prometheus-and-kubernetes-up-and-running.html
以上是关于5个Kubernetes监控最佳实践的主要内容,如果未能解决你的问题,请参考以下文章
Prometheus监控的最佳实践——关于监控的3项关键指标
Prometheus监控的最佳实践——关于监控的3项关键指标
统一观测丨使用 Prometheus 监控 Nginx Ingress 网关最佳实践