首页
/ Amazon EKS-AMI 日志收集器新增重启历史记录功能

Amazon EKS-AMI 日志收集器新增重启历史记录功能

2025-06-30 13:19:05作者:凤尚柏Louis

背景介绍

在 Kubernetes 生产环境中,节点异常重启是影响服务稳定性的重要因素之一。Amazon EKS-AMI 项目中的 eks-log-collector 脚本是 AWS 提供的标准日志收集工具,用于帮助用户和 AWS 支持团队诊断 EKS 节点问题。

问题发现

在实际运维过程中,工程师们发现了一个重要问题:当节点发生硬重启时,现有的日志收集机制无法完整记录重启历史。这导致在排查容器运行时(如 containerd)或其他组件异常重启时,难以快速确定根本原因是服务自身问题还是节点重启导致的连锁反应。

技术分析

当前 eks-log-collector 主要通过 dmesg 收集内核日志,但 dmesg 只能记录当前会话的日志。当节点发生重启后,之前会话的日志就会丢失。而 Linux 系统实际上通过以下方式记录了完整的重启历史:

  1. last 命令输出的系统启动记录
  2. /var/log/wtmp 文件中的登录/重启记录
  3. 部分发行版的 /var/log/boot.log

这些数据对于诊断节点稳定性问题至关重要,但原先的日志收集脚本并未包含这些信息。

解决方案

社区贡献者提出了在 eks-log-collector 中增加重启历史收集功能的建议。该功能通过以下方式实现:

  1. 收集 last reboot 命令输出
  2. 备份相关的系统日志文件
  3. 将这些信息整合到标准日志包中

这一改进已随 v20240828 版本发布,使得运维人员现在可以:

  • 快速确认节点是否发生过意外重启
  • 将服务异常与重启事件时间线关联
  • 区分是服务自身崩溃还是节点重启导致的容器重启

实施效果

这一改进显著提升了 EKS 节点问题的诊断效率。运维团队现在可以:

  1. 在收到容器异常报警时,首先检查节点重启历史
  2. 区分是软件问题还是基础设施问题
  3. 减少不必要的深入排查时间

最佳实践建议

基于这一改进,我们建议 EKS 用户:

  1. 定期检查节点重启历史作为健康检查的一部分
  2. 在提交支持请求时主动提供包含重启历史的完整日志包
  3. 将节点重启事件纳入监控告警系统

这一功能增强体现了 AWS EKS 团队对运维实际需求的快速响应能力,也展示了开源社区协作改进云原生工具链的价值。

登录后查看全文
热门项目推荐
相关项目推荐