草庐IT

浅谈运维场景下多方信息协作管理系统的设计与建设

梁华 2023-03-28 原文
随着银行业务场景数字化程度的提升,新技术、新产品、新框架被持续引入,IT系统运维场景日益复杂。随着云、容器相关虚拟化技术的蓬勃发展,在提供高可用部署方式同时,信息系统运行的集中性风险随之扩大。随之而来的问题就是,在紧急故障处置、集中投产、系统切换、重要业务保障等场景下,多技术领域、多地点、多团队的相关方进行联动处理,信息的传递转换为网状分布式交互,多环节的信息如何收集、展示,各岗位角色的信息需求如何满足,面对海量数据,保证关键信息迅速、准确交互,成为了银行业IT运维信息协作关注的重点。

一、当下运维场景中的痛点

1.信息收集和过滤效率低

在多方参与的运维场景下,对信息的清洗、解释、分析、汇总会消耗大量资源,一些看似不重要但关键的信息在紧急场景下很容易被忽略掉。并且重要的指令下达后,对应的执行人员出于种种原因可能无法做到快速响应。

2.协处置与反馈的矛盾

对于参与处置人员,在埋头排查问题的同时,还要响应调度和管理层多次的信息反馈要求,经常面对的情况是同一个问题要解释汇报多次,或者需要其他领域技术人员提供诸如IP地址、流水号、进程号等信息,无法快速得到回应,打乱处置节奏和思路,拖慢处置速度。

3.协作秩序难以保证

在紧急情况下,人员召集效率低,热点人员电话始终占线,管理层或其他领域人员的指令或需求难以有效传达到对应人员。在处置过程中,各岗位间的配合以及关键决策点靠人来调度,难免会出现由于个别人员紧张度不足或恢复优先级不明确等问题拖慢整体处置进度的情况。

4.人员能力差异

对于运维操作中已经成型的工具预案和操作流程,不同人员的执行效果存在差异,紧急情况下,可能会拖慢故障的恢复速度,甚至出现误操作,扩大故障影响。

二、建设目标

随着近年来G行自建的视频、语音、生物识别、影响分析、历史经验辅助、运营日志中心等类型的平台纷纷建成,结合在运维标准化、自动化和智能化方面深耕多年的丰富经验,为解决以上痛点提供了可行的技术方案以及相对完善的理论体系。

信息协作管理系统建设,旨在提升在紧急故障处置、集中投产、系统切换、重要业务保障等各类运维场景下多人、多地协同处置的信息交互效率,提升处置人员操作的准确度和时效性,为决策层提供直观、快速的信息获取渠道和便捷、有效的指令发布途径。包括以下几个方面:

1.  重要信息的定义能力

将各岗位人员对重要信息的识别经验数字化,对各场景下重要信息的特征进行定义,在协作发生时直观迅速地展示给所需的角色,使参与者将更多精力投入到协作主体上。

2.  跨平台数据集成能力

作为重要信息识别经验数字化的载体,协作系统打通与各运维场景涉及的平台类系统数据接口,对多平台的各类重要数据实现自动整合,使离散的数据按照时间进程汇总呈现给参与者,有效展示关键信息之间的时序及关联关系。

3.  协作处置的标准化能力

基于事件、变更、灾备等领域运维人员积累的处置经验,在决策信息收集、工具预案执行等方面,为不同场景、不同领域人员在特定时点需完成的标准动作进行提示或提供参考,从而提升协做处置过程的质量和效率。通过人脸、声纹等生物识别技术,语音转文字等手段,结合场景特点定制界面操作,替代原有的文字输入、身份验证等繁琐操作。

4.  全过程数字化记录和展示能力

在跨平台数据集成的基础上,对整个协作周期进行完整的记录和展示,并持续提升数字化覆盖度,为处置决策和事后优化提供数据支撑。

5.  运维协作场景全覆盖

全面覆盖故障处置、切换、变更、演练等各类运维场景,通过移动端功能的持续完善,降低非现场人员远程协作时的距离感。

6.抗干扰、健壮性保障

保证系统本身从基础设施到应用功能上的独立性,支持脱离关联系统或平台独立运行,最大限度地保证协作相关功能的可用性。充分考虑网络信号不佳情况下的协作场景,提供后备手段。

三、重点功能实现

针对以上的建设目标,提供以下功能进行支撑:

图1 业务流程

图2 技术架构

1.  数据整合

(1)本系统作为运维部门各配置及日志类平台的数据消费终端之一,具备处理各个外部关联数据系统的信息导入和维护的类ETL功能,包括联机交易接口、批量文件等形式,覆盖人员、系统、岗位关系,业务交易、监控、云桌面、堡垒机、远程安全接入、运维自动化等各类数据,实现多维数据信息在同一维度内根据协作场景需要关联整合,提升消息传递效率以及关键信息捕获的准确度。

(2)通过低代码形式配置外部数据。建立支持多类型数据的统一导入模块,基于配置表对整理后的数据内容进行展示和使用,用户可以通过前台页面完成特定场景下所需数据的特征和关系配置,持续提升外部数据的使用价值,降低数据导入与消费等需求导致的变更数量。

2.  处置辅助

(1)对接科技运营日志平台,通过数据接口对涉及服务器的日志完成数据初步筛选并传输,系统根据处置场景配置对诸如关键交易成功率、响应时间、网络状况、服务器资源等运行指标进行展示。

(2)获取运维数据中处置对象近期发生的变更、切换、问题等情况,进行关联信息视图调阅,与历史同类事件处置情况参考比对,为参与处置人员提供数据参考。

3.  协作任务模板

(1)以时间顺序将标准的影响判断、故障定位、基本处置、进度汇报等应急操作按照不同岗位以及时效要求组合成任务模板,会议召开时系统根据故障现象或业务影响等不同因素对模板吻合度进行加权排序,选定模板后任务自动分配到各岗位人员。

(2)任务与模板解耦。支持在协作过程中叠加或撤销模板,模板发生替换时,已完成过的操作在时效性内自动替换到新模板,避免重复操作。

4.  会议中心

(1)实现处置人员快速召集,支持按照系统、告警信息、人员组来确认人员范围发起协作会议,可选择电子语音、短信、移动APP消息等多种通知方式,一键完成入会通知,移动端可通过点击会议通知消息完成一键入会。

(2)人员组:以故障处置场景为例,考虑到每次处置会议启动时都需要拉入一些固定人员,采用享元设计模式思想,将人员按照班次、岗位、职级等设计成多个用户组,支持会议启动或进行中组合邀请,简化通知通报流程。

(3)对参会人员的范围、在线状态、参与处置的方式(现场、远程)等信息按照岗位分组展示。可以重复呼叫未入会人员。

(4)通过虚拟仿真终端实现对监控视图、终端屏幕等参考信息投放共享的远程控制。

5.  协作中心

(1)除视频会议外,同时创建基于websocket+socketjs的信息协作群,实现与会人员的信息共享以及任务模板下发,输入方式上支持语音输入提升输入效率。

(2)协作群中的信息可以作为任务派发或转化为汇报信息。

6.  虚拟仿真终端

部署在客户端的服务程序,接收服务端发送的指令信息,并根据指令信息执行相应的模拟操作。分为有人值守机器人和无人值守机器人。

(1)有人值守机器人部署在现场处置人员使用的ECC终端上。可以在没有用户感知的情况下监控用户的操作,在H264编码模式下通过ffmpeg开源库记录活动时的屏幕影像,支持视频采集、视频加水印等功能,实时上传录屏文件到服务端,通过视频会议软件提供的SDK自动打开视频客户端,加入指定会议,以及共享处置人员终端桌面等。

(2)无人值守机器人被部署到无需用户操作的设备上。使用模拟用户操作模式,通过windows提供的UIAutomatio自动控制界面,可以操作桌面窗口,模拟鼠标和键盘,支持远程打开多个web界面,进行分屏处理,共享到视频会议中。使用windows提供的第三方登录界面开发的COM组件可以监控系统启动、帐户解锁和帐户锁定,实现对多地应急终端的远程控制。

7.  信息公告板

以时间轴的形式全程记录并显示任务完成情况、现场和远程处置人员终端输入的操作指令和屏幕录像,为决策层实时提供所需参考信息,为事后复盘提供数据支持。公告板内容支持跨协作会议发送,便于多个会议协同时的信息共享。

图3 信息公告板

8.通讯能力保障

自动判断参会人网络状况,支持自动或主动切换以视频或电话方式参与协作处置。

四、发展和展望

目前,信息协作管理系统以提供安全、标准化、可视化、数字化的多方协作平台为目标,提升在各类运维场景下通知通报、信息共享、影响分析、决策支持等各个环节的协同作业水平,通过对整个协作过程的完整数字化记录,为后续流程优化以及自动化和智能化工具的建设提供数据基础。未来,一方面持续提升信息协作管理系统平台能力,将技术创新转化为标准化进程,提供开放性服务,支撑全行运维场景。另一方面强化顶层设计,依托AI技术,以数字化信息互通为抓手,构建与周边平台的共生能力,增强纵横融合深度,实现能力互补与拓展,促进多元化智能运维场景的衍生和创新,持续推进移动化、开放化、生态化服务能力建设。

有关浅谈运维场景下多方信息协作管理系统的设计与建设的更多相关文章

  1. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  2. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  3. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  4. ruby-on-rails - 获取 inf-ruby 以使用 ruby​​ 版本管理器 (rvm) - 2

    我安装了ruby​​版本管理器,并将RVM安装的ruby​​实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby​​。有没有办法让emacs像shell一样尊重ruby​​的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el

  5. ruby-on-rails - 事件管理员日期过滤器日期格式自定义 - 2

    是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s

  6. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  7. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  8. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

  9. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  10. ruby - (Ruby || Python) 窗口管理器 - 2

    我想用这两种语言中的任何一种(最好是ruby​​)制作一个窗口管理器。老实说,除了我需要加载某种X模块外,我不知道从哪里开始。因此,如果有人有线索,如果您能指出正确的方向,那就太好了。谢谢 最佳答案 XCB,X的下一代API使用XML格式定义X协议(protocol),并使用脚本生成特定语言绑定(bind)。它在概念上与SWIG类似,只是它描述的不是CAPI,而是X协议(protocol)。目前,C和Python存在绑定(bind)。理论上,Ruby端口只是编写一个从XML协议(protocol)定义语言到Ruby的翻译器的问题。生

随机推荐