云卷云舒:大型电信运营商应用软件健康度评估方法

        大型电信运营商内均会自建云资源池,并基于云资源池构建自己上层应用软件资源,但是各类上层应用软件的故障频发也给运维工作带来了较大的压力,电信运营商急需一种较完善的方法实现对于应用软件的健康度评测,以进一步指导运维完成应急预案的制定。

        这也是智能运维的最基础的一部分。

一、现有技术

目前,针对于应用软件的健康度的评测的方法一般包括如下几种:

(1)最简单的方案下,通过各类应用软件发生的故障数据来进行评估的,具体通过应用软件故障的数量进行评估的,应用软件故障数量越多评分越低,应用软件健康度则越高;

(2)在(1)的基础之上,将应用软件故障进行了细分,提出了应用软件故障级别的概念,级别越高扣分越多,通过加权实现总体得分,得分越低,应用软件健康度则越高。

(3)在应用软件评分周期上,采取利用过去一定时间(如一个月)的应用软件故障数据进行评分,每间隔相对更短的一定时间(如一天)进行评分滚动更新。

二、当前技术问题分析

        现有技术(1)中,简单通过应用软件故障的数量进行应用软件健康度的评估,输入影响参数单一,必然存在着准确性低的问题;

         相比技术(1),不同的是技术(2)对于应用软件故障做了级别的细分,介入通过加权的方法实现得分的评估,其实仍然停留在应用软件故障的个数这一单一因素上,且故障判别均通过固定阈值方式开展,对于实际指标值大于极端阈值(如内存使用率大于90%)时判别为故障,判别准确性得不到保证;另外,该方案没有考虑到应用软件故障集中度的因素,因为故障分布分散,侧面代表应用软件异常的快速恢复,这也是应用软件性能的一个重要参考因素;另外应用软件故障在生产过程中是很少发生的,一般每月的应用软件故障数也不会超过5个,即样本数量过少,导致评分根本无法保证,很大概率下每月的应用软件评分都是100分满分,应用软件的故障预期效果得不到保证。

        技术(3)内的评分周期一般均较长,其实这使得应用软件的短期故障被淹没,如两个应用软件一个月内均发生30起故障,但是应用软件的故障集中和较分散属性,并没有体现出来,我们认为应用软件的短期故障,即集中式的应用软件故障相对于分散的故障来说是更严重的,理应评分越低。

三、本文提出的方案

         本文方案架构如下图:

 

根据上图所示,系统架构和工作流程图描述如下:

1、系统架构

分为三个模块:

  • 故障数据收集模块;
  • 小时级健康度评分模块;
  • 迭代评分模块。

2、系统工作流程

  • 故障数据收集模块:每小时针对小时内每一分钟是否为异常点进行判别,通过异常检测算法ARIMA算法进行;得出小时内60个分钟的异常数据数组;
  • 小时级健康度评分模块:针对一个小时内的所有异常,从异常个数特性识别模块和异常集中性识别特性两个方面评分,得出该小时的健康度,健康度级别可分为健康/轻微/一般/中等/严重五个级别:

总分数=异常个数特性得分(50分)+异常集中特性得分(50分)

评分标准如下:

  1. 如果发生异常20处及以上,或10处及以上的连续异常分钟,健康度级别判定为严重;扣30分
  2. 如果发生异常10处及以上不足20处,或5处以上10处以下的连续异常分钟,健康度级别判定为中等;扣20分
  3. 如果发生异常5处及以上不足10处,或大于0且小于5处以下的连续异常分钟,健康度级别判定为一般;扣10分
  4. 如果发生异常0处以上且5处以下,且无连续异常分钟,健康度级别判定为轻微;扣5分
  5. 如果无异常,健康度级别判定为健康。不扣分

示例:如果一个小时内的60个分钟的异常分布如下:

分种

异常与否

分种

异常与否

分种

异常与否

分种

异常与否

0

异常

15

30

45

1

16

31

46

2

异常

17

异常

32

异常

47

3

18

33

48

4

异常

19

异常

34

49

5

异常

20

35

50

6

异常

21

36

51

7

异常

22

37

52

8

异常

23

异常

38

53

9

异常

24

异常

39

异常

54

10

异常

25

40

异常

55

11

异常

26

异常

41

56

12

异常

27

42

57

13

28

43

58

14

29

44

59

上图内异常个数为19,健康度级别判定为中等,扣分20分,异常个数特性得分30分;

上图内连续异常个数为10,健康度级别判定为严重,扣分30分, 异常集中特性得分20分;

小时级评分=30+20=50分。

        通过上述例子可以看出,小时内异常总数为19个,评级为中等;但是异常比较集中,连续异常达到了10处,代表着应用软件的异常恢复能力较差,所以评级为严重;体现出了该算法充分考虑到了更多的因素,评分会相比传统更加准确和全面。

3、迭代评分模块

        针对过去一个月(固定为30天)内每一个小时级(共30x24=720个小时)的评分做出加权计算,具体计算逻辑如下:

        30天的数据距离当前时间越近越具备较大的参考价值,应该给予较大的权重,本文内每间隔6天变更一次权重,权重分配参考二进制递进的原则,即1/2,1/4,1/8,1/16,1/32.由于每月共30天,具体权重做了微调,保证权重总和为1,具体的权重分配如下:

  • 第1个6天权重为w1=15/30;
  • 第2个6天权重为w2=8/30;
  • 第3个6天权重为w3=4/30;
  • 第4个6天权重为w4=2/30;
  • 第5个6天权重为w5=1/30;

 最后得出应用软件健康度评估的总分数:

        其中score of 144hours代表着第n个6天共144个小时的评分数组,具体规则:

        分别计算出每个6天(共144=24*6小时)的小时级别平均值,然后将一个月30天内,共5个平均值做加权,代表该月内小时级别的异常评分。

三、总结      

        该架构体系,对于电信运营商应用软件的健康度评估,综合了传统健康度评估的思想,通过引入人工智能技术实现故障前异常数据的识别,扩充了评测的样本,避免了传统评分体系中故障样本不足的弊端,同时经过滚动迭代计算评分,并根据距离当前时间远近设置不同的权重来进行综合评分,整体上考虑到了更多的因素,包括空间和时间的双重因素,准确度更高,更具有说服力。

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

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

相关文章

14、应用层优化

常见问题 什么东西在消耗系统中每台主机的CPU、磁盘、网络,以及内存资源应用真的需要所有获取到的数据吗应用在处理本应由数据库处理的事情吗应用执行了太多的查询吗应用执行的查询太少吗应用创建了没必要的Mysql连接吗应用对一个Mysql实例创建连接的次数太多了吗应…

unity C# 中一看就会的try-catch-finally、throw

文章目录 1、C# 异常处理原理:2、C# 异常处理实用案例(简化版示例):3、throw关键字 C# 异常处理是一种用于捕获和处理程序运行时错误的机制,它允许程序在遇到不可预见或非正常条件时进行优雅地恢复或失败。C# 中的异常…

MySQL模糊查询详解

MySQL模糊查询详解 一、什么是模糊查询二、MySQL中的模糊查询2.1 使用LIKE关键字2.2 使用正则表达式(REGEXP)2.3 使用BETWEEN AND2.4 使用IN操作符2.5 使用IS NULL操作符 💖The Begin💖点点关注,收藏不迷路&#x1f49…

Rust 圣经 阅读 字符、布尔、单元类型

字符类型(char) Rust 的字符不仅仅是 ASCII ,还包含所有的 Unicode 值,包括单个的中文、日文、表情符号等等。 Unicode 值的范围从 U0000 ~ UD7FF 和 UE000 ~ U10FFFF。 因为每个 Unicode 都是 4 个字节编码,所以字符…

【小白专用】c#之FileStream对象读写大文件

提及文件流,不得不先说以下几个类 FileStream,MemoryStream,NetWorkStream,StreamReader,StreamWriter,TextReader,TextWriter 在用这些类之前,我们先来了解一下这些类的用途以及区别…

知虾皮Shopee:东南亚最受欢迎的电子商务平台

在如今数字化时代,电子商务平台成为人们购物的首选方式。Shopee作为东南亚地区最受欢迎的电子商务平台,通过其多样化的商品、便捷的购物体验和创新的商业模式,迅速在该地区占据了重要地位。本文将详细介绍Shopee的特点和优势,以及…

设计模式 七大原则

1.单一职责原则 单一职责原则(SRP:Single responsibility principle)又称单一功能原则 核心:解耦和增强内聚性(高内聚,低耦合)。 描述: 类被修改的几率很大,因此应该专注…

CNN——VGG

1.VGG简介 论文下载地址:https://arxiv.org/pdf/1409.1556.pdf VGGNet 是由牛津大学视觉几何小组(Visual Geometry Group, VGG)提出的一种深层卷积网络结构,他们以 7.32% 的错误率赢得了 2014 年 ILSVRC 分类任务的亚军&#xff…

Prometheus 监控docker

查看docker运行状态 docker stats 启动docker cadvisor 直接运行docker docker run -d \--volume/:/rootfs:ro \--volume/var/run:/var/run:rw \--volume/sys:/sys:ro \--volume/var/lib/docker/:/var/lib/docker:ro \--publish8080:8080 \--namecadvisor \gcr.io/cadvisor…

2024年MySQL学习指南(二),探索MySQL数据库,掌握未来数据管理趋势

文章目录 前言4. DDL- 操作数据库4.1 查询4.2 创建数据库4.3 删除数据库4.4 使用数据库 5. DDL- 操作数据表5.1 数据类型5.2 查询表5.3 创建表5.4 删除表5.5 修改表 6. 实战案例详解 前言 接上一篇文章【2024年MySQL学习指南(一)】 4. DDL- 操作数据库 …

2023-2024 年广东省职业院校技能大赛高职组 “软件测试”赛项竞赛规程

2023-2024 年广东省职业院校技能大赛(高职组) “软件测试”赛项竞赛规程 一、赛项信息 赛项名称:软件测试 赛项编号:GZ034 赛项组别:高职组 二、竞赛目标 软件是新一代信息技术的灵魂,是数字经济发展的基础…

AWS ECS、EC2、EKS 和 Fargate 之间的关系

ECS (Elastic Container Service), EC2 (Elastic Compute Cloud), EKS (Elastic Kubernetes Service), 和 Fargate 是亚马逊 AWS 云平台上的服务,用于容器化应用程序的部署和管理。这些服务之间有一些关联,但它们在实现容器化工作负载的方式上有所不同。…

【docker】linux部署docker

简介 首先我需要声明的是,我的系统是centos7,下载工具使用的是yum;在linux上部署docker,之前一直看的是这篇文章Linux之Docker部署,基本上功能方面也都可以使用,部署起来也是比较的简单。首先我先讲述这篇…

LeetCode 每日一题 Day 32 ||递归单调栈

2487. 从链表中移除节点 给你一个链表的头节点 head 。 移除每个右侧有一个更大数值的节点。 返回修改后链表的头节点 head 。 示例 1: 输入:head [5,2,13,3,8] 输出:[13,8] 解释:需要移除的节点是 5 ,2 和 3 。…

大数据 - Doris系列《二》- Doris安装(亲测成功版)

目录 🐶2.1 安装前准备 🥙1.设置系统最大文件打开句柄数 >启动一个程序的时候,打开文件的数量就是句柄数 🥙3.时钟同步 🥙4.关闭交换分区(swap) 🐶2.2 安装FE &#x1f436…

Prometheus监控redis

Redis 服务 启用 cat >docker-compose.yml<<EOF version: 3 services:redis:image: redis:5container_name: rediscommand: redis-server --requirepass 123456 --maxmemory 512mbrestart: alwaysvolumes:- /data/redis/data:/dataports:- 6379:6379 Redis_exporter…

python基础教程四(字符串相关常用方法)

字符串的方法特别多&#xff0c;这里只介绍一些最用用的。 1:count count方法和列表的count方法类似就是求某个值在字符串中出现了几次 例如: >>a"dsadsdsad" >>a.count() 22:center 方法center通过在俩边添加字符&#xff08;默认是空格&#xff09;让…

论文悦读(7)——NVM文件系统之Trio(SOSP‘23)文件系统

TRIO&#xff08;SOSP23&#xff09; 1. 背景&#xff08;Background&#xff09;1.1 NVM Technologis1.2 File System Customization1.3 Userspace NVM File Systems 2. 观察与动机&#xff08;Observation & Motivation&#xff09;3. 设计与实现&#xff08;Design &…

Linux: syscfg: network:inet_peer_threshold

inet_peer_threshold&#xff0c;默认值就是64K https://www.kernel.org/doc/html/latest/networking/ip-sysctl.html 这个一般人应该用的非常少&#xff0c;因为个人电脑&#xff0c;很难说会达到这么多的peer量。 如果抛开&#xff0c;“INET peer storage”这个标题&#x…

JMeter 插件大全:详细介绍 Jmeter 常用插件

JMeter作为一个开源的接口性能测试工具&#xff0c;其本身的小巧和灵活性给了测试人员很大的帮助&#xff0c;但其本身作为一个开源工具&#xff0c;相比于一些商业工具&#xff08;比如 LoadRunner&#xff09;&#xff0c;在功能的全面性上就稍显不足。这篇博客&#xff0c;就…