可观测性指如何从外部输出推断及衡量系统内部状态。Kubernetes可观测性体系包含监控和日志两部分,监控可以帮助开发者查看系统的运行状态,而日志可以协助问题的排查和诊断。本文介绍阿里云容器服务ACK可观测性生态分层和各层的可观测能力,以帮助您更好地对容器服务可观测性生态有一个全面的认识。

容器服务可观测生态概述

从可观测性的角度,以ACK为基础的系统架构可以粗略分为4个层次。自下而上分别是:基础设施层、容器性能层、应用性能层、用户业务层。
可观测性

以下分别是基础设施层、容器性能层、应用性能层、用户业务层的可观测性介绍。

指容器服务ACK所依赖的底层资源的可观测场景:定位Pod与节点组成的资源池的调用链路,可视化拓扑关系,以及基础设施监控,例如宿主机节点、网络基础组件的性能监控等。

解决方案
方案介绍
适用场景
参考文档
架构可视化感知方案 Kubernetes集群中的业务是运行在节点组成的资源池上,使得定位Pod的调用链路以及拓扑关系非常复杂。那么如何以可视化的方式监控Kubernetes中的负载状态,及更好地可视化集群中流量的吞吐是非常重要的问题。推荐使用架构感知AHAS(Application High Availability Service)云产品提供的架构感知产品能力。 适用全部场景 更多信息,请参见架构感知监控
基础设施指标监控方案 资源监控是Kubernetes中最常见的底层资源监控方式,通过资源监控可以快速查看负载的CPU、内存、网络等指标的使用率。在阿里云容器服务中,资源监控已经与云监控互通,新建的集群默认安装与集成云监控(Cloud Monitor)。 适用全部场景 更多信息,请参见基础资源监控

指基于容器服务ACK构建系统的容器抽象层的可观测场景,包括集群的性能、事件等监控,容器的性能,以及容器组件等监控。

集群、容器的性能指标监控

解决方案
方案介绍
适用场景
参考文档
云监控容器服务ACK的监控方案 阿里云容器服务ACK新建的集群默认安装与集成云监控(Cloud Monitor),提供集群、容器的部分性能指标监控,并集成在容器服务控制台中展示。 适用部分场景,定制化提供基础的容器层性能指标可观测能力。 更多信息,请参见基础资源监控
阿里云托管版Prometheus的监控方案 Prometheus也是社区官方的容器场景云原生指标可观测方案。阿里云Prometheus监控全面对接开源Prometheus生态,支持类型丰富的组件监控,提供多种开箱即用的预置监控大盘,且提供全面托管的Prometheus服务。借助阿里云Prometheus监控,您无需自行搭建Prometheus监控系统,因而无需关心底层数据存储、数据展示、系统运维等问题。推荐使用阿里云托管版Prometheus(ARMS Prometheus)云产品。 适用全部场景,包括微服务(ServiceMesh)场景、集群如自身组件指标,以及定制监控能力等高级可观测能力。 更多信息,请参见阿里云Prometheus监控
开源Prometheus监控方案 阿里云容器服务在应用市场中提供了开源Prometheus监控方案的集成。 适用全部场景,包括微服务(ServiceMesh)场景、集群如自身组件指标,以及定制监控能力等高级可观测能力。 更多信息,请参见开源Prometheus监控

集群、容器事件监控

解决方案
方案介绍
适用场景
参考文档
事件的监控方案 事件监控是Kubernetes中的站在事件角度的另一种监控方式,可以弥补资源监控在实时性、准确性和场景上的缺欠。开发者可以通过获取事件,实时诊断集群的异常与问题。推荐使用阿里云日志服务 SLS(Log Service)产品提供的事件中心监控能力。 适用全部场景。 更多信息,请参见事件监控

指基于容器服务ACK构建系统的具体应用场景,包括应用指标性能(Metric)、系统调用链(Tracing)、日志监控(Logging)等,例如基于容器服务构建一个JAVA应用,JAVA应用的线程数指标等。

解决方案
方案介绍
适用场景
参考文档
无侵入应用监控APM监控方案 推荐使用阿里云应用性能监控ARMS(Application Realtime Monitor Service)作为应用性能层监控方案,ARMS是一款阿里云应用性能管理(APM)类监控产品。只要为部署在容器服务Kubernetes版中的Java应用安装ARMS应用监控组件,您无需修改任何代码,就能借助ARMS对Java、PHP应用进行全方位监控,以便您更快速地定位出错接口和慢接口、重现调用参数、检测内存泄漏、发现系统瓶颈,从而大幅提升线上问题诊断问题的效率。 适用部分场景,包括JAVA、PHP应用的应用监控,方案接入支持无侵入方式,无需进行代码改造。 更多信息,请参见应用性能监控
侵入式应用监控APM监控方案 链路追踪Tracing Analysis为分布式应用的开发者提供了完整的调用链路还原、调用请求量统计、链路拓扑、应用依赖分析等工具,可以帮助开发者快速分析和诊断分布式应用架构下的性能瓶颈,提高微服务时代下的开发诊断效率。链路追踪支持多种开源社区的SDK,且支持OpenTracing标准。 适用所有场景,包括微服务(ServiceMesh)以及多种开发语言的应用,方案接入需要侵入式代码引入改造。 更多信息,请参见在ASM中实现分布式跟踪快速上手链路追踪

基于容器服务ACK构建的业务系统的具体业务场景,例如基于容器服务构建一套高可用可扩展的网站,网站的业务运营数据PV、UV等,例如应用的成本审计场景等。

解决方案
方案介绍
适用场景
参考文档
自定义日志监控方案 推荐使用阿里云日志服务SLS (Log Service)作为自定义指标的观测方案。您可通过自定义应用系统的内容、格式,并通过日志服务收集,并在日志服务中配置业务大盘,观测自己的业务情况,或做系统审计。 适用全部场景,如流量监控、成本审计统计、业务订单走势统计等。 更多信息,请参见通过日志服务采集Kubernetes容器日志