APP下载

综合数据中心智能运维监控平台*

2023-07-25张多才雷向煜赵广杰

科技与创新 2023年11期
关键词:日志数据中心运维

杨 娜,张多才,雷向煜,赵广杰

(西安航天天绘数据技术有限公司,陕西 西安 710003)

中国数字化进程按下加速键,中央明确提出要加快5G 基建、特高压、城际高速铁路和城际轨道交通、大数据中心、人工智能、工业互联网和新能源汽车充电桩等“七大领域”新型基础设施建设进度[1],数据中心也在加快建设的行列,这是近年来国家第一次将数据中心的建设列入加快建设的条目。

近年来,在线服务需求激增,数据成为关键资源,而数据中心信息基础设施承担着数据收集、计算、转化、流通的重要职责。随着“新基建”的加速推进,网络基础设施及网络服务需求大幅增加,数据中心作为底层基础设施将持续增长,数据中心建设及扩容的步伐也会相应加快[2]。大规模数据中心建设势必需要加速发展数据中心运维。

随着大数据、云计算以及分布式架构的不断成熟,使得通过大数据和机器学习的智能运维分析帮助运维人员定位问题变成了可能。智能运维通过机器学习等人工智能算法进行“自主式”学习分析总结,持续为大规模、高复杂性的系统提供运维服务。

1 研究背景

随着数据中心规模的不断扩张、设备数量和种类的增长,综合数据中心运维呈现运维人员不足、运维自动化水平低、基础设备无统一管理、运维平台支撑力不够和配置管理不足等局面,具体的运维现状总结为如下4 点。

第一,人少、事多、责任大。运维团队人员过去运维管理十到十几台设备,发展到目前运维设备数量十倍至百倍地增长,一旦遇上机房搬迁、灾备建设等重大运维工作事项势必消耗大量的人力物力,日常事务运维自动化水平不高,运维人工流程管理易造成运维人员严重不足。

第二,运维对象、数据激增。对于运维对象,即服务器、存储、网络、数据库、中间件、应用、业务系统及基础设施等[3],不仅范围比较广,而且运维的数据多样化。针对系统运维数据进行整理,将其归类成7 类数据,包括日志、指标、告警、热点、预警、问题单、事件单[4],对运维数据进行采集、录入和整合。

第三,运维场景多样化。运维过程是故障发现、故障解决、提高运维质量的过程[5]。由于IT 业务不断地增加,为了保证各业务之间的连续性,不同业务之间产生多样化的运维场景,依靠单一解决方案无法满足业务连续性的需求,导致场景无法持续,无法基于现有IT 业务实现全面的覆盖。

第四,缺少基于海量数据的故障预测。数据中心运维过程中产生的海量数据,不能够通过自主学习的方式来发现并建立海量数据之间的关联关系,需要通过机器学习的方法基于海量数据进行故障预测。

2 建设目标及定位

2.1 建设目标

综合数据中心智能运维监控平台以配置管理为核心,以ITIL/ITSM 流程为基础,搭建运维监控、智能运维、工单管理等多项应用产品,实现集监控、告警、智能运维为一体的运维平台,基于机器学习的智能运维大脑,指挥监控服务监控采集各类运维数据,训练样本,做出分析并指挥决策。最终实现运维工作从依靠人工决策,到依靠机器决策的转变。

2.2 项目定位

综合数据中心智能运维监控平台提供智能运维手段,主要负责监控数据中心软硬件运行状态,包括基础设施、业务系统的数据运行状态、服务内容等数据和服务运维态势,提供集中的运维态势信息展示,管理资源、人员、配置、流程,监视故障并告警,协助快速定位故障原因,为整个系统的平稳运行提供保障。

3 总体设计

综合数据中心智能运维监控平台通过监控服务采集日志、监控信息、流量和应用等运维数据,采用先进机器学习的方法结合已有运维数据作为训练样本来满足运维自动化、智能化的需求。以业务应用为牵引,实现多维度数据采集和性能监控、故障监控以及全生命周期配置管理的流程,充分利用可视化技术呈现全景运维。

3.1 平台架构设计

综合数据中心智能运维监控平台技术架构由下至上分为基础层、数据资源层、数据采集层、数据处理层、服务层和应用层等6 层。基础层主要提供基础运行环境;数据资源层主要是网络、服务器、中间件和数据库等运维对象;数据采集层主要是采集的数据类型及数据技术;数据处理层主要是大数据处理和算法处理;服务层主要提供各类功能服务;应用层主要提供定制态势大屏和智能工作台。

综合数据中心智能运维监控平台详细技术架构如图1 所示。

图1 技术架构

基础层:为综合数据中心智能运维监控平台提供合乎运行的基础环境,包括云系统、操作系统、Docker运行容器等。

资源层:主要是综合数据中心智能运维监控平台运维对象即监控的资源,包括网络设备、云/物理服务器、存储设备、数据库/中间件、应用系统等。

采集层:可以从数据采集技术、数据类型和业务来源3 个纬度进行划分。数据采集技术包括MIB 采集、SNMP 采集、爬虫采集、API 采集和第三方集成等技术。按业务来源可划分为基础设施、云平台资源、大数据平台、数据和服务以及机房配套运维态势信息。按数据类型可划分为事件数据、告警数据、业务数据、日志数据、性能数据和配置数据等。采集层所有数据汇聚成运维大数据。

处理层:主要是对采集的各类运维数据进行集中处理,包括数据库大数据处理、流式处理、检索引擎以及机器学习中日志异常检测和卷积神经网络等算法。

服务层:主要包括监控服务、智能运维、日志服务、配置管理库、运维知识库、运维态势大屏和系统管理。

展示层:主要包括运维态势大屏界面。运维态势大屏提供开放式的大屏展示功能,将各软硬件系统的运行态势集中展现在统一界面上,通过大屏展现形式实时呈现机房3D 全景和拓扑全景等。用户可根据业务需要通过“拖拉拽”方式自定义个性化视图展示,支持多种主题自由切换。

3.2 平台功能设计

综合数据中心智能运维监控平台根据业务划分为7 部分,具体如下。

监控服务:主要采集基础设施、云平台资源、大数据平台、机房配套以及应用系统的运维状态信息,并依据运行状态数据实时告警。

日志服务:能够支持多源日志数据采集、存储、检索及关联融合,日志异常检测,支撑通过检索日志快速定位故障。

配置管理库:主要负责全系统的软硬件资源、动环资源,工单流转、各类指标以及自定义配置等。它是所有应用运行和应用交付的数据资源基础,基于配置管理,可以实现采集资源信息自动化、软件安装自动化、应用部署自动化,告警信息依托设备资源配置信息提升准确性,提供设备与应用关系图信息,辅助故障影响范围的判断。

智能运维:主要实现数据中心机房的远程运维管理,智能监控服务器、安全设备、云设备、存储设备、应用系统和动环系统,对服务器设备进行安装操作系统、补丁升级和自动巡检,并依据异常检测算法进行故障异常检测,并发出故障告警。

运维知识库:收集运维过程中的经验形成知识,为全系统运维工作提供经验与知识积累,为故障处理提供相应经验或知识推荐。

运维态势大屏:从全局拓扑、重要资源状态、系统异常情况等多个维度,以统计图、逻辑关系等视角对监控对象的运维态势进行集中信息展示。

智能工作台:主要实现服务登记、服务查询、待回访工单、故障管理等功能,从而帮助运维人员及时准确地掌握各类事件告警。

4 平台实现

综合数据中心智能运维监控平台主要遵循ITIL 流程架构,结合综合数据中心运维管理特点,建立统一的运维门户报障平台,实现自助式、一站式服务[6]。提供智能运维的手段,集中的运维态势信息展示,管理资源、人员、配置、流程,监视故障并告警,协助快速定位故障原因,为整个系统的平稳运行提供保障。

4.1 监控服务

监控服务主要面向综合数据中心跨平台、跨厂商基础设施,涵盖主流服务器、网络设备、存储设备、中间件、数据库、容器、大数据平台,以及采集综合数据中心应用服务的运行状态信息,提供7×24 h 持续性能监控,对接收的各类监控状态数据进行标准化处理和异常检测分析,并依据运行状态数据实时告警。系统支持多种告警方式,邮件、短信和语音告警。

4.2 日志服务

系统在运行中产生了系统日志、应用日志、网络日志、设备日志等海量日志,针对不同来源、不同模式的日志,传统方式是通过关键字和解析规则解析存在不足,故采用日志智能异常检测方法进行处理。异常检测技术主要包括如下步骤:日志采集、日志解析、特征抽取、异常检测[7]。

日志采集包括文本方式、SNMP 的TRAP 方式、Syslog 方式以及Telnet 远程控制命令方式[8],采集的对象包括服务器、网络设备、存储设备、中间件、数据库、安全设备、应用系统等,其中,应用系统日志通过kafka 方式进行实时收集,实时数据流被策略地过滤与归并,提升日志分析的效率。

日志解析通过自然语言处理技术NLP 从一条日志中提取若干词元来支撑索引的存储和检索,文本日志与一般的自然语言不同,它含有大量的关键词,这些关键词与系统息息相关。例如,IP 地址、文件路径、内存地址、时间信息、故障提示等。

特征抽取主要是通过自然语言处理NLP 技术,分析海量日志中的共性和常见模板,采用FT-tree 方法提取变量和模板,将一系列非结构化日志转换为结构化日志[9]。

异常检测主要基于日志模板和变量提取后,采用KPI 异常检测算法进行日志异常检测。

4.3 配置管理库

配置管理库负责管理全系统硬件设备资源、应用资源、人力资源、动力环境资源配置项,跟踪设备资源变更管理,基于流程引擎实现工单流转,提供运维监控指标管理功能。提供基础数据支撑,支持动态构建自定义关联模型,管理所有设备资源的相关配置数据,如采集指标、告警指标、硬件设备配置信息等。

4.4 智能运维

智能运维实现数据中心机房的远程无人值守智能运维,对计算机、网络设备、服务器、交换机、路由、视频监控设备、安全设备、云设备、业务系统、动环系统等实现远程监控管理。支持SNMP、telnet、SSH、JDBC 等多协议多线程设备信息采集。智能运维汇聚数据中心海量的性能、告警、配置、服务单和知识库等数据,构建智能运维体系的基础数据仓库,然后将海量的监控数据作为训练数据的基础进行机器学习和建模,实现智能化的异常识别、故障预测;结合大数据分析算法对比相关指标、告警及数据集,协助故障快速定位。

智能故障预测依托大数据分析和机器学习能力,结合历史告警数据,结合深度学习模型,分析故障的根源、关联关系以及影响范围[10]。智能化运维的核心是通过机器学习的聚类算法将属于同一类别的事件进行归类;然后通过相关性分析,来分析该事件为异常事件的可能性;通过异常指标和指标贡献度的分析,找到故障中的具体根源指标[11]。得出故障间的相关性,结合实时监控数据进行IT 故障趋势分析和预测,在故障发生之前通过预测做出判断、预警,实现故障的智能预测。

通过积累大量故障处理和巡检运维经验组成智能化运维分析的知识库,把数据变成有价值的信息[12]。减少对人的依赖,实现机器的自判、自断和自决。

4.5 运维知识库

运维知识库主要收集运维过程中的经验与知识,并进行统一存储和分类检索,为系统运维提供经验和知识积累,为技术保障人员提供运维经验与知识共享的平台。

运维知识库主要包括知识录入、知识检索和智能问答功能。

知识录入主要实现了人工界面填写知识标题、知识类型、关键知识、知识内容和附件等信息和将告警故障处理经验一键导入知识库。

知识检索采用ElasticSearch 全文搜索引擎实现感兴趣知识的快速检索,通过大数据分析对用户和检索的内容进行分析处理,并按照相关性、热度以及最新知识来进行排序,为用户找出更加准确的信息,提供更有深度的相关信息。

知识问答实现基于深度学习的方法对传统问答方法进行改进。知识问答使用自然语言问题作为输入,采用深度学习的Multi-Column 卷积神经网络分别对问题和答案进行向量化。

4.6 运维态势大屏

运维态势大屏实现开放式大屏展示,将综合中心内外部业务系统及数据运行态势集中展现,实时呈现机房运维、基础资源、数据及服务等运行态势,从全局拓扑、重要资源状态、异常情况等多维度进行3D 全景、机架图、设备面板的集中展示,可结合实际运维案例制作不同的运维场景模板,通过“拖拉拽”方式自定义个性化视图展示。

通过全景展示能够从宏观层面了解系统运行状态、资源统计、用户使用统计、异常情况和趋势图。

基础设施态势:包括服务器的使用情况、性能和运行状况,云管理平台的监控数据等信息,硬件CPU、内存、存储容量等指标健康度,并可支持用户按需定制态势分析内容,网络、机房环境、硬件设备、中间件、数据库、操作系统等提供基础设施软硬件运行状态、绩效统计展现。

机房运维态势:包括动力环境运行状态,三维机房、机柜、机架、设备的展现,硬件设备告警展现。以3D 全景呈现机房环境,并开放接口与应用系统进行数据对接,将虚拟场景和真实数据相结合,可快速、灵活地实现动环监测、资产管理、记录查询、统计分析、故障告警等功能的直观展示[13]。

数据及服务运行态势:包括引接的各类数据以及发布的服务种类、总量、状态,数据存储的总量,已发布的数据访问接口的统计,日、周数据访问TOPN,并可支持用户按需定制态势分析内容,提供数据及服务状态、绩效统计展现。

4.7 智能工作台

工作台是技术保障人员发起、管理相关运维作业工单的入口。包括服务登记、服务查询、待回访工单、故障管理等功能,通过服务登记集中收集用户的服务申报,查看系统故障,从而帮助运维人员及时准确地掌握各类事件告警,实时跟踪服务请求、事件、问题、发布、变更及人物等工单的执行情况。

服务登记:针对用户发出的服务请求、事件、问题、发布、变更以及人物等工单流程进行登记,后台自动识别申报内容进行归类申报。

服务查询:用户可以对发出的服务请求、故障申报等服务进行查询和跟踪,同时对已经处理完成的工单执行导出。

待回访工单:服务台人员对用户申报的并且已经响应处理完成的工单进行回访,掌握整个运维过程中用户对运维服务的满意度情况,并对运维服务持续改进。

5 关键技术及算法

5.1 FT-Tree 和KPI 算法日志异常检测

由于综合数据中心日志格式千差万别,传统日志处理方法无法满足智能异常检测的需求,引入机器学习的方法并通过调研日志识别算法,结合综合数据中心智能运维监控的实际应用场景,选择FT-Tree 进行日志模板提取和异常检测,并结合KPI 异常检测算法达到日志智能异常检测的目的。

综合数据中心智能运维监控平台日志异常检测流程如图2 所示。

图2 日志异常检测流程图

日志分词主要针对文本进行分词和变量提取;模板提取主要通过分析海量日志中的共性和常见模式,采用FT-Tree 算法提取日志模板;模型修正/统计在具备日志模板之后,将不同的日志转为模板序列,统计其频率、变量分布识别,形成统计信息;结合KPI 异常检测算法进行单指标异常检测发现问题,多指标聚类分析定位问题,通过日志分析检测具体分析问题。

5.2 Multi-Column 卷积神经网络知识问答

在运维过程中遇到的问题,针对知识库无法提供的知识,综合数据中心智能运维平台支持知识问答的功能。知识问答将自然语言问题作为输入,采用深度学习的Multi-Column 卷积神经网络进行问题特征提取,对问题进行向量化处理形成问题的词向量表达,然后对n个单词的问题q进行卷积操作,并对卷积的结果进行池化操作,就得到了f(q1)、f(q2)和f(q3)。然后答案的3 种特征也分别用3 个向量来表示,其中答案路径(Answer Path)的分布式表达为:

答案上下文信息(Answer Context)的分布式表达为:

答案类型(Answer Type)的分布式表达为:

每一个答案特征向量,采用一个卷积神经网络对问题进行特征提取,然后将提出的问题的分布式表达和该答案对应特征向量的分布式表达进行点乘,得出得分函数。q为问题,a为答案,fi(q)为问题经过卷积神经网络输出的分布式表达,gi(q)为答案在对应特征下的分布式表达。

式(1)中:S(q,a)为答案最终得分;f1(q)Tg1(a)为答案路径(Answer Path),f2(q)Tg2(a)为答案上下文信息(Answer Context),f3(q)Tg3(a)为答案类型(Answer Type)。

有了得分函数,就可以对模型参数进行训练,依据训练结果排序返回结果。

5.3 机器学习聚类算法

智能化运维的核心是通过机器学习的聚类算法将属于同一类别的事件进行归类;然后通过相关性分析,来分析该事件为异常事件的可能性;通过异常指标和指标贡献度的分析,找到故障中的具体根源指标;指标预测也是异常检测的一种手段,如发现检测的指标值相离预测值较远且满足判断条件,则认为是异常。智能化运维的通用算法总结如下。

事件异常检测算法有预测模型、近似性模型、隐式马尔可夫模型以及3-sigma 原则。事件趋势预测算法有整合移动平均自回归模型、指数加权移动平均法、时序数据分解以及循环神经网络等算法[14]。事件相关性算法包括动态时间归整算法、Mann-Kendall 最佳配对等算法。事件聚类算法包括具有噪声的基于密度的聚类方法、K均值聚类算法、k中心点聚类算法以及基于随机选择的聚类算法等。服务-事件贡献度算法包括Pearson 关联分析法、Two-sample Test 算法等。故障传播链算法包括有随机森林算法、Apriori 算法、FP-Growth 算法等。

6 结语

综合数据中心智能运维监控平台已经初步在内网实施测试,结合机器学习和人工智能实现了综合数据中心的智能运管,监控系统内外各类软硬件系统运行状态,实时掌握数据实时动态,实现综合数据统筹监管和对综合数据整体运行管理,是综合数据体系管理和统筹运维的承载。

智能运维机会和挑战并存。人工智能在运维领域发展迅速,从基于规则的自动化运维转向基于机器学习的智能运维已是大势所趋,相关人员不断思考、不断学习,结合智能运维场景不断挖掘出新的运维模型和机器学习算法,让运维更加智能化。

猜你喜欢

日志数据中心运维
酒泉云计算大数据中心
一名老党员的工作日志
扶贫日志
运维技术研发决策中ITSS运维成熟度模型应用初探
风电运维困局
民航绿色云数据中心PUE控制
杂乱无章的光伏运维 百亿市场如何成长
游学日志
基于ITIL的运维管理创新实践浅析
基于云计算的交通运输数据中心实现与应用