Skip to content
On this page

概述

运维预警中心主要是针对业务系统中定时执行的任务(如:数据同步等)、服务等进行监控,确保定时任务是否正常执行,服务是否运行正常,当触发预警条件时,运维预警中心会根据配置预警的对象进行预警。

背景

业务系统本身有比较多的定时任务来执行处理业务,再加上目前采用的微服务架构使系统要运行的服务增多,另外与第三方系统交互非常频繁,在如此多非人机交互的场景下,靠运维人员每天人工监控是否正常的话,工作难道、工作量都非常大,很难保证及时发现异常情况,为了保证业务系统稳健运行,提升客户的良好体验,因此研发运维预警中心,当触发设定好的预警条件时,及时通过消息中心平台向运维人员进行预警,及时进行人工干预,做到在客户发现问题前先发现问题,先处理好问题。

功能

运维预警中心可以对接各个业务系统,支持扫描业务系统数据库表、调用业务系统预警API等方式来发现异常情况,同时在消息中心的配合下,实现运维预警。

系统架构图

系统架构图

  1. 新建运维预警,需要配置业务系统APIDB地址作为数据源。
  2. 配置好数据源之后,点击获取测试数据按钮,获取测试数据
    根据测试数据配置预警数据计算公式。PS:健康检测模式下无需配置
  3. 根据测试数据同时还要去消息中心配置对应模板。配置好模板之后,拿到模板ID,写入运维预警中。PS:消息中心模板配置参考,消息中心的文档。
  4. 配置Cron表达式,具体编写可使用 使用第三方网站生成。

业务流程图

创建预警模板类型

预警模板创建

创建预警模板

预警模板创建

业务实现逻辑

  1. 通过主定时任务(Schedule),该任务的触发器(Trigger)为系统配置Cron表达式定时扫预警模板表。[PS:目前系统配置的Cron为每分钟10分钟执行一次。]
  2. 获取可用模板信息,创建子定时任务(Schedule),子任务的触发器(Trigger)执行时间,则为预警模板中的配置Cron表达式。
  3. 子定时任务(Schedule)通过预警模板表信息,判断数据源类型。根据不同的数据源类型,调用不同的方法获得的Json数据
  4. 获取失败,则会判断是否健康检测,为时。则会推送预警消息,根据预警模板中指定的消息中心模板推送到消息中心。 推送数据格式如下:
Json
{
 "templateName": "成都合生汇API",//预警模板名称
 "errorMsg": "Not Found"//错误信息
}
  1. 获得Json数据成功后,将存入预警数据表。通过视图引擎,对预警模板计算公式,与Json数据进行计算获取布尔值
  2. 结果为true时为触发预警,更新预警数据表中的是否预警状态已经预警。并会推送预警消息,根据预警模板中指定的消息中心模板推送到消息中心。 推送数据则为数据源中获取的Json数据
  3. 结果为false时不触发预警,更新预警数据表中的是否预警状态不预警,流程结束。
  4. 推送预警消息成功之后,更新预警数据表中的是否已推送已推送

功能列表

用户端菜单名称功能
PC端预警模板列表查询、重置
PC端预警模板列表创建预警模板
PC端预警模板列表发布/停用、编辑、删除、预览

设计文档

原型设计

蓝湖地址(有原型和UI):暂无

数据库设计

表关系图 开发库:OpsWarning
测试库:OpsWarning_Test

代码地址

后端API接口(Services-DevopsServer)

操作手册