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

news2024/10/6 22:35:24

文章来源:公众号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.coloradmin.cn/o/1247203.html

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

相关文章

Netty 模型理解

参考文章 1 参考文章 2 官网API文档 Reactor模型 Netty模型 Netty主要基于主从Reactor多线程模型进行了一定的修改,该模型包括以下几个组件: MainReactor(主Reactor):负责处理客户端的连接请求。它监听服务器上的端口…

【洛谷 P1636】Einstein学画画 题解(图论+欧拉通路)

Einstein学画画 题目描述 Einstein 学起了画画。 此人比较懒~~,他希望用最少的笔画画出一张画…… 给定一个无向图,包含 n n n 个顶点(编号 1 ∼ n 1 \sim n 1∼n), m m m 条边,求最少用多少笔可以画…

京东采销面对面,洞悉行业新趋势 京东3C数码生态大会在武汉圆满举行

为促进湖北省3C数码产业发展,本地企业降本增效、促进行业交流、充分发挥京东集团全链路生态服务能力,支持地方3C特色产业提质增量。2023年11月23日,由京东零售、京东物流主办,湖北省电子商务行业协会联合协办的“聚力共赢、携手共…

《C++ Primer》第10章 算法(一)

参考资料: 《C Primer》第5版《C Primer 习题集》第5版 10.1 概述(P336) 大多数算法定义在头文件 algorithm 中,头文件 numeric 中也定义了一组数值泛型算法。 一般情况下,算法不直接操作容器,而是通过…

SOLIDWORKS 2024新功能之CAM篇

SOLIDWORKS 2024 新功能 CAM篇目录概述 • 附加探测周期参数 • 反转切割的固定循环螺纹加工 • 包含装配体的零件的正确进给/速度数据 • Heidenhain 探测类型 • 2.5 轴特征向导中岛屿的终止条件 • 链接轮廓铣削操作的切入引导和切出引导参数 • 螺纹铣削操作的最小孔…

SpringCloud 微服务全栈体系(十七)

第十一章 分布式搜索引擎 elasticsearch 七、搜索结果处理 搜索的结果可以按照用户指定的方式去处理或展示。 1. 排序 elasticsearch 默认是根据相关度算分(_score)来排序,但是也支持自定义方式对搜索结果排序。可以排序字段类型有&#…

标题导航点击导航滑动到指定位置滑动到指定位置选中对应导航vue3

菜单导航栏点击导航滑动到指定位置&滑动到指定位置选中对应导航 效果 实现 话不多说直接上代码,有用素质三连(点赞、评论、加关注) import { defineComponent, onBeforeUnmount, onMounted, reactive, ref } from "vue"; import { map } from &quo…

家用小型洗衣机哪款性价比高?口碑最好迷你洗衣机排行榜

由于我们的内衣、内裤和袜子等等贴身小件衣物的清洁频率比一般的衣物要高。而且,如果我们人工手洗的话,不仅会大大浪费了我们的时间,而且还不能进行对这些贴身的以为进行深层消毒和除菌。这种情况下,就得需要一台专门用于清洗内衣…

怎么去掉视频水印?分享三种视频去水印技巧,轻松搞定!

怎么去掉视频水印?在分享视频时,我们常常会遇到因为水印而影响观感的问题,因此,掌握有效的去水印方法显得尤为重要,随着技术的进步,现在有多种方法可以帮助我们去除视频中的水印。 接下来分享三种简单且有效…

【算法挨揍日记】day33——1027. 最长等差数列、446. 等差数列划分 II - 子序列

1027. 最长等差数列 1027. 最长等差数列 题目描述&#xff1a; 给你一个整数数组 nums&#xff0c;返回 nums 中最长等差子序列的长度。 回想一下&#xff0c;nums 的子序列是一个列表 nums[i1], nums[i2], ..., nums[ik] &#xff0c;且 0 < i1 < i2 < ... < …

两个链表的第一个公共节点(相交链表),剑指offer,力扣

目录 题目地址&#xff1a; 题目&#xff1a; 我们直接看题解吧&#xff1a; 解题方法&#xff1a; 审题目事例提示&#xff1a; 解题思路&#xff08;双指针&#xff09;&#xff1a; 具体思路流程&#xff1a; 代码实现&#xff1a; 算法思路补充证明&#xff1a; 力扣题目地…

Doris中的物化视图-查询(十九)

物化视图创建完成后&#xff0c;用户的查询会根据规则自动匹配到最优的物化视图。 比如我们有一张销售记录明细表&#xff0c;并且在这个明细表上创建了三张物化视图。一个存储了不同时间不同销售员的售卖量&#xff0c;一个存储了不同时间不同门店的销售量&#xff0c;以及每…

图数据库HugeGraph:HugeGraph-Hubble基于Web的可视化图管理初体验

原创/朱季谦 一、HugeGraph-Hubble简介 关于HugeGraph&#xff0c;官方资料是这样介绍的&#xff0c;它是一款易用、高效、通用的开源图数据库系统&#xff08;Graph Database&#xff09;&#xff0c; 实现了 Apache TinkerPop3 框架及完全兼容 Gremlin 查询语言&#xff0c…

2023.11.23 云服务器实现 Spring Boot 项目文件上传并访问

环境介绍 云服务器&#xff1a;京东云云服务器系统&#xff1a; CentOS 7.9JDK 版本&#xff1a;1.8Spring Boot 版本&#xff1a;2.7.17 具体步骤 步骤一 首先我们得先创建一个 Spring Boot 项目 创建如下目录结构 关于如何创建一个 Spring Boot 项目 请点击下方链接详细了解 …

vs2015如何远程启动程序来进行调试

vs远程调试的方式有两种&#xff0c;远程启动方式和附加进程方式。   一般来说&#xff0c;咱们使用vs调试代码时&#xff0c;直接附加进程即可&#xff0c;但某些时候附加进程方式无法命中断点。比如我们想调试的C代码&#xff0c;但是调试的入口程序是C#程序&#xff0c;如…

JavaScript实现动态背景颜色

JavaScript实现动态背景颜色 前言实现过程HTML实现过程CSS实现过程JS实现过程全部源码 前言 本文主要讲解JavaScript如何实现动态背景颜色&#xff0c;可以根据颜色选择器选择的颜色而实时更新到背景中&#xff0c;如下图所示。 当我们在颜色选择器中改变颜色时&#xff0c;会…

2023年10月纸巾市场分析(京东天猫淘宝平台纸巾品类数据采集)

双十一大促期间&#xff0c;刚需品的纸巾是必囤商品之一。今年双十一&#xff0c;京东数据显示&#xff0c;10月23日至29日&#xff0c;清洁纸品成交额同比增长40%&#xff0c;由此也拉动了10月纸巾市场的销售。 鲸参谋数据显示&#xff0c;今年10月&#xff0c;京东平台纸巾市…

Django JSONField/HStoreField SQL注入漏洞(CVE-2019-14234)

漏洞描述 Django 于2019年8月1日 日发布了安全更新&#xff0c;修复了 JSONField 和 HStoreField 两个模型字段的 SQL 注入漏洞。 参考链接&#xff1a; Django security releases issued: 2.2.4, 2.1.11 and 1.11.23 | Weblog | DjangoDjango JSONField SQL注入漏洞&#x…

java设计模式学习之【工厂模式】

文章目录 引言工厂方法模式简介定义与用途&#xff1a;实现方式&#xff1a; 使用场景优势与劣势工厂模式在spring中的应用电费计算示例&#xff08;简单工厂模式&#xff09;改善为方法工厂模式代码地址 引言 在软件开发的世界中&#xff0c;对象的创建可能是一个复杂且重复的…

NX二次开发UF_CSYS_edit_matrix_of_object 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CSYS_edit_matrix_of_object Defined in: uf_csys.h int UF_CSYS_edit_matrix_of_object(tag_t object_id, tag_t matrix_id ) overview 概述 Updates the specified coordinat…