[容器] 使用 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 集成,您可以:
◆ 维护控制平面健康
控制平面
所有组件的运行状况和性能健康的控制平面可以让您正确安排和编排工作负载,并保持集群平稳运行。
在关键控制平面问题影响您的客户之前检测并解决它们,例如设置自动警报
◆ 排除 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 等环境的操作,因此我很高兴。如果你可以参考这篇文章。