随着容器技术的发展与使用,大量的业务运行于容器中,使得容器技术越来越离不开对容器本身的监控。ARMS 容器监控面向部署在阿里云上的容器服务 Kubernetes 版集群,能够对节点机器上的资源及容器进行实时监控和性能数据采集,并进行可视化展示,旨在为您提供容器化环境端到端的监控排查路径。

Kubernetes 带来的挑战

Kubernetes 用于自动化容器应用程序的部署,同时可以进行扩缩容和容器化应用管理。然而,以下这些由于自动化运维导致的问题给容器监控带来了更多的挑战。

  • 多维度的监控,包括集群内的所有节点、容器、容器内的应用以及Kubernetes 自身。
  • 天生的分布式,难以对复杂应用进行监控聚合。
  • 容器环境下指标爆炸性增长。

ARMS 容器监控不仅提供集群状态和节点状态的监控,还提供 Deployment 层面的监控、Pod 层面的监控和应用性能监控,可视化展示容器运行的资源使用情况以及性能特征等内容。

Deployment 监控

ARMS 容器监控提供 Deployment 监控,主要监控应用运行时对环境的依赖情况,包括 CPU 以及内存的监控。

Pod 监控

ARMS 容器监控还提供集群中运行的所有 Pod 状态以及 Pod 本身的监控,Pod 本身的监控包括事件监控、生命周期监控、资源监控以及日志监控。

  • 事件监控是监控集群的事件信息,例如告警和错误事件等。

    Kubernetes 的架构设计是基于状态机的,不同的状态之间进行转换则会生成相应的事件,正常的状态之间转换会生成 Normal 等级的事件,正常状态与异常状态之间的转换会生成 Warning 等级的事件。您可以通过获取事件,实时诊断集群的异常与问题。

  • 生命周期监控

    生命周期监控可以帮助您随时掌握 Pod 在整个生命周期的各个状态,以便您更好地调度和管理 Pod。

    Timeline Monitor
  • 资源监控

    通过资源监控可以快速查看负载的 CPU、内存、网络等指标的使用率。

    Resource Monitor
  • 日志监控

    日志监控展示 Pod 实时监控日志,方便您进行问题诊断。

    Log Detail Monitor

应用性能监控

对于部署在容器服务 Kubernetes 版集群中的应用,您可以使用ARMS 应用监控对其监控,实现自动发现应用拓扑、自动生成 3D 拓扑、自动发现并监控接口、捕获异常事务和慢事务,大幅提升线上问题诊断的效率。ARMS 容器监控的应用性能监控功能需要开启 ARMS 应用监控,详情请参见准备工作概述