前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【日志服务CLS】应用TKE事件日志排查异常场景体验

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

原创
作者头像
日志服务CLS小助手
修改2021-11-23 10:16:59
4630
修改2021-11-23 10:16:59
举报
文章被收录于专栏:日志服务CLS日志服务CLS

作者: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 预报警服务~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是事件日志
    • 事件日志字段说明
    • 如何使用事件日志去排查问题
      • 场景1:一台Node节点出现异常,定位原因
        • 场景2:节点触发扩容了,用户需要对扩容过程进行回溯,以确定具体原因
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档