[容器] 使用 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 服务器、控制器管理器等。健康的控制平面可确保工作负载能够得到正确的调度和编排,从而保持集群平稳运行。
● 配置自动警报
- 在非 200 HTTP 响应代码出现异常峰值等关键控制平面问题影响客户之前,检测并解决这些问题。
Kubernetes 问题排查
● 全面了解您的 Kubernetes 环境
- 在 Kubernetes 工作负载和应用程序的指标、日志和分布式跟踪之间无缝切换,快速排查性能问题。使用可自定义、易于使用的仪表板实时可视化您的数据。
● 分析 Kubernetes 审计日志
,并排查可能影响用户或服务访问集群的 API 身份验证问题。
利用标签深入分析
:Datadog 会自动从 Kubernetes、Docker 和云服务提供商处收集标签,方便您轻松地对数据进行排序、筛选和聚合。您可以按区域、容器镜像、Pod 名称或其他类别快速缩小问题范围,从而缩短平均解决时间。
◆ 随时随地自动检测服务状态
动态监控编排服务
:Datadog 可检测集群中的变化,并自动开始从各种集群组件(例如 Kubernetes API 服务器)和常用基础设施技术(例如 Apache Tomcat 和 Redis)收集数据,无需任何用户设置。您还可以为代理检查定义自定义配置模板,并指定每个检查应监控哪些容器。
◆ 使用任何指标自动扩展工作负载
● 即使在大规模部署的情况下,也能确保高质量的客户体验
:将 Datadog 与 Kubernetes 的 Horizontal Pod Autoscaler 结合使用,即使面对意外流量,也能保持应用程序的可用性。您可以根据 Datadog 监控的任何指标来扩展工作负载,从特定于集成的指标(例如 MySQL 查询吞吐量)到自定义业务指标(例如每日页面浏览量)。
概括
在 Kubernetes 这样动态且多变的基础设施环境中,使用传统的监控工具进行操作可能会比较困难,因此我们建议引入像 Datadog 这样的集成监控工具来提高运行性能。
虽然本文是从 Kubernetes 容器环境的角度和概念撰写的,但其中一些内容也适用于使用 AWS 等云环境的 Amazon EC2 等实例的自动扩展功能和环境的操作,因此我们希望您觉得本文有用。
3
