[容器] 使用 Datadog 进行 Kubernetes 基础设施监控 [监控]

这位是技术销售部的小原。

本文探讨了如何使用 Datadog 的监控工具在 Kubernetes 环境中进行基础设施监控。文章
解答了“为什么像 Kubernetes 这样动态多变的基础设施环境需要集成式监控工具?”这个问题,并概述了该工具的功能和关键特性。
(信息截至 2022 年 3 月。)

Kubernetes环境基础设施监控面临的挑战

为了提升基础设施的可扩展性和容错能力,Kubernetes 等编排系统的采用率正在不断提高。然而,与传统场景(例如虚拟机或物理机等长期使用的静态主机)不同,Kubernetes 等动态且复杂的嵌入式环境需要使用 Datadog 等集成监控工具进行监控,以便实时了解主机、容器、应用程序以及整个 Kubernetes 环境的运行状况。

● 需要监控的组件数量增加
:在传统的以主机为中心的架构中,需要监控的主要层是“应用程序”和“运行应用程序的主机”。在编排环境中,增加了一个新的抽象层,为了全面跟踪架构,需要监控容器和 Kubernetes 本身。

● 分布式应用程序会不断迁移
。Kubernetes 会持续地在主机之间迁移 Pod,并根据需求进行扩展或缩减。为了更好地了解您的应用程序及其内容,您需要监控所有 Pod 以及其中运行的应用程序。然而,由于 Kubernetes 会自动调度工作负载,因此很难持续地检查这些 Pod 的实际运行位置。

● 标签对于持续可见性至关重要
。由于典型的 Kubernetes 集群包含许多动态/可变元素,标签是识别 Pod 及其内部应用程序的唯一可靠方法。如果没有标签,几乎不可能从不断变化的 Kubernetes 基础架构中聚合或解读性能数据。

监控任意规模的 Kubernetes 平台环境

Kubernetes 集群运行在各种平台上,Datadog 为所有主要云提供商提供了 400 多个预构建集成,让您可以监控所有容器化应用程序上线时的运行状况和性能,而无需考虑它们在后台使用的平台。

无论您的组织选择完全托管的平台还是使用 Rancher、OpenShift 或 Anthos 等主机,Datadog 都能将您的所有 Kubernetes 基础架构和应用程序数据集中到一个统一的平台中——从集群状态和低级资源指标到分布式跟踪和日志。

Datadog 会自动使用来自 Kubernetes、Docker 和云提供商的标签丰富您的数据,让您能够轻松地在事件发生时进行调查。无论您运行的是数十个还是数千个节点,Datadog 都能以最少的设置提供对 Kubernetes 集群的深度可见性,使您能够安全地构建、部署和扩展容器环境。

所有 Kubernetes 数据集中在一个地方

Datadog 让您能够全面了解 Kubernetes 环境每一层的运行状况。使用 DaemonSet 或 Datadog Operator,您可以轻松地将 Datadog Agent 部署到集群中的每个节点。借助 Datadog 的 Kubernetes 集成,您可以:

◆ 维持健康的控制平面

● 跟踪控制平面的各个组成部分
:监控控制平面所有组件的运行状况和性能,包括调度器、API 服务器和控制器管理器。维护健康的控制平面有助于正确调度和编排工作负载,确保集群平稳运行。

● 设置自动警报
,并在关键控制平面问题(例如 HTTP 响应代码 200 以外的异常激增)影响客户之前,检测并解决这些问题。

Kubernetes 问题排查

● 全面了解您的 Kubernetes 环境
:在 Kubernetes 工作负载和应用程序指标、日志和分布式跟踪之间无缝切换,快速排查性能问题。使用可自定义、易于使用的仪表板实时可视化数据。

● 分析 Kubernetes 审计日志
,并排查可能影响用户和服务访问集群的 API 身份验证问题。

● 利用标签进行深入分析
:Datadog 会自动从 Kubernetes/Docker/云服务提供商处收集标签,方便您对数据进行排序、筛选和聚合。您可以按区域、容器镜像、Pod 名称或其他类别快速缩小问题范围,从而缩短平均解决时间。

◆ 随时随地自动检测服务状态

● 动态监控编排服务
:Datadog 可检测集群内的变化,并自动开始从各种集群组件(例如 Kubernetes API 服务器)和常用基础设施技术(例如 Apache Tomcat 和 Redis)收集数据,无需用户设置。您还可以为代理检查定义自定义配置模板,并指定每次检查应监控哪些容器。

◆ 使用任何指标自动扩展工作负载

● 即使在大规模环境中也能提供高质量的客户体验
:将 Datadog 与 Kubernetes 的 Horizo​​ntal Pod Autoscaler 结合使用,即使在意外的流量高峰期间也能保持应用程序的可用性。您可以根据使用 Datadog 监控的任何指标来扩展工作负载,从特定于集成的指标(例如 MySQL 查询吞吐量)到自定义业务指标(例如每日页面浏览量)。

概括

在 Kubernetes 这样动态且多变的基础设施环境中,使用传统的监控工具进行操作可能会比较困难,因此我们建议引入像 Datadog 这样的集成监控工具来提高运行性能。

虽然本文是从 Kubernetes 容器环境的角度和概念撰写的,但其中一些内容也适用于使用 AWS 等云环境的 Amazon EC2 等实例的自动扩展功能和环境的操作,因此我们希望您觉得本文有用。

如果您觉得这篇文章对您有帮助,请点个“赞”!
3
加载中...
3票,平均分:1.00/13
2,480
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

小原

他的职业生涯始于电信行业,担任销售员,负责实施企业网络服务、办公设备和群件等 IT 产品。

之后,他曾在一家系统集成商旗下的数据中心公司担任物理服务器和托管服务的售前工程师,以及基于 SaaS 的 SFA/CRM 和 B2B 电子商务的客户工程师,之后加入 Beyond 公司,目前仍在 Beyond 工作。

我目前驻扎在中国(深圳),我的日常活动是看中国电视剧和比尔比尔。

资格证书:二级簿记员