ECS运维:操作系统有异常?诊断日志来帮忙!

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 操作系统配置不当或程序过载可能会造成ECS系统内核崩溃,这将导致夯机、异常重启或无法正常启动等问题。为了分析根本原因,运维人员通常要查看系统日志,但此时也许实例已经无法正常远程连接,使得分析诊断非常困难。阿里云提供了一键查看系统日志和屏幕截图功能,为运维人员提供一个方便的工具,支持系统故障的分析。
云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。阿里云使用严格的IDC标准、服务器准入标准以及运维标准,保证云计算整个基础框架的高可用性、数据的可靠性以及云服务器ECS的高可用性。但在使用ECS实例的过程中,仍然有可能会出现由于操作系统配置不当或程序过载等原因导致系统内核崩溃的情况,这将导致系统夯机、异常重启或无法正常启动等问题。为了分析根本原因而避免问题反复发生,运维人员通常依靠查看系统日志来做分析诊断,然而此时也许实例已经无法正常SSH远程连接,让定位故障原因的过程变得非常困难。现在阿里云提供了一键查看系统日志和屏幕截屏的功能,为运维人员提供了一个方便的工具,给系统异常故障的分析诊断提供更多的支持。

为什么需要系统串口日志

当ECS实例发生了夯机、异常重启、或者无法正常启动时,运维人员需要定位导致问题发生的根本原因,及时解决问题并且避免该问题反复发生。

ECS实例运行的稳定性会受多方面影响,概括来说会存在于两个层面,一方面是承载ECS实例运行的基础设施硬件和软件环境,另一方面是ECS实例操作系统内部的运行环境。如果实例的异常状态是由于承载其运行的基础设施硬件或软件出现故障而导致的,阿里云会向用户提供系统事件信息,便于您了解这方面问题对实例运行的影响;如果实例的异常状态是由于操作系统内部内核bug、系统配置不当或程序过载等原因而导致的,就需要查看操作系统层面的日志信息来诊断问题了。
(如果您希望了解更多ECS系统事件的信息,可以查看帮助文档和云栖博客让运维更高效:关于ECS系统事件

在Linux操作系统层面,经过设置后,启动日志和异常故障等信息会通过服务器的串口(串行端口,Serial Port)打印输出。如果是物理服务器,运维人员通常会通过IPMI带外接口获得操作系统通过串口打印输出的日志信息。对于云服务器,运维人员同样需要这方面的日志信息帮助对异常故障做诊断分析,因此,云服务器的系统串口日志是运维诊断的重要一环。

系统串口日志会包含什么信息

系统通过串口打印输出的日志会包含两种类型的信息,一类是系统启动开机时的日志内容,另一类是系统内核故障或异常时的日志内容。

1. Linux操作系统启动开机时,默认会将开机过程产生的日志信息输出到串口。开机信息会被系统内核存储在ring buffer中,会显示系统架构、CPU、RAM、挂载的硬件以及软件启动相关的系统信息。这类信息帮助系统管理员了解系统是否正常启动,检查预先设定的应用程序是否随系统启动等情况。

2. 内核故障或异常错误发生时,系统会按照配置的日志级别(由内核参数kernel.printk决定,默认级别为4 - KERN_WARNING)将对应信息输出到串口。内核错误(Kernel panic)是指操作系统在监测到内部的致命错误,并无法安全处理此错误时采取的动作。操作系统内核中处理Kernel panic的子程序通常被设计用来向串口控制台输出错误信息,以便用于故障的调试,然后等待系统被手动重新引导,或自动重新引导。该程序提供的技术性信息通常是用来帮助系统管理员或者软件开发者诊断问题的。

附:内核日志级别:
日志级别 对应名称 说明
0 KERN_EMERG The system is unusable.
1 KERN_ALERT Actions that must be taken care of immediately.
2 KERN_CRIT Critical conditions.
3 KERN_ERR Noncritical error conditions.
4 KERN_WARNING Warning conditions that should be taken care of.
5 KERN_NOTICE Normal, but significant events.
6 KERN_INFO Informational messages that require no action.
7 KERN_DEBUG Kernel debugging messages, output by the kernel if the developer enabled

如何使用系统串口日志

使用ECS控制台时,对于状态为“运行中”的ECS实例,您可以通过实例列表或实例详情的操作菜单,获取实例系统日志。

控制台操作
  1. 登录 ECS管理控制台。
  2. 单击左侧导航栏中的 实例
  3. 选择 地域
  4. 找到需要排查异常故障的实例的 操作 菜单。
  5. 单击 更多 > 运维和诊断 > 获取实例系统日志 查看日志。
  6. 也可以选中需要排查异常故障的实例,单击实例进入 实例详情页,点击 更多 > 获取实例系统日志 查看日志。

如下图所示,当系统正常启动时,会显示启动过程中的相关日志内容:
7a37f6853568520cb473c41290d8aabd651a7acc

当系统出现内核错误时,会显示相关错误信息:
1ce279414c77b9f9b60f0d481c43a989408ce3eb

结合日志中所显示的内容,可以帮助运维人员检查系统启动是否正常,以及诊断操作系统层面发生的异常故障。

此外,在某些时刻系统也会将异常信息输出到显示器(比如Windows系统“蓝屏”),由于云服务器没有连接物理显示器,因此可以使用获取实例屏幕截图的功能查看异常状态下输出到屏幕的信息,为问题分析提供辅助。

使用OpenAPI时,您可以使用 GetInstanceConsoleOutput ,获得通过Base64编码输出的日志内容。使用 GetInstanceScreenshot ,获得通过Base64编码输出的屏幕内容。

请注意,目前只有在 运行中 状态的实例可以查看系统日志和屏幕截屏。

写在最后

让ECS更好用是我们持续追求的目标。ECS主动运维和系统事件机制,可以提前发现基础设施层面对ECS运行的影响,并通过事件让运维人员及时感知并采取预防性措施,避免对在行业务的影响;而今天介绍的诊断日志功能,可以帮助运维人员在面对实例个体由于操作系统内部原因出现异常的情况下,分析原因避免同样的问题反复发生威胁业务连续性。后续我们会推出更多的运维工具和能力,让您使用ECS的过程更放心、更透明。敬请期待!
相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
存储 弹性计算 安全
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(1)
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(1)
332 1
|
3月前
|
存储 运维 应用服务中间件
[运维日志] Web 服务器日志依日期归档(Powershell 实现,附源代码)
[运维日志] Web 服务器日志依日期归档(Powershell 实现,附源代码)
74 0
|
3月前
|
运维 Linux Windows
[运维技术]PowerShell中实现一个最基本的日志器logger
[运维技术]PowerShell中实现一个最基本的日志器logger
36 1
|
2月前
|
存储 弹性计算 安全
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(2)
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(2)
662 1
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(2)
|
1月前
|
弹性计算 监控 网络协议
ECS操作系统监控
ECS操作系统监控
16 2
|
2月前
|
弹性计算 运维 监控
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(3)
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(3)
339 1
|
2月前
|
弹性计算 编解码 监控
ECS实例问题之ECS实例无法选择Windows操作系统如何解决
ECS实例指的是在阿里云ECS服务中创建的虚拟计算环境,用户可在此环境中运行应用程序和服务;本合集将介绍ECS实例的创建、管理、监控和维护流程,及常见问题处理方法,助力用户保障实例的稳定运行。
|
3月前
|
JSON NoSQL 网络安全
业务服务器免装插件,使用rsync+nxlog同步+采集应用日志并接入到GrayLog5.1
业务服务器免装插件,使用rsync+nxlog同步+采集应用日志并接入到GrayLog5.1
39 0
|
3月前
|
存储 JSON 运维
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
49 0
|
3月前
|
弹性计算 运维 安全
九大提升ECS实例操作系统安全性的技巧
【弹性计算技术公开课——ECS安全季】第二节课程由阿里云弹性计算技术专家陈怀可带来,本文内容整理自他的课程,供各位阅览。

相关产品

  • 云服务器 ECS