AIOps探索 | 从单一告警管理到统一告警管理

原作者:擎创科技 资深产品专家 布博士

前言

最近发现我们的一些客户,仍在使用十多年前的流程和思想来思考业务和产品的未来。我们认为做产品必须明确该产品未来的业务发展方向,否则研发出的东西只是应对当前可见的需求(即项目需求而非产品需求)。只有精准把握业务未来的方向,才能设计出长期、分阶段、持续可销售且有价值产品。

本文,将从统一事件管理的过去、现在和未来进行分析,探讨统一事件管理的未来发展趋势,主要包括:

  • 单一告警管理

  • 统一告警管理

  • 统一事件(incident)管理 (在后续文章里)

  • 智能事件(incident)分析及处置 (在后续文章里)

  • 总结

单一告警管理

面临问题

在这个阶段,由于所运维系统架构简单,而且数据比较少,运维团队还能够很好地应对系统进行运维,并无任何不适。

主要特征

本阶段的告警管理大约可以追溯到15年前,相关特征可总结如下:

  • 技术上:大多数系统都是单体应用,系统复杂性非常低,在这个阶段不同的监控工具监控不同的专业领域(机房环境、主机、网络等)。

  • 告警种类:比较单一,一般只有有限一种或几种,因此告警的处理也比较简单,很容易让人掌握。

  • 人员组成:由于告警的种类单一,对人员的学习成本就会比较低。各不同应用厂商会提供对系统运维的日常手册,出了问题运维团队不需要太多的技术能力和专业技能,只要能够按照手册进行处理即可,如果不能解决只能升级到厂商即可。

  • 组织流程:由于分散的监控工具,需要一个统一的地方和流程能够配合进行告警的分配和处置,

因此早期阶段会采用工单系统。产生告警后进入手工流程或工单系统(较大型组织),进行告警工单的分派和流转,流程通常都比较短,这时处置会比较高效。

业务功能范围

图片

主要业务功能包括:

  • 监控系统生成异常事件:监控源配置阈值或异常检测算法,生成异常事件(event)。

  • 对告警进行源端压缩:在配置告警策略时,会一并配置针对告警对象在一定时间范围内连续达到多少次异常之后会生成告警。

  • 生成告警:生成告警并存储。

  • 告警通知:会配置相应的通知模板、通知策略并完成对告警的通知。

  • 告警中心:会有一个告警中心,针对当前监控源产生的告警进行统一存放。

  • 同步工单:一些流程化比较规范的组织,会通过一些工单类的系统完成对告警转工单的开立,由工单来驱动告警的处置。

统一告警管理

面临问题

在进行统一告警的建设之前,我们发现如下问题:

  • 告警量大:由于云战略和数字化转型,导致系统的复杂性、应用的数量增加,使得监控对象、监控方法工具等产生的告警量成倍增长。

  • 人员增长:由于告警量的增大,以及不同领域的组件问题突出,造成人员规模的增长。

  • 成本增加:人员的增长直接导致成本的巨大支出。

  • 告警噪音:虽然人员的增长很大,但是依旧不能处理所有的告警,很多告警是无效的,需要对告警进行有效的降噪处理。

  • 工具重复建设:告警的处理流程基本是一致的,但是因为监控工具的分散,导致不同的流程需要在不同的监控工具进行落地,如:告警工作台、告警分析处置、告警数据的丰富、告警的通知等,不同工具的相同功能重复建设。

主要特征

本阶段大约在7年前,相关的特征可总结如下:

  • 技术上:基于SOA和分布式系统架构的复杂系统已经成为常态。系统变得越来越复杂,因此需要越来越多的监控工具,例如应用监控、用户体验监控、基础设置监控、数据库监控、存储设备、中间件、交易链路等,监控工具不断丰富。

  • 告警种类:由于技术复杂性的提高,需要更多的监控工具,进而产生越来越多的告警种类和告警。

  • 人员组成:不同的技术组件以及系统架构的复杂性,要求具有不同领域的专家来专职负责本领域的运维工作,如ORACLE DBA、存储、网络、应用领域的专家等。对应本领域内的专家仅专攻本领域内的问题分析及处置,因此随着系统复杂性的增加,运维团队也需要成倍增加。

  • 组织流程:随着人员规模的增加,管理方面迫切需要一些有效的流程来协调人员、加速决策效率。以下列出两种不同的做法,它们在不同的流程选择上所带来的系统研发成本、人力投入成本、管理成本、流程线路拉长程度是完全不同的:

  • 方法一:我们看到一些南方小城商行采取的做法是,在告警生成后第一时间发出通知,然后完成与工单系统的集成,将告警同步到工单系统中。接下来,工单系统将驱动告警的分派、确认、指派、分析、处置和关闭等操作。运维人员在接收到告警后,还需要登录工单系统进行认领。在分析处置环节,需要登录统一告警查看告警基本信息、登录监控源查看指标曲线以验证告警是否真实,然后再登录自动化平台手动执行一些代码或脚本,容易出错。总结如下缺点:

图片

  • 流程过长:不利于快速处理告警。

  • 集成成本高:需要建立同工单系统的双向信息同步。

  • 调查分析效率低:由于工单系统本身是一套流程性的平台,不适合进行调查和分析。这就导致当人们接收到工单后,无法从一个统一的界面完成告警的调查、分析、处置等操作,导致效率过低。

  • 方法二:我们也观察到很多银行和头部的券商企业并不会墨守成规,会对流程进行适当的调整。为了快速处置告警并恢复生产,他们会进行以下优化:

图片

  • 缩短流程:由于每个告警都已经明确指定了负责处理的运维团队,因此一旦告警产生,相应的运维人员会在第一时间得到通知。运维人员可以立即登录到统一告警平台,并利用该平台的集成能力获取推荐的信息和知识进行分析,以提高排障效率。对于严重的告警,生产恢复后会在工单系统中补充工单以备审计,整个流程非常高效。

  • 调查分析速度快:统一告警定位为运维人员的日常工作平台,完成了与指标、日志、trace等的集成,并提供了一些自动化或智能化的数据分析功能,帮助运维人员快速分析和处置告警,加速生产恢复。

  • 集成信息:为了满足运维人员分析和处理告警的需求,统一告警平台与指标、日志、trace、变更单、知识库等进行了集成。

  • 依赖告警平台提供的信息及集成能力:还有一些南方的小银行表示他们的二线从来不会登录告警平台,只进工单系统。我认为本质原因是他们没有认识到工单系统仅仅是一个流程平台,而对于告警的分析和处理,他们已经习惯了用最笨的方法——登录不同的平台去查信息、手动分析告警。而不思考通过工具系统提高信息收集和分析的效率,以及将分析结果提供给人来做决策,从而提高效率。

业务功能范围

主要业务功能包括:

  • 集成:拥有不同监控源告警的集成、变更、自动化平台、指标、日志等的集成能力。

  • 数据清洗及标准化:企业为了后续告警的分析、处置需求,通常会制定统一的告警数据模型规范。该系统可以针对不同厂商的监控源系统所产生的告警进行统一的数据清洗及标准化操作,然后将数据存入统一告警管理平台。

  • 数据丰富:由于监控源为了保障快速对接入的指标进行监控的需求,一般只会抛出告警对象、发生时间、发生了什么问题、什么指标发生的问题这四个重要信息,但为了满足对告警的通知、分析、处理需求,需要通过一些数据源完成告警数据的丰富。

  • 过滤及维护期:针对被运维人员识别为告警噪音的告警需要进行过滤处理。对于在变更阶段所产生的告警,不需要进行通知,这就需要维护期管理的能力。

  • 压缩降噪:是该系统的核心能力。它可以针对同一告警对象、同一时间段的多个重复告警进行压缩,以降低告警噪音量。

  • 通知:针对压缩之后的告警,按合适的时间、通过合适的渠道、通知给正确的人进行处置。

  • 告警工作台是运维人员的统一告警管理工作平台。它可以查看权限控制范围内的告警列表、详情、压缩的原始告警列表、自动收集近期变更及日志和指标信息并展示相关曲线,以及针对告警的认领、指派、关闭、恢复、静默等操作的能力。

(未完待续,统一事件管理及智能事件分析处置)

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

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

相关文章

【教程】详解相机模型与坐标转换

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 由于复制过来,如果有格式问题,推荐大家直接去我原网站上查看: 相机模型与坐标转换 - 生活大爆炸 目录 经纬度坐标系 转 地球直角坐标系大地直角坐标系 转 经纬度坐标系地理坐标…

感觉我国的程序员前景一片灰暗,是这样吗?

程序员也分为好几等,在现在看来大部分的Android、Java、前端等等开发。已经看不到希望了,很多人都在边缘挣扎;刚看到一位Android开发者,过完年回公司就通知被裁;可见每年都会有很多互联网公司倒闭,或者裁员…

手把手教你:gitee的注册以及代码的提交(上)

个人主页(找往期文章包括但不限于本期文章中不懂的知识点):我要学编程(ಥ_ಥ)-CSDN博客 gitee的介绍 首先,我们得了解什么是gitee? gitee是一个基于Git的代码托管和研发协作平台,上面可以托管个人或者公…

【AI学习】LangChain学习

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

服务器遭受 DDoS 攻击的常见迹象有哪些?

服务器遭受 DDoS 攻击的现象很常见,并且有时不容易预防,有部分原因是它们的形式多种多样,而且黑客手段越来越隐蔽。如果您怀疑自己可能遭受 DDoS 攻击,可以寻找多种迹象。以下是 DDoS 攻击的5个常见迹象: 1.网络流量无…

虚拟机+麒麟海光+达梦数据库linux 安装教程

一 下载 虚拟机下载地址下载 VMware Workstation Pro | CN 达梦数据库下载地址 产品下载 | 达梦数据库 (dameng.com) 银河麒麟下载地址 国产操作系统、银河麒麟、中标麒麟、开放麒麟、星光麒麟——麒麟软件官方网站 (kylinos.cn) 二 安装 虚拟机安装 https://www.cnblogs…

python+selenium 定位到元素,无法点击的解决方法

今天小编就为大家分享一篇pythonselenium 定位到元素,无法点击的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 selenium.common.exceptions.WebDriverException: Message: Element is not clickable at point (234.75, 22)…

【JavaScript 漫游】【017】异步操作概述

文章简介 本文为【JavaScript 漫游】专栏的第 017 篇文章,主要记录了 ES5 规范中异步操作的基本知识点。 单线程模型同步任务和异步任务任务队列和事件循环异步操作的模式 单线程模型 单线程模型指的是,JS 只在一个线程上运行。它同时只能执行一个任…

Mysql如何优化数据查询方案

mysql做读写分离 读写分离是提高mysql并发的首选方案。 Mysql主从复制的原理 mysql的主从复制依赖于binlog,也就是记录mysql上的所有变化并以二进制的形式保存在磁盘上,复制的过程就是将binlog中的数据从主库传输到从库上。 主从复制过程详细分为3个阶段…

每日OJ题_二叉树dfs②_力扣129. 求根节点到叶节点数字之和

目录 力扣129. 求根节点到叶节点数字之和 解析代码 力扣129. 求根节点到叶节点数字之和 129. 求根节点到叶节点数字之和 难度 中等 给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字&am…

基于Windows搭建ftp服务器

WinR搜索’服务器管理器’,配置–用户和组 创建用户和组,将用户添加到组里 按图示创建一个文件,右键属性–安全 将刚才创建的组添加到对象里,并赋予他读取和写入的权限 角色–添加角色 勾选web服务器IIS 搜索IIS–网站右键–添加FTP站点…

【软考中级备考笔记】计算机体系结构

计算机体系结构 2月19日 – 天气:阴转小雪 1. 冯诺依曼计算机体系结构 冯诺依曼将计算机分为了五大部分,分别是: 控制器:主要负责协调指令到执行运算器:负责算数和逻辑运算存储器:负责存储在指令执行过程…

全网最 2024 GitHub Copilot超详细免费激活教学-干货

全网最🔥 2024 GitHub Copilot免费超详细激活教学 尊重原创,编写不易 ,帮忙点赞关注一下~转载小伙伴请注明出处!谢谢 GitHub Copilot 概述 GitHub Copilot 是由 GitHub 和 OpenAI 合作开发的一款人工智能编程助手。它利用机器…

JS基础(语法结构变量数据类型运算符流程控制)

JS基础(语法结构/变量/数据类型/运算符/流程控制) 目录 JS基础(语法结构/变量/数据类型/运算符/流程控制)什么是js?注释语法语法结构引入方式【1】script标签内部直接书写js代码【2】script标签src属性引入外部js代码 JS基础数据类型变量与常量变量的定义常量的定义…

ONLYOFFICE 8.0:引领数字化办公新纪元

目录 前言 软件安装 软件启动 软件新版本特性 个人评价 总结 前言 在当今快节奏的数字化世界中,高效的办公软件已成为企业竞争力的关键因素。ONLYOFFICE,作为全球领先的办公解决方案提供商,始终致力于通过技术创新来优化用户体验。如今…

Java使用Redis实现消息队列

近期刷Java面试题刷到了“如何使用Redis实现消息队列”,解答如下: 一般使用 list 结构作为队列, rpush 生产消息, lpop 消费消息。当 lpop 没有消息的时候,要适当sleep 一会再重试。若不使用sleep,则可以用…

【力扣 - 二叉树的最大深度】

题目描述 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 提示&#xff1a; 树中节点的数量在 [0, 10^4] 区间内。 -100 < Node.val < 100方法一&#xff1a;深度优先搜索 思路与算法 如…

Rust中不可变变量与const有何区别?

Rust作者认为变量默认应该是immutable&#xff0c;即声明后不能被改变的变量。这一点是让跨语言学习者觉得很别扭&#xff0c;不过这一点小的改变带来了诸多好处&#xff0c;本节我们来学习Rust的变量。 什么是变量&#xff1f; 如果你初次学习编程语言&#xff0c;变量会是一…

使用go-llama.cpp 运行 yi-01-6b大模型,使用本地CPU运行,速度挺快的

1&#xff0c;视频地址 2&#xff0c;关于llama.cpp 项目 https://github.com/ggerganov/llama.cpp LaMA.cpp 项目是开发者 Georgi Gerganov 基于 Meta 释出的 LLaMA 模型&#xff08;简易 Python 代码示例&#xff09;手撸的纯 C/C 版本&#xff0c;用于模型推理。所谓推理…

手撕C语言习题

定义一个表示公交线路的结构体&#xff0c;要求有线路名称(例如 616)&#xff0c;起始站&#xff0c;终点站&#xff0c;里程等成员&#xff0c; 定义结构体数组&#xff0c;用来存储多条条公交线路信息&#xff0c;要求能够输出从指定起始站发车的所以公交线路信息。 2、定义…