Skip to content

统一告警

3.3.1

1.版本号

旧版本新版本发版时间
3.2.03.3.12022年12月30日

2.新特性

3.表结构变化

3.2.0

1.版本号

旧版本新版本发版时间
3.1.03.2.02022年9月30日

2.新特性

2.1 告警集成

告警集成/日志告警,增加日志告警集成。

**说明:数据源地址可以添加多个,输入需要接入的Elasticsearch地址,在创建策略时,选择哪个集成则表明日志数据在哪个地址;需要输入Elasticsearch索引及用户名密码 **

添加成功后活跃度默认为就绪,状态为停用

说明:告警集成状态为启用时,不允许修改,不允许更新秘钥;

2.2 日志告警

创建日志告警

支持添加多个日志告警规则

告警数据--原始数据/告警历史,支持原始日志内容查看

2.3 通知流水

告警数据--通知流水 增加通知流水查看功能。

3.表结构变化

  1. 新增日志规则表:STRATEGY_ALERT_RULE_LOG

  2. 告警集成表增加字段: INDEX_ES、ES_USERNAME、ES_PASSWORD

3.1.0

1.版本号

旧版本新版本发版时间
3.0.13.1.02022年6月30日

2.新特性

2.1 内容模板

​ 告警规则/内容模板,增加定义内容模板信息,主要涉及短信、邮件、钉钉、企业微信内容模板等。

​ 维护好内容模板后,在新建告警通知时,直接应用此模板即可:

2.2 变量模板

​ 系统配置/变量模板,用于定义告警变量模板,在新增告警变量时,可引用此模板。

​ 在新增告警变量时,可引用此模板。

3.配置

​ 1.索引前缀定义:

yaml
spring:
  elasticsearch:
    rest:
      uris: http://192.168.233.20:9200
      read-timeout: 3000
      connection-timeout: 3000
      multi-threaded: true
      username:
      password:
    batch-write-number: 800
    batch-time-out: 1m
    data-aging-cycle: 15d  # 仅仅支持 d  天
    # 索引前缀定义
    index-prefix: fat-oracle

​ 2. 中心定义

yaml
alert:
  group:
    group-wait: 3s # group init 状态等待通知时间
    group-interval: 1m # group add 状态等待时间
    repeat-interval: 3m # group cycle 状态等待时间
  load-balance: alert.fat.dc01.galaxy.com:9093
  multi-tenant: true #多租户数据隔离开关
  # 中心定义
  data-center: dc01

​ 3.鉴权

yaml
security:
  oauth2:
    resource:
      id: auth-service
      #Oauth 鉴权地址,必须配置
      user-info-uri: http://192.168.233.20:8085/oms/uaa/user/auth
      prefer-token-info: false
auth:
  #  纵向越权校验路径,必须配置
  checkUrl: http://192.168.233.20:8085/oms/uaa/user/auth/check

4.表结构变化

  1. 新增变量模板表:alert_variable_template
  2. 新增内容模板表: notify_template、notify_template_field

3.0.1

1.版本号

旧版本新版本发版时间
3.0.03.0.12022年3月31日

2.使用手册

2.1 首页

​ 该模块展示告警平台整体告警的概况,包括各个项目的告警数、最新的告警事件概况展示以及根据告警级别、状态和是否被处理等分类信息。

2.2 项目管理

​ 该模块为一个抽象概念,主要用于数据隔离。本平台所有的策略、规则以及告警变量等设置都基于项目创建,从而根据项目进行隔离,同时项目与租户、环境和中心绑定,也可根据租户做数据隔离。

​ **说明:**是否开启租户隔离在配置文件中有相应的开关:

​ unify-alert下src/main/resources/application-fat.yml

yaml
alert:
  multi-tenant: false**#多租户数据隔离开关,默认关闭
2.2.1 添加项目

说明:项目名称全局唯一;添加项目时,与当前登录的环境、中心和租户绑定;

2.2.2 项目列表

2.2.3 修改项目

说明:项目名称全局唯一;

2.2.4 删除项目

说明:项目被使用时不可以删除;

2.3 告警集成

​ 该模块提供对自定义应用、第三方工具prometheus与统一告警平台的对接配置,可以将自定义数据和prometheus告警数据上传至统一告警平台且可以通过该模块维护prometheus地址以便告警规则下发。

2.3.1 自定义告警集成
2.3.1.1 添加自定义告警集成
  • **手动恢复:**需要人为手动在页面或者发送接口的方式进行手动恢复;
  • 自动恢复:在指定时间内没有上报告警则认为告警恢复,配合超时时间一起使用;

添加成功后活跃度默认为就绪,状态为停用

2.3.1.2 修改自定义告警集成

说明:告警集成状态为启用时,不允许修改,不允许更新秘钥;

2.3.2 prometheus告警集成
2.3.2.1 添加prometheus告警集成

​ **说明:引擎地址可以添加多个,输入需要接入的alert-prometheus地址,在创建策略时,选择哪个集成则把相应的规则下发至集成绑定的alert-prometheus上; **

添加成功后活跃度默认为就绪,状态为停用

2.3.2.1 修改prometheus告警集成

说明:告警集成状态为启用时,不允许修改,不允许更新秘钥;

2.3.3 告警集成列表

说明:可以根据项目筛选集成数据;

2.3.4 启动告警集成

说明:只是更新集成状态,表名当前集成已配置完成,集成可用;

2.3.5 停用告警集成

说明:集成状态为停用时,才可以修改和编辑集成信息;

2.3.6 更新秘钥

秘钥的作用:当自定义或prometheus的告警数据上送至统一告警平台时,需要根据集成秘钥绑定对应的告警集成;

2.3.7 删除告警集成

说明:当集成状态为停用时,才可以删除告警集成;

2.4 告警规则

2.4.1 告警升级

​ 该功能用于在某告警事件达到某条件还未被处理则会触发告警升级策略来进行更高级别的消息通知。

2.4.1.1 新增告警升级

**说明:当某个告警在5分钟内未解决时,通过选中的通知方式,在指定的通知时段内发送至选中的通知人/组;**升级策略可以添加多个;

2.4.1.2 告警升级列表

2.4.1.3 修改告警升级

2.4.1.4 删除告警升级

说明:当告警升级正在被通知规则使用时,不能被删除;

2.4.2 告警通知

​ 该模块实现对告警数据上报平台后进行通知规则的定义;

2.4.2.1 新增告警通知

​ **说明:告警通知可以在选择的对应的类型 时触发通知规则;通知规则根据项目做数据隔离,可以选择是否绑定之前已经创建了的升级通知,也可将通知数据发送至接口调用所填的接口地址,接口以jsonobject接参; **

2.4.2.2 告警通知列表

2.4.2.3 告警变量生效

说明:表明此告警变量可以被使用,只是一个状态的表示;

2.4.2.4 修改告警通知

2.4.2.5 删除告警通知

说明:通知规则与告警策略关联时,不允许删除;

2.4.2.6 告警通知详情

2.4.3 告警变量

​ 告警变量主要用于在promQL语句中放入指定的IP或实例名称等具体的监控对象信息,从而获取更具体的告警数据;

2.4.3.1 新增告警变量

说明:可根据需要填写相应的正则表达式对结果进行过滤;

2.4.3.2 告警变量列表

2.4.3.3 修改告警变量

说明:告警变量状态为未生效时,才可以修改;

2.4.3.4 删除告警变量

说明:告警变量生效时不允许被删除;

2.4.4 告警策略

该模块实现对prometheus告警规则的定制、下发、同步、一致性检测,以及告警规则关联的告警引擎、告警通知且该模块下发的告警规则通过alert-prometheus进行接收并生效于关联的告警prometheus引擎,且prometheus将告警数据上报至统一告警平台后根据关联的告警通知进行告警处理。

2.4.4.1 添加告警策略
  • 当告警引擎是prometheus及log时,必须添加告警规则;当告警有引擎是custom时,则可以不添加告警规则;
  • 添加抑制规则时,必须添加告警分组规则;
  • 告警策略所需要绑定的告警集成、告警通知和告警对象都是通过项目做数据隔离;

2.4.4.2 告警策略列表

2.4.4.3 修改告警策略

说明:当策略启动时,不允许编辑;

2.4.4.4 删除告警策略
  1. 当告警策略启用时,不允许删除策略

2.4.4.5 启用告警策略

说明:将策略下发至策略中绑定的prometheus中;

2.4.4.6 停用告警策略

说明:将下发至prometheus中的策略删除

2.4.4.7 告警策略详情

​ **说明:策略key是策略创建时系统自动生成的一个秘钥,主要用于自定义或prometheus产生的告警数据上送至统一告警时,绑定相应的策略;策略启动后,不允许更新秘钥; **

​ 详情中的启动策略或停止策略与列表页面的操作按钮功能一致;

2.5 告警数据

2.5.1 告警历史
  • 用于展示告警历史数据,包括多条件高级查询,及自定义数据展示;

  • 提供对告警历史数据的管理,其中包括自定义应用告警数据接入、prometheus告警数据接入的历史数据、针对已恢复的告警历史数据可逻辑删除并备份全量关联关系供后续告警统计使用。

2.5.1.1 告警历史列表

说明:在当告警恢复后,可删除当前告警历史信息;

2.5.1.2 告警历史自定义列表

说明:可以选择相应的列,在列表中展示;

2.5.2 原始数据

​ 基于ES存储告警原始数据,针对原始数据会判断其合法性,并统计其和法率,以便安全控制;

2.6 系统配置

​ 告警联系人、字典管理、指标类别和promQL作为系统配置数据,不根据项目做数据隔离;

2.6.1 告警联系人
2.6.1.1 添加联系人

2.6.1.2 联系人列表

2.6.1.3 修改联系人

2.6.1.4 删除联系人
  • 联系人如果被告警联系人组引用,不允许删除;
  • 联系人如果被告警接收数据引用,不允许删除;
  • 联系人如果被通知规则数据引用,不允许删除;

2.6.2 告警联系人组
2.6.2.1 添加联系人组

2.6.1.2 联系人列表组

2.6.1.3 修改联系人组

2.6.1.4 删除联系人组
  • 联系人组如果被通知规则数据引用,不允许删除;

2.6.2 字典管理
2.6.2.1 添加字典

2.6.2.2 字典列表

2.6.2.3 修改字典

2.6.2.4 删除字典

说明:字典数据作为初始化数据导入数据库中,前20条数据不允许删除;

2.6.3 指标类别
2.6.3.1 添加指标

2.6.3.2 指标列表

2.6.3.3 修改指标

2.6.3.4 添加下级指标

2.6.3.5 删除指标

说明:当需要删除的指标存在下级指标或者有绑定的promeQL时,不允许删除;

2.6.4 promQL
2.6.4.1 添加promQL

说明:表达式提供promQL格式校验功能;

2.6.4.2promQL列表

2.6.4.3 修改promQL

2.6.4.4 删除promQL

2.7 多租户数据隔离

根据租户、环境和中心隔离项目,所有的告警信息根据项目隔离;

3 接口变化

自定义集成接口

prometheus集成接口

4 配置说明

以下配置只展示有关联关系的配置文件,并说明;

2.3.1 unify_alert配置

​ application-fat.yml

2.3.2 alert_prometheus 配置

application.yml

2.3.3 prometheus配置

prometheus.yml

5 告警通知集成配置

5.1 邮件
5.1.1 获取配置参数

​ 主要是获取客户端授权码:

​ 163邮箱:

​ QQ邮箱

5.1.2 配置文件
  • QQ邮箱:host配置:smtp.com
  • 163邮箱:smtp.163.com
  • username配置邮箱地址,
  • password配置客户端授权码
  • from配置和username配置保持一致

​ 具体如下图所示:

5.1.3 告警平台配置

​ 用户使用统一告警平台时,在创建联系人页面添加企业email账号,创建告警通知时选择该联系人并勾选邮件即可。

5.2 企业微信
5.2.1 获取配置参数

​ 首先企业微信管理员需要去企业微信管理后台获取3个配置参数,缺一不可。

  1. 获取企业ID

  2. 在应用管理页面进入应用获取 应用id(agentID)和管理组的CorpSecret

5.2.2 配置文件

​ 获取到以上三个配置参数后,在统一告警平台的application.yml文件中配置,同时需要将isEnable配置为true

5.2.3 告警平台配置

​ 用户使用统一告警平台时,在创建联系人页面添加企业微信账号,创建告警通知时选择该联系人并勾选企业微信即可。

注意:如果有用户收不到信息可以在应用管理界面查看告警接收者是否在‘可见范围’里,如果不在,添加即可。

5.3 钉钉
5.3.1 获取配置参数
  1. 集成钉钉,首先需要获取钉钉群的token,具体流程如下图:

    ![](/images/oms/img/3.0.1/钉钉配置1.png />

    ![](/images/oms/img/3.0.1/钉钉配置2.png />

    ![](/images/oms/img/3.0.1/钉钉配置3.png />

    ![](/images/oms/img/3.0.1/钉钉配置4.png />

    注意:此处仅需要=号后的token即可。

    ![](/images/oms/img/3.0.1/钉钉配置5.png />

  2. 在机器人设置--->安全设置里 将加签对勾去掉,同时自定义关键字里配置“告警”,最后保存配置即可。

![](/images/oms/img/3.0.1/钉钉配置6.png />

5.3.2 配置文件
  • application.yml配置

​ 配置钉钉群的地址,并将isEnable配置为true

5.3.3 告警平台配置

​ 用户使用统一告警平台时,在创建联系人页面添加钉钉,创建告警通知时选择该联系人并勾选钉钉即可。

5.4 短信
5.4.1 注册账号
5.4.2 设置签名

5.4.3 配置参数获取

5.4.4 配置文件

​ 主要是配置短信服务器地址:http://gbk.api.smschinese.cn

​ 用户账号、密钥。同时将isEnable设置为true

5.4.5 告警平台使用

​ 用户使用统一告警平台时,在创建联系人页面添加手机号,创建告警通知时选择该联系人并勾选短信即可。

6 整体流程

  1. 项目管理菜单中创建项目;
  2. 告警联系人菜单中添加需要通知的联系人或者联系人组;
  3. 如果有需要升级通知,则在告警升级菜单中添加告警升级信息,绑定升级通知时需要被通知的联系人或联系人组;(非必须)
  4. 告警集成菜单中添加告警引擎;(当引擎为prometheus时,地址为:alert-prometheus所在IP和端口)
  5. 告警变量菜单中添加告警变量信息;(更具体化告警规则)
  6. 告警通知菜单中添加通知规则,并绑定需要通知的联系人或联系人组;
  7. 告警策略菜单中创建策略信息,并绑定项目告警通知告警集成等规则;(生效需要的告警变量,否则无法展示)
  8. 启动
    1. 告警集成启动
    2. 告警变量生效
    3. 告警策略生效
  9. 触发告警后,在告警历史原始数据菜单中可以看到相应的告警信息;