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

简介: 操作系统配置不当或程序过载可能会造成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. 也可以选中需要排查异常故障的实例,单击实例进入 实例详情页,点击 更多 > 获取实例系统日志 查看日志。

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


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


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

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

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

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

写在最后

让ECS更好用是我们持续追求的目标。ECS主动运维和系统事件机制,可以提前发现基础设施层面对ECS运行的影响,并通过事件让运维人员及时感知并采取预防性措施,避免对在行业务的影响;而今天介绍的诊断日志功能,可以帮助运维人员在面对实例个体由于操作系统内部原因出现异常的情况下,分析原因避免同样的问题反复发生威胁业务连续性。后续我们会推出更多的运维工具和能力,让您使用ECS的过程更放心、更透明。敬请期待!
相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
因服务器时间不同步引起的异常
因服务器时间不同步引起的异常
301 1
ECS磁盘使用率异常升高,BPS,IOPS飙升
我刚开了一个2C4G的ECS,运行Ubuntu 20.04,常出现无响应、SSH断开等问题。原因是未配置swap,导致内存过高时磁盘写入频繁。解决办法在文章里。
125 72
摆脱繁琐命令-让运维更加流畅-阿里云ECS操作系统控制台运维篇
阿里云操作系统控制台提供了便捷的服务器监控与管理功能,简化了运维工作。通过将多台服务器纳入统一监控平台,用户可以快速查看CPU、内存、磁盘和网络等关键资源的使用情况,避免了逐一远程连接查询的繁琐操作。此外,该工具支持自动化数据汇总,极大地方便了日报、周报和月报的编写。测试过程中,系统展示了良好的稳定性和响应速度,尤其在网络抖动和大文件健康状态测试中表现出色。整体体验流畅,显著提升了运维效率。 操作系统控制台地址:[点击访问](https://alinux.console.aliyun.com/)
63 26
摆脱繁琐命令-让运维更加流畅-阿里云ECS操作系统控制台运维篇
【阿里云】控制台使用指南:从创建ECS到系统诊断测评
本文介绍了如何通过阿里云获取ECS云服务器并进行操作系统配置与组件安装,以实现高效的资源管理和系统监控。阿里云凭借强大的基础设施和丰富的服务成为用户首选。文中详细描述了获取ECS、RAM授权、开通操作系统控制台及组件安装的步骤,并展示了如何利用控制台实时监控性能指标、诊断系统问题及优化性能。特别针对idle进程进行了深入分析,提出了优化建议。最后,建议定期进行系统健康检查,并希望阿里云能推出更友好的低成本套餐,满足学生等群体的需求。
87 17
【阿里云】控制台使用指南:从创建ECS到系统诊断测评
智能运维,由你定义:SAE自定义日志与监控解决方案
SAE(Serverless应用引擎)是阿里云推出的全托管PaaS平台,致力于简化微服务应用开发与管理。为满足用户对可观测性和运维能力的更高需求,SAE引入Sidecar容器技术,实现日志采集、监控指标收集等功能扩展,且无需修改主应用代码。通过共享资源模式和独立资源模式,SAE平衡了资源灵活性与隔离性。同时,提供全链路运维能力,确保应用稳定性。未来,SAE将持续优化,支持更多场景,助力用户高效用云。
阿里云操作系统控制台——ECS操作与性能优化
本文详细介绍如何操作阿里云服务器ECS,从开通到组件安装及内存诊断。首先,通过选择操作系统(如Alibaba Cloud Linux 3)并开通服务,创建RAM用户并授予权限。接着,安装所需组件,支持节点或集群安装。最后,利用内存全景诊断功能,输入实例ID或Pod名称发起诊断并解析结果。这一流程帮助用户高效搭建计算环境,提升技术能力,确保业务稳定运行,并提出优化建议以改善用户体验。
89 8
API明细日志及运维统计日志全面提升API可运维性
在数字化转型的大潮中,数据已成为企业最宝贵的资产之一。而数据服务API可快速为数据应用提供数据接口。面对越来越多的API以及越来越多的应用调用,如何快速查看API的服务情况、异常情况及影响范围,以及查看API的调用详情,进行API的性能优化、错误排查变得越来越重要,本文将介绍如何配置和开通API运维统计及明细日志,以及如何查看日志进行介绍。
242 0
docker运维查看指定应用log文件位置和名称
通过本文的方法,您可以更高效地管理和查看Docker容器中的日志文件,确保应用运行状态可控和可监测。
177 28
智能日志分析:用AI点亮运维的未来
智能日志分析:用AI点亮运维的未来
514 15
云产品评测:云服务诊断 — ECS实例健康状态与诊断功能体验
作为一名运维工程师,我日常管理和维护云资源,确保服务稳定运行。阿里云的云服务诊断功能提供了便捷的方式实时了解和优化ECS实例的健康状态。通过健康状态功能,我能够查看CPU、内存等指标,及时发现并解决性能瓶颈,提升了约30%的工作效率。诊断功能则帮助我快速定位复杂问题,减少了40%的诊断时间,并提供详细的优化建议。尽管功能已很强大,但仍建议进一步细化诊断结果和增加自定义告警选项,以提升使用体验。我非常推荐此工具给其他运维人员。
103 22

相关产品

  • 云服务器 ECS