AIOps探索 | 应急处置中排障的降本增效方法探索(下)

文章来源:公众号ID-布博士(擎创科技资深产品专家)

哈喽~上期内容我们分享了传统调用链系统与CMDB系统的缺陷、服务所有权模型是什么、服务所有权模型分类。这期我们来说一说如何落地服务所有权模型,以及好用的模型推荐,希望对正在阅读的你有所帮助。

新来的朋友看这里,一键回看上期精彩内容

应急处置中排障的降本增效方法探索(上)

话不多说,我们继续往下看

一、如何逐步落地服务所有权模型?

1.构建原则

  • 需从实际应用的视角来构建服务所有权模型,而不需要等待调用链和cmdb全部构建完善再应用。

  • 鼓励运维工程师在变更完成之后自行更新服务所有权模型,边应用边治理。

  • 每个服务所有者构建自己的服务模型。

  • 构建者必须弄清楚服务模型所支持和依赖的服务是什么,而无需知道整个依赖关系的全貌。(如库存API的服务构建者必须知道自己所依赖的“mysql - 库存”和“Redis - 缓存“服务,支持”订单API“服务,但不必知道谁支撑订单API和依赖谁。)

  • 每个服务所有者都构建完成自己的上下游依赖关系之后,则会构建完成整个服务所有权模型。

  • 针对有错或缺失的部分,可以边应用边调整。

  • 无须一次性完美构建,持续优化即可。

2.构建步骤

(1):明确业务服务和技术服务以及他们之间的依赖关系

首先要定义清晰的业务服务和技术服务边界,以及自己所运维的技术服务支持哪些业务服务。

业务服务:直接面向最终客户的服务,如,网上购物商城服务,这是直接面向最终消费者的。

●技术服务:是为支持某项业务服务而搭建的应用系统或微服务(现代的微服务架构),如web服务向用户提供了商品目录浏览、下单等能力,基于tomcat的应用服务为web服务提供了业务处理的能力,而数据库服务为应用服务提供了数据持久会存储的能力。

●依赖关系:是指服务(包括业务服务和技术技术)之间的相互依赖关系,通过依赖关系的构建可以形成完整的服务所有权模型。

通常建议服务所有者先在纸上构建一个草图,明确自己所管理的服务边界以及所依赖和支持的服务有哪些,然后再着手构建服务所有权模型。

(2):确认服务所有权

如上图所示,确保每一个服务都有具体的管理团队为其提供开发、运维,这样当发生事件或应急时可以有将的将告警路由到不同的团队进行处理,并可以促进团队之间的相互协作。

传统的应用系统是以应用为视角来进行管理的,为了更好地了解应用的架构,以及出现故障时,可以有效地构建应用系统的可视化架构拓扑,建议对整个应用系统进行架构上的拆分。建议如下:

①.应用系统所支持的业务,拆分为业务服务,这样当系统或相应的组件发生问题时,可以清晰的感知对潜在业务的影响。

②.构成应用系统的各组件,拆分为技术服务,如一套应用系统包括web集群、应用集群、数据库集群、数据库依赖存储等,可以拆分为web服务、应用服务、数据库服务、存储服务,这样可以有效的构建系统的可视化架构拓扑,而无须依赖cmdb完善之后才能构建。

(3):构建服务拓扑以及依赖关系

针对以上 1、2 步中手绘的服务拓扑关系,可以着手构建服务,如上图所示。一个业务服务创建过程,需要输入业务服务的基本信息,然后再从已有的服务列表中选择支持该业务服务的技术服务或业务服务。

服务配置完成之后,后续也可以对服务进行依赖关系的修改,如下图所示,可以对库存API所依赖的服务和所支撑的服务进行修改。

(4):告警绑定服务

要在服务拓扑上清晰地展示每个服务状态以及是否发生故障,就需要将告警绑定到服务上,实践中可以有两种绑定方式:

1.对告警进行服务规则路由:针对这种方式在告警进入系统时要么通过丰富策略丰富对应的服务信息,要么根据其它辅助字段,如所属业务系统、告警对象类型(db主机、应用服务器等)关键字段,建立基于规则的路由策略。

2.事前构建服务依赖资源表:当服务创建时,运维人员清晰地知道该服务所使用的资源列表,如上图所示的电子商务平台中”redis-缓存“集群,使用了192.168.1.1和192.168.1.2两个主机,这样当告警对象名称为192.168.1.1和192.168.1.2时,会自动路由到该服务上。

在日常运维处理中,方式2在我看来会更合理。只是对系统进行扩缩容时,运维管理团队要主动维护这些变更内容,则后续的告警才会进行有效的服务绑定。

(5):持续优化和改进

服务所有权模型及拓扑依赖关系的构建不是一次性的,是一个长期治理和更正的过程,在使用的过程中会越来越趋近完善。使用的人越多,从服务所有权模型中所得到的回馈也就越多。更重要的是它仅仅通过简单管理的手段即可完美替代调用链、cmdb两套系统的价值。

二、好用的模型存储推荐及计算方案

建议用关系数据库和图数据库两种存储方案:关系数据库做服务节点、节点之间关系的存储。

进行可视化展示、根因分析推荐、相似故障识别算法、服务节点链接关系推荐、影响分析等这些建议采用图数据库来完成,因为其提供了比关系数据库更好的图查找、遍历、计算的方法,主要包括:

1.图搜索算法

包括广度优先搜索(BFS)和深度优先搜索(DFS),用于在图中查找特定的节点或路径。

2.最短路径算法

例如Dijkstra算法和Floyd-Warshall算法,用于找到两个节点之间的最短路径。

3.最小生成树算法

例如Prim算法和Kruskal算法,用于找到连接所有节点的最小生成树。

4.图聚类算法

如K-means算法和谱聚类算法,用于将图中的节点划分为不同的聚类。

5.PageRank算法

用于评估网页的重要性,并根据链接关系进行排名。

6.社区发现算法

例如Louvain算法和标签传播算法,用于识别图中的社区结构。

7.图神经网络

一种基于深度学习的方法,用于处理图数据的节点分类、链接预测等问题。

请注意,这只是一些常见的图计算方法,还有许多其他方法和算法可用于处理不同类型的图数据。

三、总结

本次内容主要跟大家分享了下如何在事件及应急场景下低成本且高效地构建排障拓扑,加速排障过程。通过服务所有权模型,可以清晰地了解业务服务和技术服务之间的依赖关系,促进团队协作,加速排障过程,并实现可视化根因分析。

在一步步落地服务所有权模型的构建过程,包括明确业务服务和技术服务之间的依赖关系、确认服务所有权、构建服务拓扑以及依赖关系、告警绑定服务的过程中,我们对服务模型有了进一步了解,明白持续优化和改进的重要性。

希望本次对构建服务所有权模型知识点的分享,可以让大家更好地管理和理解服务的架构,从而提高团队的协作效率和快速响应能力。

最后再次感谢大家阅读,觉得有用的话可以顺手赞一下,收到鼓励的楼主会很开心的~

擎创科技,Gartner连续推荐的AIOps领域标杆供应商。公司专注于通过提升企业客户对运维数据的洞见能力,为运维降本增效,充分体现科技运维对业务运营的影响力。

行业龙头客户的共同选择

了解更多运维干货与行业前沿动态

可以右上角一键关注

我们是深耕智能运维领域近十年的

连续多年获Gartner推荐的AIOps标杆供应商

下期我们不见不散~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

H5(uniapp)中使用echarts

1,安装echarts npm install echarts 2&#xff0c;具体页面 <template><view class"container notice-list"><view><view class"aa" id"main" style"width: 500px; height: 400px;"></view></v…

将form表单中的省市区的3个el-select下拉框的样式调成统一的间隔距离和长度,vue3项目iot->供应商管理

省市区是用3个el-select组成的 在表单中用el-col&#xff0c;会导致3个下拉的距离不统一&#xff0c;市和区的前面也是不需要文字label的 如何解决:用vue3的:deep()进行样式穿透&#xff0c;由于el-form-item标签都是一样的&#xff0c;为了能准确的找到市的el-form-item&…

C语言众数问题(ZZULIOJ1201:众数问题)

题目描述 给定含有n个元素的多重集合S&#xff0c;每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。 例如&#xff0c;S{1&#xff0c;2&#xff0c;2&#xff0c;2&#xff0c;3&#xff0c;5}。多重集S的众数是2&#xff0c;其重数为3。 编程任务…

部署系列六基于nndeploy的深度学习 图像降噪unet部署

文章目录 1.直接在源代码demo中修改2. 如何修改呢&#xff1f; https://github.com/DeployAI/nndeploy https://nndeploy-zh.readthedocs.io/zh/latest/introduction/index.html 1.直接在源代码demo中修改 如果你想运行yolo5: onnxruntime:115ms ./install/lib/demo_nndeploy_…

【华为数通HCIP | 网络工程师】821-IGP高频题、易错题之OSPF(5)

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️…

Android 提示框代码 java语言

在Android中&#xff0c;你可以使用 AlertDialog 类来创建提示框。以下是一个简单的Java代码示例&#xff0c;演示如何创建和显示一个基本的提示框&#xff1a; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; im…

EXIT外部中断 HAL库+cubeMX

一.cubeMX外部中断配置 1.系统内核 2.中断管理 3.选择抢占优先级和响应优先级&#xff0c;共有5个等级&#xff0c;在这里就使用库函数编写代码时最常用的2位抢占优先级2位响应优先级。 4.勾选使能选项&#xff0c;后面的两个零&#xff0c;第一个代表抢占优先级的等级&#xf…

怎么申请IP地址证书?

IP地址证书&#xff0c;也称为SSL证书&#xff0c;是一种数字证书&#xff0c;用于在网络传输过程中对IP地址进行加密和解密。它是由受信任的证书颁发机构&#xff08;CA&#xff09;颁发的&#xff0c;用于证明网站所有者身份的真实性和合法性。 一、选择证书颁发机构。首先需…

图片上传加时水印

做园区巡检需求时&#xff0c;需要巡检打卡拍照上传功能&#xff0c;并且在照片上添加当前时间的水印 创建canvas拍照后拿着图片画到canvas上同时获取当前时间也画到canvas上&#xff0c;再将canvas生成base64的url拿着合成的图片url进行下面的逻辑上代码 function addWaterm…

HR9110H 单通道低压 H 桥电机驱动芯片

HR9110H为消费类产品、玩具和其它低电压或者电池供电的运动控制类应用提供了一个集成的电机驱动器解决方案。HR9110H是SOP8封装&#xff0c;且是无铅产品&#xff0c;符合环保标准。 HR9110H能够驱动一个直流有刷电机或其他诸如螺线管的器件。输出驱动模块由PMOSNMOS功率管构成…

WPF实战项目十六(客户端):备忘录接口

1、新增IMemoService接口&#xff0c;继承IBaseService接口 public interface IMemoService : IBaseService<MemoDto>{} 2、新增MemoService类&#xff0c;继承BaseService和IMemoService接口 public class MemoService : BaseService<MemoDto>, IMemoService{pub…

G1垃圾收集器

1.G1的目的&#xff1a; Garbage First&#xff0c;也就是垃圾优先原则&#xff0c;也就是空间方面的关注点。同时照顾到停顿时间以及吞吐量。 G1垃圾收集器的设计目的是避免完全回收&#xff0c;但是当并发收集不能足够快地回收内存时&#xff0c;就会发生完全回收GC。G1的完…

工业以太网交换机未来发展中的几个趋势

随着工业自动化不断发展和智能制造的推进&#xff0c;工业以太网交换机在未来的应用中将面临更多的发展机遇和挑战。在工业以太网交换机的未来发展中&#xff0c;有几个方面将成为趋势。 网络虚拟化 随着工业自动化系统规模的不断扩展&#xff0c;网络虚拟化将成为未来的发展方…

基于亚马逊云科技大语言模型等服务打造企业知识库

背景 大语言模型是自然语言处理领域的一项重要技术&#xff0c;能够通过学习大量的文本数据&#xff0c;生成具有语法和意义的自然语言文本。目前大语言模型已经成为了自然语言处理领域的一个热门话题&#xff0c;引起了广泛的关注和研究。 知识库需求在各行各业中普遍存在&a…

阿里云OSS代码集成部分问题分析

公司内部开发了一个文件相关的应用&#xff0c;由于服务器带宽限制导致多个用户同时上传或者下载文件时速度很慢&#xff0c;遂将文件迁移至阿里云OSS服务器。下面是迁移的过程中遇到的部分问题。 问题1. 跨域错误 错误信息如下&#xff1a; Access to XMLHttpRequest at htt…

关于同一接口有多个不同实现的设计方案

关于同一接口有多个不同实现的设计方案 前言 最近公司做了一个银行相关的项目&#xff0c;告诉我公司对接了多个银行的支付&#xff0c;每个银行都有对应的接口要去对接&#xff0c;比如&#xff1a;交易申请&#xff0c;交易取消&#xff0c;支付&#xff0c;回单&#xff0…

工作流引擎架构设计

一个应用MIS的系统的架构离不开工作流引擎&#xff0c;具有流程引擎思维的架构人员设计系统的时候就有流程的思维&#xff0c;他区别于过程思维&#xff0c;过程思维开发出来的系统&#xff0c;用户面对的是菜单、模块。而流程思维设计出来的系统就是发起、待办、在途、查询、近…

电子商务活动中无处不在的电商API接口|淘宝/天猫/京东/1688

我们的日常生活中无处不是API API已经成为我们日常生活中无处不在的技术&#xff0c;我们日常生活中的许多时刻都会涉及到API的应用&#xff1a; 支付API&#xff1a;支付API允许电商平台将其支付系统与第三方支付系统进行集成&#xff0c;从而为客户提供多种支付选项并实现更…

虚拟机系列:vmware和Oracle VM VirtualBox虚拟机的区别,简述哪一个更适合我?以及相互转换

一. VMware和Oracle VM VirtualBox虚拟机的区别主要体现在以下几个方面: 首先两种软件的安装使用教程如下: VMware ESXI 安装使用教程 Oracle VM VirtualBox安装使用教程 商业模式:VMware是一家商业公司,而Oracle VM VirtualBox是开源软件; 功能:VMware拥有更多的功能和…

docker安装nacos,实现和mysql容器的通信

1.下载nacos镜像 docker pull nacos/nacos-server2. 启动nacos 启动命令如下&#xff1a; docker run -d -p 8848:8848 --name nacos \ -e JVM_XMS256m \ -e JVM_XMX256m \ -e MODEstandalone \ -e SPRING_DATASOURCE_PLATFORMmysql \ -e MYSQL_SERVICE_HOST192.168.131.223…