共计 2941 个字符,预计需要花费 8 分钟才能阅读完成。
许多企业应用 Kubernetes 来疾速公布新性能并进步服务的可靠性。Rancher 使团队可能缩小治理其云原生工作负载的操作老本——但取得这些环境的继续可见性可能是一个挑战。
在这篇文章中,咱们将探讨如何利用 Rancher 内置反对的 Prometheus 和 Grafana 疾速开始监控编排工作负载。而后,咱们将向你展现如何将 Datadog 与 Rancher 集成,通过丰盛的可视化、算法告警和其余性能,帮忙你取得对这些长期环境更深刻的可见性。
Kubernetes 监控所面临的挑战
Kubernetes 集群实质上是简单和动静的。容器以极快的速度启动和敞开:在对数千家组织的超过 15 亿个容器进行考察时,Datadog 发现,编排容器的周转速度(一天)是未编排容器的两倍(两天)。
在这种快节奏的环境中,监控你的应用程序和基础设施比以往任何时候都重要。Rancher 内置反对开源监控工具(如 Prometheus 和 Grafana),容许你从 Kubernetes 集群中跟踪根本的衰弱和资源指标。
Prometheus 依照预设的工夫距离从 Kubernetes 集群收集指标。尽管 Prometheus 没有可视化选项,但你能够应用 Grafana 内置的仪表板来显示衰弱和资源指标的总体状况,例如你的 pods 的 CPU 应用状况。
然而,一些开源解决方案并不是为了监控大型、动静 Kubernetes 集群而设计的。此外,Prometheus 要求用户学习 PromQL(这是一种专门的查询语言)以剖析和汇总他们的数据。
尽管 Prometheus 和 Grafana 能够为你的集群提供肯定水平的洞察力,但它们不能让你看到全貌。例如,你须要连贯到其中一个 Rancher 反对的日志解决方案,以拜访你环境中的日志。而为了排除代码级问题,你还须要部署一个应用程序性能监控解决方案。
最终,为了充沛可视化你的编排集群,你须要在一个平台上监控所有这些数据源——指标、跟踪和日志。通过向整个企业的团队提供具体的、可操作的数据,一个全面的监控解决方案能够帮忙缩小检测和解决的均匀工夫(MTTD 和 MTTR)。
Datadog Agent:主动发现和主动伸缩服务
为了取得 Rancher 解决方案中每一层的继续可见性,你须要一个专门用于实时跟踪云原生环境的监控解决方案。Datadog Agent 是一款轻量级的开源软件,它能够从你的容器和主机中收集指标、跟踪和日志,并将它们转发到你的账户,以便进行可视化、剖析和告警。
因为 Kubernetes 部署处于一直变动的状态,因而无奈手动跟踪哪些工作负载在哪些节点上运行,或者你的容器在哪里运行。为此,Datadog Agent 应用 Autodiscovery 来检测容器何时启动或敞开,并主动开始收集你的容器和它们正在运行的服务的数据,如 etcd 和 Consul。
Kubernetes 内置的主动弹性伸缩性能能够依据需要(如 CPU 使用量激增)主动减少或缩小工作负载,从而帮忙进步服务的可靠性。主动伸缩还能够通过调整基础设施的规模来帮忙治理老本。
Datadog 扩大了弹性伸缩这一性能,使你可能依据曾经在 Datadog 中监控的任何指标(包含自定义指标)主动伸缩 Kubernetes 工作负载。这对于依据需要的稳定来扩大集群是十分有用的,特地是在“双十一”这样的要害业务期间。假如你的公司是一家零售商,领有忙碌的在线业务。当销售正在起飞时,你的 Kubernetes 工作负载能够依据作为流动指标的自定义指标(如结账数量)进行主动伸缩,以确保晦涩的购物体验。无关应用 Datadog 主动伸缩 Kubernetes 工作负载的更多细节,请查看以下文章:
https://www.datadoghq.com/blo…
Kubernetes 特定的监控性能
无论你的环境是多云、多集群还是两者兼而有之,Datadog 高度专业化的性能都能够帮忙你实时监控你的容器化工作负载。Datadog 通过从 Kubernetes、Docker、云服务和其余技术导入的 tag 主动丰盛你的监控数据。Tag 为你的环境任意一层提供了继续的可见性,即便单个容器启动、进行或在主机间挪动,你都可能取得可视化。例如,你能够搜寻所有共享一个标签(例如,它们正在运行的服务名称)的容器,而后应用另一个标签(例如,可用性区域)来合成它们在不同区域的资源应用状况。
Datadog 能够收集超过 120 个 Kubernetes 指标,帮忙你从管制立体健康状况跟踪到 pod 级 CPU 限度的所有。所有这些监控数据都能够间接在利用中拜访,而无需应用查询语言。
Datadog 提供了几个性能来帮忙你摸索和可视化容器基础设施的数据。Container Map(datadoghq.com/blog/container-map/)提供了一个 Kubernetes 环境的鸟瞰图,并容许你通过任何标签组合来过滤和分组容器,如 docker_image、host 和 kube_deployment。
你还能够依据任何资源指标的实时值对容器进行色彩编码,如零碎 CPU 或 RSS 内存。这让你能够高深莫测地疾速发现资源抢夺问题,例如,如果一个节点比其余节点耗费了更多的 CPU。
实时容器视图(Live Container view)能够显示基础架构中每个容器的流程级零碎指标——以两秒的粒度绘制。因为 CPU 利用率等指标可能十分不稳固,这种高度的颗粒度确保了重要的峰值不会在乐音中隐没。
Container Map 和“实时容器 “ 视图均容许你应用任意组合的标签(如镜像名称或云提供商)对容器进行过滤和排序。要理解更多细节,你还能够单击以查看在任何单个容器上运行的过程,并查看从该容器收集的所有指标、日志和跟踪,获取这些信息只需点击几下。这能够帮忙你调试问题,并确定是否须要调整资源的配置。
通过 Datadog 网络性能监控 (NPM),你能够跟踪整个 Kubernetes 部署的实时网络流量,并疾速调试问题。从实质上讲,Docker 容器只受制于可用的 CPU 和内存量。因而,单个容器可能会使网络饱和并使整个零碎瘫痪。
Datadog 能够帮忙你轻松隔离耗费最多网络吞吐量的容器,并通过导航到该服务的相干日志或申请跟踪来确定可能的根本原因。
Datadog+Rancher 协同工作
通过 Rancher 的 Datadog Helm chart,你的团队能够在几分钟内开始监控他们的 Kubernetes 环境。Datadog 与 Rancher 协同工作,能够让你应用 Rancher 治理不同的协调环境,并部署 Datadog 来实时监控、排除故障和主动扩大环境。
此外,Datadog 的算法监控引擎 Watchdog 能够发现并揭示团队成员留神性能异样(如提早峰值或高错误率)。这使得团队可能在潜在问题(例如容器重启率异样高)降级之前解决问题。
咱们曾经向你展现了 Datadog 如何帮忙你取得 Rancher 环境的全面可见性。通过 Datadog,工程师能够应用 APM 来辨认单个申请中的瓶颈,并精确定位代码级问题,收集和剖析整个基础设施中每个容器的日志等。通过在一个平台上对立指标、日志和跟踪,Datadog 打消了切换上下文或工具的须要。因而,能够放慢团队故障排除工作流程,并充分利用 Rancher 治理大规模动静集群的全副后劲。