从新手小白到运维大咖,SysOM 多场景宕机实例解析 | 龙蜥技术

简介: 更自动化和智能的运维,再也不怕无法及时感知宕机和重复投入已知问题的情况。

1 (2).png

文/刘馨蔚,系统运维 SIG Contributor


“老板老板,今天业务又发生了抖动,具体原因暂时还不能快速查清,再给我点时间吧。”

“老板老板,这个问题我好像解过,但是也不太确定,我再重新分析一次吧。”

“老板老板......”


不知道你们或者身边的人是不是也遇到过这个问题:服务器无端重启,造成业务抖动,但是不知道具体发生了什么;明明分析过的问题但是又不能确定是否是同一个问题;无法感知集群的健康状况,无法及时主动地运维。这些问题不仅会影响业务,投入过多的运维人力,无法沉淀已有的运维经验。下文将会从多个场景来展示宕机中心的应用场景

场景 1:运维人员了解集群宕机状况

当发生业务中断、不相应等突发情况时,我们可以通过宕机中心查看当前机器是否存在宕机以及历史宕机,可以快速准确地与现有的业务异常进行关联,同时及时地进行主动运维,减少投入过多人力的排查和时间。宕机中心将会检测并实时收集宕机,及时上报展示到宕机中心首页便于运维人员发现、上报和解决问题。如下图所示,宕机中心的首页除了展示已发生的宕机列表外,还提供了集群的宕机指标和宕机列表信息,其中包括核心指标、总宕机列表和总览集群的宕机状况。使用者可以快速直观地观测到集群的宕机情况,快速了解集群内机器的健康情况。

1.png

场景 2:新手小白都能看懂的宕机详情与自动关联解决方案

从宕机列表中点击查看某次宕机的宕机详情,将会跳转至宕机详情页面。


宕机详情能为运维新手甚至小白提供能看懂的宕机信息,通过 SysOM 后台自动分析后,在页面展示与以往历史调用栈相同的宕机、宕机的时间、宕机的主机和主机关键信息、宕机的关键函数和运行的进程,硬件宕机还是软件宕机等信息。同时还提供可以在线分析 vmcore 的网页,方便直接快捷地分析问题。

2.png

3.png

值得一提的是,宕机中心提供了一整套解决方案的管理系统,即使不会分析宕机,也能够快速查看已经关联的解决方案。使用者可通过宕机详情页面的“录入解决方案”按钮来对方案的录入。使用者通过分析宕机后可以将相关的解决方案录入并与某个宕机关联,不仅方便日后查看而且可以记录沉淀这个解决方案,当相似宕机发生时后台会运行宕机相似匹配的算法,自动关联到相似宕机的解决方案。

场景 3:运维老手可通过调用栈查询历史的宕机

如果当整个集群的宕机变多后,如何除了利用一些主机名等关键信息来对宕机进行筛选呢?SysOM 宕机中心提供通过调用栈来反向搜索已发生的宕机,这种情况可能发生在查询一台不在 SysOM 管控集群机器的宕机调用栈是否也出现在管控集群的宕机中,或者可以是运维人员想要通过调用栈来直接查找历史宕机。

4.png

点击标题上的宕机分析->宕机匹配后跳转到宕机匹配的页面。宕机匹配主要提供了匹配相似宕机的功能,在相似调用栈的文本框中输入某次宕机的关键调用栈,将会和现有历史的宕机进行相似匹配。

如下输入了内核的宕机调用栈后将会在集群内已发生的宕机中搜索相似的宕机,并且给出相似度:

5.png

场景 4:快速匹配上游社区的问题

虽然 SyOM 提供了一整套解决方案的管理系统,并且相同宕机发生后会自动关联到之前已有宕机的解决方案,但是这套管理系统最开始是没有任何知识库的,需要运维人员分析后,录入知识库不断地积累知识库。为此 SysOM 特有地提供了一种快速匹配上有社区宕机解决方案的方法,在没有任何已知沉淀知识库的情况下也能快速匹配上游社区已知宕机问题的解决方案,同时可以讲匹配到的方案沉淀到自己的知识库中。

例如发生了一个宕机后出现了如下的宕机日志:

[70918341.089708] BUG: unable to handle kernel NULL pointer dereference at           (null) [70918341.098547] IP: [<ffffffffxxxxxxxx>] ovl_cleanup+0x2x/0xd0 [overlay] ... [70918341.372226] Call Trace: [70918341.375674]  [<ffffffffxxxxxxxx>] ovl_cleanup_whiteouts+0x7x/0xd0 [overlay] [70918341.383698]  [<ffffffffxxxxxxxx>] ovl_clear_empty+0x2x/0x2e0 [overlay] [70918341.391336]  [<ffffffffxxxxxxxx>] ovl_check_empty_and_clear+0x7x/0x90 [overlay] [70918341.399666]  [<ffffffffxxxxxxxx>] ovl_do_remove+0x1x/0x470 [overlay] [70918341.414296]  [<ffffffffxxxxxxxx>] ovl_rmdir+0x1x/0x20 [overlay] [70918341.421250]  [<ffffffffxxxxxxxx>] vfs_rmdir+0xax/0x100 [70918341.427445]  [<ffffffffxxxxxxxx>] do_rmdir+0x1ax/0x200 [70918341.447782]  [<ffffffffxxxxxxxx>] SyS_unlinkat+0x2x/0x40

[70918341.454124]  [<ffffffffxxxxxxxx>] system_call_fastpath+0x1x/0x1b


通过 SysOM 的 Upstream 匹配,可以直接通过宕机日志匹配到上游解决次宕机的方案:

疑似上游社区解决案:

1.https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=84889d49335627bc770b32787c1ef9ebad1da232 

2.https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ab79efab0a0ba01a74df782eb7fa44b044dae8b5

3.https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9f4ec904dbd4eb1a2db10d5e7dc16eae386fe64d

通过分析后得出第一个上有社区解决方案为本宕机的解决方案。这个上有社区解决方案的匹配搜索方法即将开源到 SysOM 中,欢迎关注与指导。

总结

SysOM 的宕机中心是一个集宕机收集、宕机展示和问题匹配的功能平台。宕机中心在提供便捷、用户友好的管理界面同时,也为使用者提供问题积累沉淀、问题智能匹配的功能,实现了更自动化和智能的运维,再也不怕无法及时感知宕机和重复投入已知问题的情况。目前宕机中心的代码已开源到 SysOM 中,欢迎大家点赞批评。


系统运维 SIG 主页:

https://openanolis.cn/sig/sysom


可能需要的预备知识:

1、宕机:指操作系统无法从一个严重系统错误中恢复过来,或系统硬件层面出问题,以致系统长时间无响应,而不得不重新启动计算机的现象。

2、宕机信息:主机通过 kdump 等手段,可转储宕机时主机的日志信息和操作系统的 core dump 信息(vmcore),以此来分析宕机的原因。

3、调试 vmcore:类似于 gdb 调试,调试 vmcore 通过 crash 软件来对宕机保存下来的 core 文件进行分析,可分析宕机的宕机函数、调用栈和内存信息等。

4、调用栈:本文中的调用栈都是指宕机时发生异常的 CPU 上的函数调用链,调用栈从下至上的展示了当前的函数调用关系。

—— 完 ——

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。

系统运维.PNG

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
12天前
|
存储 负载均衡 监控
数据库多实例的深入解析
【10月更文挑战第24天】数据库多实例是一种重要的数据库架构方式,它为数据库的高效运行和灵活管理提供了多种优势。在实际应用中,需要根据具体的业务需求和技术环境,合理选择和配置多实例,以充分发挥其优势,提高数据库系统的性能和可靠性。随着技术的不断发展和进步,数据库多实例技术也将不断完善和创新,为数据库管理带来更多的可能性和便利。
84 57
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
思通数科AI平台在尽职调查中的技术解析与应用
思通数科AI多模态能力平台结合OCR、NLP和深度学习技术,为IPO尽职调查、融资等重要交易环节提供智能化解决方案。平台自动识别、提取并分类海量文档,实现高效数据核验与合规性检查,显著提升审查速度和精准度,同时保障敏感信息管理和数据安全。
42 11
|
2天前
|
Kubernetes Cloud Native 云计算
云原生技术深度解析:重塑企业IT架构的未来####
本文深入探讨了云原生技术的核心理念、关键技术组件及其对企业IT架构转型的深远影响。通过剖析Kubernetes、微服务、容器化等核心技术,本文揭示了云原生如何提升应用的灵活性、可扩展性和可维护性,助力企业在数字化转型中保持领先地位。 ####
|
3天前
|
自然语言处理 并行计算 数据可视化
免费开源法律文档比对工具:技术解析与应用
这款免费开源的法律文档比对工具,利用先进的文本分析和自然语言处理技术,实现高效、精准的文档比对。核心功能包括文本差异检测、多格式支持、语义分析、批量处理及用户友好的可视化界面,广泛适用于法律行业的各类场景。
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
医疗行业的语音识别技术解析:AI多模态能力平台的应用与架构
AI多模态能力平台通过语音识别技术,实现实时转录医患对话,自动生成结构化数据,提高医疗效率。平台具备强大的环境降噪、语音分离及自然语言处理能力,支持与医院系统无缝集成,广泛应用于门诊记录、多学科会诊和急诊场景,显著提升工作效率和数据准确性。
|
10天前
|
监控 Cloud Native 持续交付
云原生技术深度解析:重塑现代应用开发与部署范式####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在现代软件开发中的重要性。通过剖析容器化、微服务架构、持续集成/持续部署(CI/CD)等关键技术,本文旨在揭示云原生技术如何促进应用的敏捷性、可扩展性和高可用性,进而推动企业数字化转型进程。不同于传统摘要仅概述内容要点,本部分将融入具体案例分析,直观展示云原生技术在实际应用中的显著成效与挑战应对策略,为读者提供更加丰富、立体的理解视角。 ####
|
10天前
|
算法 Java 数据库连接
Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性
本文详细介绍了Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性。连接池通过复用数据库连接,显著提升了应用的性能和稳定性。文章还展示了使用HikariCP连接池的示例代码,帮助读者更好地理解和应用这一技术。
25 1
|
11天前
|
安全 测试技术 数据安全/隐私保护
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
|
11天前
|
安全 5G Android开发
安卓与iOS的较量:技术深度解析
【10月更文挑战第24天】 在移动操作系统领域,安卓和iOS无疑是两大巨头。本文将深入探讨这两个系统的技术特点、优势和不足,以及它们在未来可能的发展方向。我们将通过对比分析,帮助读者更好地理解这两个系统的本质和内涵,从而引发对移动操作系统未来发展的深思。
26 0

推荐镜像

更多
下一篇
无影云桌面