故障恢复指恢复业务连续性的应急操作,很多故障是在不断尝试验证解决恢复的动作,所以故障恢复环节与故障定位环节有一定的交叠,或在这两个环节之间不断试错的循环,即故障恢复操作可能和故障诊断是同时,也可能是诊断之后或诊断之前 1.已知预案下的恢复三把斧 在故障管理过程中,通常大部分故障有一些明确的故障恢复预案,比如基础设施、服务器、网络设备、网络线路,以及应用系统层中关于服务可用性等故障因素,以及基于历史故障经验积累的方案。 以一个复杂故障应急场景中,很多时候故障处置的决策人员通常一方面协调人员现场分析问题,另一方面指挥启动已知预案的应急。 、数据完整性的故障恢复,这些故障恢复通常需要现场临时决断恢复。 结束 注:“3.4 事中处置”另外3个环节内容链接: 1.故障发现、故障响应 2.故障定位
故障定位指诊断故障直接原因或根因,故障定位有助于故障恢复动作更加有效。故障定位通常是整个故障过程中耗时最长的环节,定位的目标围绕在快速恢复的基础上,而非寻找问题根因,后者由问题管理负责。 应用逻辑故障的问题定位与“故障传染”场景类似,如何在大量病态的功能中找到根因功能,并对功能进行降级等恢复是难点。 3)测试复现 复杂系统的故障定位必然是一个跨团队协同的过程,测试复现是一个协同定位的解决方案。从岗位看,测试与bug打交道的机会最多,对于逻辑、数据引发的故障更敏感。 对于多个监控告警进行告警事件的收敛管理,基于CMDB关系数据进行初步的定位。 利用监控数据与AIOps算法,构建智能化的故障定位场景应用,增加故障定位的能力。 比如,运维知识图谱能赋能故障的决策,将运维知识图谱融入到运维应急工具中,可以将运维人员的故障定位决策过程数字化,构建决策支持知识图谱,借助机器对海量定位决策操作行为进行穷举式遍历。
在面对故障的时候,我也有类似的感觉:不怕出故障,就怕你不知道故障的原因,故障却隔三差五的找上门来。 在继续定位故障原因前,我们先通过「man brk」来查询一下它的含义: brk() sets the end of the data segment to the value specified by brk(0x1e5a000) = 0x1e5a000 <0.012396> brk(0x1e9a000) = 0x1e9a000 <0.000092> 通过「grep」我们很方便就能获取相关的上下文,反复运行几次 3119 24 total 显而易见,「brk」已经不见了,取而代之的是「recvfrom」和「accept」,不过这些操作本来就是很耗时的,所以可以定位 「brk」就是故障的原因。
一 OSPF邻居down故障原因 本类故障的常见原因主要包括: BFD故障; 对端设备故障; CPU利用率过高; 链路故障; 接口没有Up; 两端IP地址不在同一网段; RouterID配置冲突; 两端区域类型配置不一致; 两端OSPF参数配置不一致; 二 故障定位步骤 1、通过日志查看OSPF邻居Down的原因 执行display logbuffer size 此时,可以执行display interface [ interface-type [ interface-number ] ]命令查看接口状态,排查接口故障。 2、检查链路是否故障 请执行ping命令和在接口视图下执行display this interface命令,检查设备链路是否故障(包括传输设备故障)。如果链路正常,请执行步骤3。 3、检查CPU利用率是否过高 请执行display cpu命令检查故障设备的CPU利用率是否过高。如果CPU利用率过高会导致OSPF无法正常收发协议报文从而导致邻居振荡。
前面发的Observability的文章,引起了不少的共鸣,在群里或私聊时很多朋友提到一个点: 故障处理时,运维的逻辑是快速恢复,所以根因是什么不重要,但是不知道根因发生的位置在哪儿,怎么做应急处置呢 这是个非常好的问题,这里我们就要区分两个经常挂在嘴边,但是确很少有人去能理解透彻的概念:定界和定位。 我们讲故障时可以不用定位,指的是在故障时,不用去定位故障原因是什么,但是不能不做定界。 重要的事情讲三遍: 定界和定位是两回事。 定界和定位是两回事。 定界和定位是两回事。 定界不做,那接下来的恢复就无从谈起了。 举个简单的场景案例: 当一次故障发生,业务指标受影响,硬件层面、网络层面、数据库层面,分布式组件层面、存储层面、应用层面,可能都会有告警。 所以,定界的能力,其实比定位更重要,定界必须要高效,定位在绝大多数情况下是可以在事后做的。 一定一定要区分开看,不能混为一谈。
此节配套的源码在**裸机Git仓库 NoosProgramProject/(9_重定位/02_clean_bss)**目录内。 该程序放在**裸机Git仓库 NoosProgramProject/(9_重定位/003_without_relocation)**文件夹内。 重定位/003_without_relocation)和目录裸机Git仓库 NoosProgramProject/中(9_重定位/004_manual_relocate_data)**中的程序分别烧录、 工程文件放在裸机Git仓库 NoosProgramProject/(9_重定位/005_relocate_data_with_c)目录内。 工程文件放在裸机Git仓库 NoosProgramProject/(9_重定位/007_relocate_all_with_c) 目录下。
来自:数据中心运维管理 网络故障排除对于网络技术专家和网络工程师是颇具挑战的工作。每当添加新的设备或网络发生变更时,新的问题就会出现,而且很难确定问题出在哪里。 每一位网络工程师或专家都有自己的经验和必备工具,能让他们快速定位网络故障。以下的这些工具,是否是你的工具箱中的选项。 1. Nmap Nmap是开源工具,它被称作网络故障排除的“瑞士军刀”。 9. OpenVAS 每个网络专家都应使用某种主动式漏洞扫描软件来检测网络威胁,在潜在威胁进入系统之前对其进行故障排除,而不是试图修复造成的破坏。 Batfish 强烈建议你将网络配置分析添加到故障排除工具包中。 更好的是,可以使用Batfish或类似的验证工具来确保网络故障不会发生。 15. Fiddler 当考虑网络故障工具时,现在可用的SaaS很多。
一 BGP邻居无法建立故障原因 本类故障的常见原因主要包括: BGP报文转发不通 ACL过滤了TCP的179端口 邻居的Router ID冲突 配置的邻居的AS号错误 用Loopback 用Loopback口建立EBGP邻居未配置peer ebgp-max-hop peer valid-ttl-hops配置错误 对端配置了peer ignore 两端的地址族不匹配 二 故障定位步骤 如果不能Ping通,请处理Ping不通问题排除链路传输的故障问题。 2、检查是否配置ACL禁止TCP的179端口 在两端执行display acl all命令查看是否禁止TCP的179端口。
在日常的计算机使用过程中,硬件故障是无法避免的问题。但如何快速、准确地定位到问题所在,是每个技术爱好者和专业人士都应该掌握的技能。 引言 硬件是计算机的基础,但随着时间的流逝和使用的增加,硬件的老化和故障是不可避免的。对于IT从业者和技术爱好者来说,快速、准确地定位硬件故障,不仅可以节省时间,还可以避免不必要的损失。 正文 1. 常见的硬件故障及其原因 1.1 硬盘故障 老化:长时间使用导致的性能下降。 物理损坏:如摔打、高温等。 软件冲突:如病毒、恶意软件或者软件冲突导致的硬盘故障。 3.3 选择合适的替换部件 当某个硬件部分确实出现故障时,选择合适的替换部件是关键。 总结 硬件故障是计算机使用过程中的常见问题,但通过正确的诊断和处理方法,我们可以快速解决问题,确保计算机的正常运行。希望这篇文章能帮助大家在面对硬件故障时,有更多的自信和方法。
在下面的描述中,ZK指的是zookeeper,Watch丢通知故障简称为丢消息,因个人水平的原因,文章中定位出的原因,未必是真实的原因,仅供参考。 image.png 故障现象 用户在客户端执行一些配置更新后,经常反馈计算节点的配置没有更新成功,还在跑着旧版本。 定位过程 首先简单介绍代码。 针对这个故障,考虑到在网络故障的短暂时间内存在丢消息的可能,因此解决方案比较直接: func (m *McAgent) HandleEvent(ev zk.Event) { switch 从故障Agent的日志看,没有任何异常,也没有任何ZK连接变化相关的日志信息。去ZK节点上捞取日志,通过一系列检索过程,发现了故障场景的共性。
2 收集日志信息 当设备出现故障时,收集设备日志信息,有助于用户了解设备运行过程中发生的情况,定位故障点。 日志信息主要记录用户操作、系统故障、系统安全等信息,包括用户日志和诊断日志。
cache 优化: 改造业务,避免每次请求都查dns,比如 java 设置 networkaddress.cache.ttl ; 部署 NodeLocal DNS 作为本地 DNS 缓存 常见故障定位 controller-manager 异常; CNI 网络错误; 程序启动慢被存活检查 kill; 7、Pod 发生 Crash; 可能原因: cgroup OOM / 系统 OOM ; DNS 故障导致解析失败 kill; 业务本身 bug; 容器进程被木马进程杀死 8、Pod 无法删除; 可能原因: 磁盘爆满; 存在 Finalizers; 资源被其它进程占用; 存在 “i” 文件属性; 运行时 bug; 9、 端口区间 (30000-32768); 外部服务防火墙没有放开容器网段 (如 CDB、自建 DNS); DNS 异常; 高负载; 进程没有监听端口; 12、节点状态异常; 可能原因: 节点高负载; 磁盘故障
主要有三种定位机制:普通流,浮动和绝对定位。我们仍然以队形为例来讲解这三种定位机制。 2. 普通流 最普通的站队方式是怎样的呢,一般是站成几排几列。从前到后,从左到右依次排列。 定位 默认的队形站好了,教官还可以通过喊口号来改变队伍的队形。CSS也提供了position属性,控制队伍的定位。 absolute 绝对定位,元素相对其非static定位的第一个祖先元素(包括父元素)进行定位,若没有该类祖先元素,则会相对body进行定位。 参考: CSS 定位 (Positioning) 脱离文档流分析 css定位流布局 CSS中的三种基本的定位机制(普通流、定位、浮动) CSS定位的三种机制:普通流、绝对定位和浮动 html/ css基础篇——DOM中关于脱离文档流的几种情况分析 CSS position绝对定位absolute relative CSS绝对定位absolute详解
作者:vivo 互联网服务器团队- Liu Xin、Yu Dan本文基于故障定位项目的实践,围绕根因定位算法的原理进行展开介绍。 如果使用故障定位平台,只需从vivo的paas平台上进入故障定位首页,找到故障服务和故障时间,剩下的事情就交给系统完成。 下图是调用链告警示例:调用链是vivo服务级监控的重要手段,上图红框内原因链接是故障定位平台提供的根因定位能力。 2.3 分析效果通过以上两种方式进入故障定位平台后,首先看到的是故障现场,下图表示服务A的平均响应时间突增。 计算异常区域波动方差:根据异常区域波动点与正常区域均值之间的波动计算波动方差和波动比率,如下图: (8)时间线过滤:过滤掉波动方向相反、波动比率小于总波动比率的1/10的时间线,排除正常时间线,如下图:(9)
故障类型 ---- 线上的jvm故障基本可以分为两大类: CPU____占用过高。 内存问题,通常可以理解为gc的问题,因为java的内存用gc进行管理。 故障排查兵器谱 ---- 命令行工具 jps等工具都是对tools.jar类的包装,使用起来方便简单.在下边的故障排查中会用到我们这里提到的工具,大家平时应该熟记于心. top: top命令用于实时显示 1. top命令定位到cpu消耗最高的进程,并记住进程pid 通过 top -Hp pid 找到问题线程,记住线程 tid 2. 内存问题的排查思路和cpu类似,在进行cpu分析的时候也顺带说了下内存: 通过top命令定位内存消耗最高的进程,并记住进程pid jmap -histo:live pid查看当前进程创建的活跃对象的数目和占用内存的大小 ,从而定位代码。
在之前的文章中,我们有讲到如何定位内存泄漏和GDB调试-从入门实践到原理。今天,借助本文,来分享另外一种更为棘手的线上问题解决方案-如何在没有coredump文件的情况下,定位程序崩溃原因。 主要是不符合产品的需求逻辑,可能会影响用户体验 线上故障:这个阶段是最严重的,对公司的收益、用户体验都会造成影响,主要为服务不可用等 在本文的示例中,我们针对的第三个阶段,即线上故障进行定位和分析的一种方式 ,希望借助本文,能够对你的故障定位能力有一定的帮助。 原因基本确定,现在我们开始定位问题。 ll info -rw-r--r-- 1 root root 58369282 Jan 28 10:14 info 为了快速定位错误点,我们抓取跟错误点地址3ab9a75f62相关的命令(为了获取上下文
那么分析问题需要有一定的技术经验积累,并且有些问题涉及到的领域非常广,才能定位到问题。所以,分析问题和踩坑是非常锻炼一个人的成长和提升自我能力。 如果我们有一套好的分析工具,那将是事半功倍,能够帮助大家快速定位问题,节省大家很多时间做更深入的事情。 2. 说明 本篇文章主要介绍各种问题定位的工具以及会结合案例分析问题。 3. 如果大量时间花在CPU上,对CPU的剖析能够迅速解释原因;如果系统时间大量处于off-cpu状态,定位问题就会费时很多。 统计系统调用耗时情况 strace -c -p pid //跟踪指定的系统操作例如epoll_wait strace -T -e epoll_wait -p pid //查看内核日志信息 dmesg 9. 9.6 性能回退-红蓝差分火焰图 你能快速定位CPU性能回退的问题么? 如果你的工作环境非常复杂且变化快速,那么使用现有的工具是来定位这类问题是很具有挑战性的。
系统日志:sudo tail -f /var/log/syslog sudo tail -f /var/log/messages9. 使用网络管理工具使用网络管理工具如 Nagios、Zabbix 等,进行更全面的网络监控和故障排除。
接口出方向有突发流量导致丢包的组网示意图 二 故障现象 设备上产生QOS/4/hwXQoSPacketsDropInterfaceAlarm_active的告警信息,提示Eth-Trunk的两个成员接口均有丢包 三 故障分析 1、任意视图下执行命令display interface interface-type interface-number查看Eth-Trunk接口及两个成员接口的丢包情况和出方向的带宽利用率 packets,2916 bytes 0 unicast,0 broadcast,28 multicast 0 errors,0 drops Output:9 packets,1551 bytes 0 unicast,0 broadcast,9 multicast 0 errors,8126082 drops
仪表具有绝缘故障预警、故障报警、事件记录等多种功能,可用于矿井、 玻璃厂、电炉和试验设备、冶金厂、化工厂、爆炸危险场所、计算机中心以及应急电源等场所的 IT 配电系统 中,实时监测 IT 配电系统对地的绝缘状况 ,当发生绝缘故障时,及时报警,提醒工作人员排查故障。 ,实时监控 IT 系统的运 行状况;2.4 具有故障事件记录功能,能够记录故障发生的时间和故障类型,方便操作人员查询分析系统运行状况, 及时消除故障;2.5 适用于交流、直流以及交直流混合 IT 系统的绝缘监测 系统用绝缘监测装置》■ IEC 61326-2-4 《测量、控制和实验室用的电设备 电磁兼容性要求 第 24 部分:特殊要求 符合 IEC 61557-8 的绝缘监控装置和符合 IEC 61557-9 的绝缘故障定位设备的试验配置、工作条件和性能判据》6.安装与接线6.1 外形尺寸AIM-T300 外形与安装尺寸(单位:mm)上图依次为嵌入式安装的 AIM-T300 绝缘监测装置的正视图与俯视图。