1 第三方告警接入

1.1  简介

Open-C3提供了一系列的告警指标采集,监控告警,同时有“当前告警”页面可以查看当前正在发生的告警。但是,我们总会有其他没有容纳到系统中的告警,又不方便采集监控指标。所以Open-C3添加了回调接口,允许第三方告警平台把监控告警信息发送给Open-C3,由Open-C3系统来进行通知和统一展示。

1.2  借助人工智能解决告警内容统一的问题

Open-C3在收到第三方平台发送过来的告警,需要做识别处理。第三方平台发送过来的内容格式可能千变万化。Open-C3需要在一条告警内容里面识别出来,当前这个告警的对象、告警的名称、当前消息是告警恢复还是告警发生。还有一些辅助的信息。然后根据订阅情况进行消息推送,推送告警内容如下。

Open-C3识别告警内容的一个更主要的用途是要把它展示在“当前告警”页面。所以当告警源源不断的回调到Open-C3时,Open-C3会根据识别出来的内容进行标记和消除,从而可以达到在“当前告警”页面只展示现在还没有恢复的告警。所以准确的识别回调的内容就尤为重要。

在没有IA之前,我们通过格式匹配的方式。这样每次有新的告警格式,都需要进行一次编码和匹配。

Open-C3当前使用的是AWS的bedrock服务进行告警内容识别。

需要在下面文件中配置bedrock服务的aksk和region。

# cat /data/open-c3-data/sysctl.conf|grep bedrock
sys.mai.bedrock.ak: xxxx
sys.mai.bedrock.region: us-east-1
sys.mai.bedrock.sk: xxxx

当然,如果你没有benrock服务,又需要识别第三方告警内容的话,需要实现一个类似代码中 c3mc-mai-bedrock 这个功能。

1.3  配置

配置回调

这里以华为云为例,在华为云SMN中配置

 

回调的地址为 http://open-c3网址/api/ci/exmesg/huawei_rds?group=huawei_report

回调的地址为 http://open-c3网址/api/ci/exmesg/消息处理方式?group=告警组

例:回调的地址为 http://open-c3网址/api/ci/exmesg/huawei_rds?group=huawei_report

注: 消息处理方式是代码中的一个处理逻辑,如果使用的消息处理方式为定义,会使用默认的处理方式。Open-C3当前只有一个默认的处理方式,也就是前面说的用AI来处理。所以这里写什么字符串都可以。

配置告警组

 

在Open-C3上配置同名的告警组。并把成员添加到告警组中。

1.4  总结

有了报警接入的功能,我们可以把基础所有的告警统一到当前告警页面中进行展示和管理。