开发者学堂课程【5分钟玩转阿里云容器服务:容器可观测-如何为 K8s 中的所有事件提供可观测能力】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1038/detail/16077
容器可观测-如何为 K8s 中的所有事件提供可观测能力
内容介绍:
一.ACK 可观测体系概述
二.事件中心
三.ACK 日志中心
一.ACK 可观测体系概述
容器服务的可观测体系 logging 部分,包含事件中心、日志中心
ACK 集群中的事件体系包含了非常成熟的事件体系,提供了应用生命周期的事件以及 CGroup 层的事件。
ACK 可观测体系在社区的事件体系之上,从表层到底层都进行了覆盖和增强,对容器场景的可观测事件体系进行了全覆盖,从上到下分别是:应用层的异常、集群管控操作的重要事件、集群 control plane 核心组建的异常。
二.事件中心
如此复杂的 ACK 事件体系,用户只需要开启 ACK 事件中心的产品功能,即可在 ACK 控制台中获得开箱即用的事件监控能力,且 ACK 事件中心数据将持久化,从默认集群中只保留最近1小时,延长至默认保留最近90天。
开启 ACK 事件中心后,在 ACK 集群控制台运维管理事件中心中,从事件总览、事件查询、节点事件和 Pod 事件监控等多个视角的入口,进入 ACK 事件中心。
ACK 事件中心提供强大、灵活易用的分析能力,可以快速监控查看用户集群中的异常事件。
如图,该集群中正发生一个应用的 OOM (out of memory)事件,以及近期部署应用时发生镜像拉取失败、驱逐等异常,这里也会展示其他集群重要的异常事件和统计分布。
在节点事件页面中,可以查看一个节点生命周期中的事件,如图可以看到此节点出现重启、磁盘压力报警及最终磁盘不可用导致节点下线的情况。
在 Pod 事件监控中,可以以一个特定 Pod 的视角看到这个 Pod 的生命周期发生的所有事件,在 demo 中的 Pod 从被集群调度到拉取镜像,镜像拉取成功,最终 Pod 启动,启动后出现 Pod OOM,然后反复重启,最终 Pod BackOff, ACK 事件中心也提供 control plane 核心组件的异常事件视角,可以查看集群的核心组件、重要的 Addon 异常事件等。
三.ACK 日志中心
ACK 日志中心包含预置的 Ingress 流量日志大盘、审计日志以及云原生的方式快速接入用户应用日志的能力。
1、Ingress 大盘
在 ACK 集群控制台中,从网络-路由页面进入 Ingress 的配置,可以看到此次唯有 Ingress 的配置,从右上角 Ingress 概览,可进入 Ingress 流量大盘。
在 Ingress 流量大盘中,可以看到用户 Ingress 流量请求的 pv/uv 统计、各种错误返回的状态和统计,以及更详细的流量访问情况。
2、审计日志
在 ACK 集群控制台安全管理集群审计中,开通并进入审计中心,可以详细的统计访问此集群资源的审计情况,包括对资源的创建、更改、删除对应的操作事件,追溯集群操作的来源网域和集群被从公网访问的次数
操作详情与详情列表可以看到这个集群中资源操作的具体审计情况,如图:
第二行可以看到 deployment 部署 demo 的详细执行情况,以及发起操作的来源 IP
3、ACK 日志中心
ACK 日志中心提供集群日志、集群的 control plane 核心组件日志,可以在左侧运维管理中心中查看,用户也可使用云原生的方式在应用中打上 annotation 即可上报 Pod 中的日志到 ACK 日志中心,即可快速的通过白屏化的方式进行操作,如图:
对 arms - springboot - demo 这一 deployment 进行编辑,在日志服务中配置采集日志的标准输出(log store)、采集的日志路径或者是标准输出 stdout ,编辑即可完成此应用的 Pod 日志的上报,日志中心的应用日志中,即可看到并选择此日志。
查看此 Pod 上报的日志数据,用户在此可以通过强大灵活的 SLS 、SQL 对语句进行自定义的查询,快速的实现问题排查与故障定位。