在互操作功能运行过程中,IRIS可以识别异常情况的发生,自动生成告警事件并通过预制的互操作组件将告警转发给干系人;另外,IRIS也内建了告警工作台,可供运维团队基于工作流实现对告警的管理。
告警设置与转发
Production告警设置
在Production级别可以设置对连接异常的告警设置,及告警组件设置
组件告警设置
- 控制何时触发警报。
- 队列计数警报。
- 队列中的信息数量
- 队列等待警报。
- 消息在队列中停留的秒数
- 不活动超时。
- 业务组件不活动的秒数
- 在v2012.1之前,不会触发告警
- 队列计数警报。
警报宽限期
-
- 与外部连接有关的错误可以有宽限期设置
- 设置重新建立连接的时间,超时且连接不成功才会发出告警
- 业务服务
- 警报宽限期
- 业务操作
- 再次发出警报宽限期
- 与外部连接有关的错误可以有宽限期设置
转发告警
-
- EnsLib.EMail.AlertOperation
- 内置告警转发组件
- 通过Email转发
- 内置告警转发组件
- 路由到其他接口转发
- REST - 短信
- REST - 钉钉
- 用户需要执行的规划
- 什么样的告警需要即时通知
- 告警的通知是否应该成为一个应用
- EnsLib.EMail.AlertOperation
包含告警组件的Production
包含告警组件与业务组件的Production形态如下
其中,用于告警的业务组件包括
告警托管
在互操作功能中产生的告警可以选择转发到第三方系统触发告警运维工作流,也可以在IRIS中进行托管,通过IRIS提供的较为简单的工作流定义实现对告警的统一存储及管理。
工作原理
-
- 告警管理BP
- 决定是否产生新的托管告警
- 可以设置告警的所有者
- 通知管理BP
- 决定如何发送告警
- 决定谁将收到通知
- 将告警通知发送到指定组件
- 告警监视BS(可选组件)
- 可以将过期告警升级
- 决定是否发出提醒
- 告警管理BP
典型的告警数据流如下
其中,告警数据产生后经过平台自动丰富,最终形成可供运维人员操作的托管告警
托管告警流程
告警处理流程可能的选择:
-
- 告警仅写入日志文件,没有自动通知。
- 一个简单的告警通知系统,所有告警都通过Email发给用户
- 根据告警类型和生成告警的组件,将选定告警通过路由发送给不同的用户
- 实现告警管理框架,用于发送告警通知、升级未解决的告警,并记录当前状态和为解决告警而采取的操作的历史记录
告警路由规则
在告警管理器中可以应用规则,通过路由规则来定义告警的流向。
-
- 来源
- 允许根据不同的故障组件采取不同的行动
- 消息类
- Ens.AlertRequest或无
- 目标
- 其他消息路由,用于进一步的路由
- 业务操作作为最终目标
- 可以通过数据转换根据传递目标定制告警
- 来源
托管告警管理
通过Ensemble > 监视器 > 我的托管警报可进入告警管理页
该功能基于IRIS自身的用户设置。告警责任人的分配、告警级别管理、后续操作时限等,都可以在该页上进行操作。
也可通过SQL查询和操作已产生的告警
对于需要自定义工作流的用户,也可以考虑在此基础上实现流程。
祝老师您好,请问系统级别的告警如何推送,就像系统日志中告警级别为2的日志。
Hi,
有两个办法:
1. 自己写代码扫描messages.log获得这些告警
2. 扩展平台内置的告警通知类,可以自定义传感器、消息订阅器和通知分发器,参见
https://docs.intersystems.com/irisforhealth20223/csp/docbook/DocBook.UI....
感谢祝老师的答复,第一种方法已经实现,我研究下第二种方法。