任务

Edit This Page

资源监控工具

要扩展应用程序并提供可靠的服务,您需要了解应用程序部署时的行为。 您可以通过检查容器、pod服务 和整个集群的特性来检查 Kubernetes 集群中的应用程序性能。 Kubernetes 在每一个级别上提供了关于应用程序资源使用的详细信息。 此信息允许您评估应用程序的性能,以及在何处可以消除瓶颈以提高整体性能。

在 Kubernetes 中,应用程序监控不依赖单个监控解决方案。 默认情况下,新集群上可以使用两个单独的管道来收集监控统计信息:

资源度量管道

Kubelet

Kubelet充当 Kubernetes 主节点和节点之间的桥梁。 它管理机器上运行的 Pod 和容器。 Kubelet 将每个 Pod 转换为它的组成容器,并从 cAdvisor 获取各个容器的使用统计信息。然后它通过一个 REST API 公开聚合的 Pod 资源使用统计信息。

cAdvisor

cAdvisor 是一个开源容器资源使用和性能分析代理。 它是专门为容器构造的,并原生支持 Docker 容器。 在 Kubernetes 中,cAdvisor 被集成到了 kubelet 二进制文件中。 cAdvisor 自动发现机器中的所有容器,并收集 CPU、内存、文件系统和网络使用统计信息。 cAdvisor 还通过分析机器上的 ‘root’ 容器来提供机器的总体使用情况。

在大多数 Kubernetes 集群中,cAdvisor 在端口 4194 上为机上容器提供了一个简单的用户界面。以下是 cAdvisor 的部分用户界面的快照,其中显示了机器的总体使用情况:

cAdvisor

完整度量管道

现有许多用于 Kubernetes 的完整度量解决方案。

Prometheus

Prometheus 可以原生监控 Kubernetes、节点和 Prometheus 自身。 Prometheus Operator 简化了 Kubernetes 上的 Prometheus 安装,并允许您使用 Prometheus adapter 为自定义度量 API 提供支持。 Prometheus 提供了一种强大的查询语言和一个内置的仪表板,用于查询和可视化您的数据。 Prometheus 也是支持 Grafana 的数据源。

Google Cloud Monitoring

Google Cloud Monitoring 是一个托管的监控服务,您可以使用它对应用程序中的重要指标进行可视化和警报。 可以从 Kubernetes 收集度量,并且可以使用 Cloud Monitoring Console 访问它们。 您可以创建和自定义仪表板,从而可视化从您的 Kubernetes 集群中收集的数据。

下面的视频介绍了如何配置和运行 Google Cloud Monitoring 支持的 Heapster:

how to setup and run a Google Cloud Monitoring backed Heapster

Google Cloud Monitoring dashboard example

Google Cloud Monitoring dashboard example

This dashboard shows cluster-wide resource usage.

CronJob 监控

Kubernetes Job Monitor

使用 Kubernetes Job Monitor 仪表板,集群管理员可以看到哪些 job 在运行以及查看已完成 job 的状态。

New Recil Kubernetes 监控集成

New Relic Kubernetes集成提高了对 Kubernetes 环境性能的可视性。 New Relic 的 Kubernetes 集成通过报告来自 Kubernetes 对象的指标,为容器编排层提供参数。 该集成让您可以深入了解 Kubernetes 节点、名称空间、部署、副本集、pod 和容器。

移动文字功能: 在预构建的仪表板中查看数据,以便立即了解 Kubernetes 环境信息。 根据自动报告的数据创建自己的自定义查询和图表。 对 Kubernetes 数据创建警告条件。 进一步了解该功能请参考这个页面

反馈