【日志服务CLS】应用TKE事件日志排查异常场景体验

2021-11-23 10:16:59 浏览数 (3)

作者:v神

导语:

云原生日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志数据解决平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。

腾讯云容器服务(Tencent Kubernetes Engine,TKE)是基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,您可以在托管的云服务器实例集群上轻松运行应用程序。同时腾讯云也提供 弹性容器服务(Elastic Kubernetes Service,EKS)和 边缘容器服务(Tencent Kubernetes Engine for Edge,TKE Edge),方便您按需选择。

集群内的状况层出不穷,变化莫测,如节点状态异常,Pod重启等,如果无法第一时间感知状况,会错过最佳的问题处理时间,待问题扩大,影响到业务时才发现往往已经为时已晚。

而事件日志(Event)记录了全面的集群状态变更信息,不仅可以帮助用户帮助第一时间发现问题,也是排查问题的最佳帮手。

什么是事件日志

事件(Event)是Kubernetes中众多资源对象中的一员,通常用来记录集群内发生的状态变更,大到集群节点异常,小到Pod启动、调度成功等等。我们常用的kubectl describe命令就可以查看相关资源的事件信息。

事件日志字段说明

事件日志字段事件日志字段
  • 级别(Type): 目前仅有“Normal”和“Warning”,但是如果需要,可以使用自定义类型。
  • 资源类型/对象(Involved Object):事件所涉及的对象,例如Pod,Deployment,Node等。
  • 事件源(Source):报告此事件的组件;如Scheduler、Kubelet等。
  • 内容(Reason):当前发生事件的简短描述,一般为枚举值,主要在程序内部使用。
  • 详细描述(Message):当前发生事件的详细描述信息。
  • 出现次数(Count):事件发生的次数。

如何使用事件日志去排查问题

日志服务CLS提供针对kubernetes事件日志的一站式服务,包含采集,存储,检索分析能力。用户仅需一键开启集群事件日志功能,即可获取开箱即用的事件日志可视化分析仪表盘。通过可视化的图表,用户可以轻松通过控制台解决大多数常见的运维问题,下面就让我们一起看看如何使用事件日志去排查问题。

前提条件:用户购买TKE容器服务,开启集群事件日志,请参考操作指南

场景1:一台Node节点出现异常,定位原因

进入TKE容器服务控制台,点击左侧菜单中【集群运维】>【事件检索】。在【事件检索】页面,点击【事件总览】,在过滤项中输入异常节点名称。

定位异常节点定位异常节点

查询结果显示,有一条节点磁盘空间不足的事件记录查询结果如下图:

事件结果查询记录事件结果查询记录

进一步查看异常事件趋势:

异常事件趋势异常事件趋势

可以发现,2020-11-25号开始,节点172.16.18.13由于磁盘空间不足导致节点异常,此后kubelet开始尝试驱逐节点上的pod以回收节点磁盘空间。

场景2:节点触发扩容了,用户需要对扩容过程进行回溯,以确定具体原因

开启了节点池「弹性伸缩」的集群,CA(cluster-autoscler)组件会根据负载状况自动对集群中节点数量进行增减。如果集群中的节点发生了自动扩(缩)容,用户可通过事件检索对整个扩(缩)容过程进行回溯。

在【事件检索】页面,点击【全局检索】,输入以下检索命令:

代码语言:javascript复制
event.source.component : "cluster-autoscaler"

在左侧隐藏字段中选择event.reasonevent.messageevent.involvedObject.nameevent.involvedObject.name进行显示,将查询结果按照日志时间倒序排列,结果如下图所示:

日志查询结果日志查询结果

通过上图的事件流水,可以看到节点扩容操作在2020-11-25 20:35:45左右,分别由三个nginx Pod(nginx-5dbf784b68-tq8rd、nginx-5dbf784b68-fpvbx、nginx-5dbf784b68-v9jv5)触发,最终扩增了3个节点,后续的扩容由于达到节点池的最大节点数没有再次触发。


以上就是本期TKE事件日志的玩法分析, 如果您有更多有意思的日志实践,欢迎投稿!

一站式日志数据解决方案平台一站式日志数据解决方案平台

往期文章:

【日志服务CLS】CentOs接入笔记

【日志服务CLS】应用工作流ASW接入CLS实践分享

【日志服务CLS】腾讯云Log4j/Logback日志采集最佳实践

【日志服务CLS】Nginx 访问日志接入腾讯云日志服务

【日志服务CLS】初识腾讯 CLS 高速检索与 Nginx 预报警服务~

0 人点赞