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

news2024/9/25 17:20:38

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

04  场景 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 中,欢迎关注与指导。

05  总结

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

系统运维 SIG 主页:

https://openanolis.cn/sig/sysom

可能需要的预备知识:

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

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

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

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

—— 完 ——

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/399780.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Django/Vue实现在线考试系统-05-开发环境搭建-PyCharm安装

1.0 PyCharm下载和安装 PyCharm 是 JetBrains 公司(www.jetbrains.com)研发,用于开发 Python 的 IDE 开发工具。图 1 所示为 JetBrains 公司开发的多款开发工具,其中很多工具都好评如潮,这些工具可以编写 Python、C/C++、C#、DSL、Go、Groovy、Java、JavaScript、Objecti…

关于kafka,你背了哪些面试题(持续更新中)

昨天面试大数据开发岗位&#xff0c;面试官问了一个开放性的问题&#xff0c;讲讲你对kafka的认识&#xff0c;一下有些懵住&#xff0c;不知道从哪里开始谈起。 今天和另外一个大佬聊天&#xff0c;他告诉我&#xff0c;就是要背面试题&#xff0c;背面试题是一种有效的学习方…

如何把iPhone照片导入电脑?图文教学,1分钟教你快速导入

​在日常生活中&#xff0c;我们经常会用iPhone拍摄照片&#xff0c;但是iPhone的存储空间有限&#xff0c;随着照片的增加&#xff0c;存储空间会越来越少。因此&#xff0c;把iPhone照片导入电脑成为了很多人需要解决的问题。那么&#xff0c;如何把iPhone照片导入电脑呢&…

Linux上安装配置ZooKeeper

Linux上安装配置ZooKeeper 下载压缩文件 将压缩文件拷贝到指定目录下 执行命令 tar -zxvf [apache-zookeeper-3.5.7-bin.tar.gz] -C [/opt/module/]注&#xff1a;第一个括号里面是压缩文件名称&#xff0c;第二个括号里面是解压到指定的目录 进入到解压后的文件夹当中&am…

KDHG-A变频互感器综合测试仪

一、概述 KDHG-A电流互感器现场综合测试仪是一种专门为测试互感器&#xff1a;伏安特性、变比、极性、误差曲线、计算拐点和二次侧回路检查等设计的多功能现场试验仪器。 二、主要特点 1&#xff0e;单机220V输入时最大电压输出0-2500V&#xff0c;单机最大电流输出0-1000A&am…

我的同事用PicSo AI这款绘画软件,连夜生成了100个“女朋友”

最近的AI绘画实在是太火爆了&#xff01; 有人用它来生成商业插画&#xff0c;有人用它来测试AI的智商&#xff0c;有人用它来为小说生成配图&#xff0c;有人在它的作品中寻找灵感… 而我的同事&#xff0c;用AI软件给自己画了将近100个漂亮的女朋友&#xff01; 而这款令…

美颜SDK关键技术讲解——人脸识别与人脸美化

拍摄&#xff0c;自从智能手机普及之后就已经不再是小众爱好&#xff0c;使用手机拍摄记录生活几乎成了人们的日常。在巨量的需求下&#xff0c;美颜工具、美颜SDK已经被广泛应用于各大视频拍摄平台。虽然经常听到美颜SDK&#xff0c;但是大多数人并不了解它&#xff0c;下文小…

【量化交易笔记】4.移动平均值的实现

上一讲已经讲A股的数据下载到本地或保存数据库&#xff0c;我们可以随时使用。 移动平均MA(Moving Average) &#xff0c;是用统计分析的方法&#xff0c;将一定时期内的证券价格&#xff08;指数&#xff09;加以平均&#xff0c;并把不同时间的平均值连接起来&#xff0c;形成…

Git 分支管理常用指令

不同分支有着自己的工作区和本地仓库&#xff0c;相互之间看不到&#xff0c;也影响不到&#xff0c;只有在合并分支的时候&#xff0c;才会将某一个分支做出的修改更新到另一个分支上。 目录 1、git branch&#xff08;分支查看、创建、删除&#xff09; (1) 查看分支 (2) …

园区网双出口问题解决方案

园区网双出口拓扑图公司向运营商租⽤两条带宽&#xff0c;ISP1为100M&#xff0c;ISP2为50M&#xff0c;默认情况下园区⽤户访问Internet优先⾛ISP1链路&#xff0c;请提供解决⽅案。解决方案1&#xff1a;接入路由为静态时解决方案2&#xff1a;当接入为动态路由时解决方案3&a…

荣耀MagicBook电脑系统损坏怎么U盘重装系统?

荣耀MagicBook电脑系统损坏怎么U盘重装系统&#xff1f;有用户电脑开机之后&#xff0c;无法正常进入桌面了&#xff0c;而是变成了一个蓝屏的界面。通过重启和进行系统修复都没有用。这个情况只有去进行U盘重装系统了。接下来我们就来看看以下详细的重装系统方法教学吧。 准备…

Python之函数参数细讲

文章目录前言一、了解形式参数和实际参数1. 通过作用理解2. 通过一个比喻来理解形式参数和实际参数二、位置参数1. 数量必须与定义时一致2. 位置必须与定义时一致三、关键字参数四、为参数设置默认值五、可变参数1. *parameter2. **parameter总结前言 在调用函数时&#xff0c;…

Spark MLlib概述

Spark MLlib概述机器学习房价预测模型选型数据探索数据提取准备训练样本模型训练模型效果评估机器学习 机器学习的过程 : 基于历史数据&#xff0c;机器会根据一定的算法&#xff0c;尝试从历史数据中挖掘并捕捉出一般规律再把找到的规律应用到新产生的数据中&#xff0c;从而…

【拜占庭将军问题】这一计谋,可以让诸葛丞相兴复汉室

我们都知道&#xff0c;诸葛亮第一次北伐是最可能成功的&#xff0c;魏国没有防备&#xff0c;还策反了陇西&#xff0c;陇西有大量的马匹可以装备蜀国骑兵&#xff0c;可惜街亭一丢&#xff0c;那边就守不住了 当时我不在&#xff0c;只能作诗一首~ 如果穿越过去&#xff0c;…

SpringBoot下的Spring——DAY04——动态代理总结、AOP、自定义注解进行拦截、动态获取注解参数、通知方法(内含源代码)

SpringBoot下的Spring——DAY04——动态代理总结、AOP、自定义注解进行拦截、动态获取注解参数、通知方法&#xff08;内含源代码&#xff09; 源代码下载链接地址&#xff1a;https://download.csdn.net/download/weixin_46411355/87549575 目录SpringBoot下的Spring——DAY0…

【点云学习】多时相激光雷达点云

多时相雷达数据&#xff08;multi-tempral LiDAR data&#xff09; 1 一种多时相激光雷达数据建筑物变化检测方法-汪承义&#xff08;2013&#xff09; 背景&#xff1a;空间分辨率的提高引入了“类内可分性”增加与“类间可分性”降低&#xff1b;遮挡与阴影的存在使问题变得…

pytorch权值初始化和损失函数

pytorch权值初始化和损失函数 权值初始化 梯度消失与爆炸 针对上面这个两个隐藏层的神经网络&#xff0c;我们求w2的梯度 可以发现&#xff0c;w2的梯度与H1&#xff08;上一层网络的输出&#xff09;有很大的关系&#xff0c;当h1趋近于0时&#xff0c;w2的梯度也趋近于0&am…

swoole的强大之处,你可能只是略知一二!

首先 swoole 是 php 的一个扩展程序swoole 是一个为 php 用 c 和 c 编写的基于事件的高性能异步 & 协程并行网络通信引擎swoole 是一个多进程模型的框架&#xff0c;当启动一个进程 swoole 应用时&#xff0c;一共会创建 2nm 个进程&#xff0c;n 为 worker 进程数&#xf…

maven将jar文件上传至本地仓库及私服

maven官方仓库有些依赖并不存在&#xff0c;现在项目都是maven直接获取jar&#xff0c;当maven获取不到时&#xff0c;需要我们把jar上传至maven仓库。已 ImpalaJDBC41.jar 文件为例&#xff0c;如&#xff1a;希望上传后&#xff0c;设置的依赖为&#xff1a;<dependency&g…

数字化工厂装配线生产管理看板系统

电力企业业务复杂&#xff0c;组织结构复杂&#xff0c;不同的业务数据&#xff0c;管理要求也不尽相同。生产管理看板系统针对制造企业的生产应用而开发&#xff0c;能够帮助企业建立一个规范准确即时的生产数据库。企业现状&#xff1a;1、计划不清晰&#xff1a;生产计划不能…