在 V2.3.0 版本的 OCP 部署完成后,用户需要在 OCP 配置告警通道并完成订阅后,才能通过设置通道接收到告警。

操作步骤

  1. 登录 OCP。
  2. 单击左导航栏告警
  3. 单击告警通道操作列可对这些通道进行查看、编辑、删除操作,其中默认通道不可删除且需要经过配置才能使用。

告警通道.jpg

  1. 单击新建通道。在页面中填写通道名称、接收人字段、通道类型、是否群消息通道等信息。

image.png

其中:

  • 接收人字段:默认选择 用户 ID
  • 通道类型:如果希望告警消息直接通过钉钉/短信/电话网关等服务发送(需确保 OCP 服务所在网络能发送消息至钉钉/电话网关等外部服务网络),则推荐选择 HTTP 类型。

如果消息无法通过 HTTP 的方式配置或者对告警格式有特殊要求的场景下,可以选择 自定义脚本 类型。

  • 自定义脚本:用户可以在脚本中定制一些特殊的格式,例如:告警时间的转换,对第三方的告警网关的默认参数的添加等,均可以通过自定义脚本通道来实现;如下面的脚本中使用告警通道告警模板中代表告警内容的变量message(由下图中聚合消息模板中的内容组合构成),使用变量 ${message} 将其代入脚本中,最终实现钉钉发送的需求;实际编写时可根据具体需要,添加并需要重定义的功能变量,例如,告警时间 ${alarm_active_at}
  • 自定义脚本示例
  1. #!/bin/sh
  2. if [ $# != 2 ] ;then
  3. echo "USAGE: ./$0 <receiver> <message>"
  4. exit 255;
  5. fi
  6. receiver=${1}
  7. message=${2}
  8. function send(){
  9. URL="https://oapi.dingtalk.com/robot/send?access_token=da81ac1b0ce542a5a19d19edc92df91232bdde44e92eed9d9e002522d45bb1a1"
  10. curl -X POST ${URL} -H 'Content-Type: application/json' -H 'OCP-OPS: AK' -d '{"msgtype":"text","text":{"content":"'"${message}"'"}}'
  11. }
  12. send
  • 是否为群消息通道选项:如果是群消息通道,那么当无人订阅时,系统也会推送通知,默认选是;
  1. 填写完成单击下一步进入通知内容配置界面。

告警消息模板.jpg

  • 告警消息模板:通常情况下保持默认即可,如有模板定制要求,可在告警消息模板中进行编辑定义。
  • 告警消息聚合:建议打开,可以避免在告警时出现告警风暴,规则默认即可,这里的聚合规则可在完成新建后从告警通道进行再编辑。

注意

  • 首次聚合等待时间代表消息正式发送前的等待时间,告警消息会等待该时间长度后聚合发送同类告警;
  • 消息聚合间隔代表同类告警发出之后,又出现内容不同的同类告警新消息时,则等待该时间长度后聚合发送告警;
  • 相同告警重复发送间隔代表在此时间长度后如果内容完全相同的告警仍未消除,则等待该时间长度后发出重复告警。
  1. 完成填写后单击下一步,进入通道配置界面。

发送测试消息.jpg

  • 请求方法默认选择 POST,代理按需填写;
  • URL 模板

  • 默认钉钉群消息为钉钉机器人Webhook连接,获取方式可参考钉钉官方文档:https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq/26eaddd5

  • 短信消息模板默认为:http://短信服务地址:8080/services/SendMonitorMsg?Action=SendMonitorMsg&type=sms&to_user=${receiver}&content=${message}
  • 电话消息默认默认为:http://电话服务地址:8080/services/SendMonitorMsg?Action=SendMonitorMsg&type=ivr&to_user=${receiver}&content=${message}

  • Header 模板Content-Type:application/json; charset=utf-8

  • Body 模板
  1. {
  2. "msgtype": "text",
  3. "text": {
  4. "content": ${message_json}
  5. }
  6. }
  1. 完成填写配置后,单击发送测试消息,可以发送测试消息,验证通道配置是否正确。单击提交,完成告警通道新建。

可选择的告警消息样例如下表所示。

参数

字段

应用类型app_type
告警类型alarm_type
告警对象alarm_target
范围alarm_scope
告警级别alarm_level
告警评估间隔(秒)alarm_evaluation_interval
持续时长(秒alarm_duration
告警状态alarm_status
告警触发时间alarm_active_at
告警消除时间alarm_resolved_at
持续时长(秒)alarm_last_interval
告警名称alarm_name
指标值value
告警阈值alarm_threshold
告警更新时间alarm_updated_at
告警概述alarm_summary
告警详情alarm_description
告警等级对应的颜色alarm_level_color
告警 IDalarm_id
告警在 OCP 站点的访问 URLalarm_url
服务名service
OB 集群组ob_cluster_group
OB 集群ob_cluster
OB 租户ob_tenant
主机 IPhost_ip
应用集群app_cluster

告警模板中变量的如下表所示。

类别

名称

描述

告警规则

app_type

应用类

告警规则

alarm_type

告警

告警规则

alarm_target

告警

告警规则

alarm_scope

告警规则

alarm_level

告警级别

告警规则

alarm_evaluation_interval

告警隔(秒)

告警规则

alarm_duration

续时长(秒)

告警规则

alarm_status

告警状

告警规则

alarm_active_at

告警触发时间

告警规则

alarm_resolved_at

告警消除时间

告警规则

alarm_last_interval

续时长(秒)

告警规则

alarm_name

告警名称

告警规则

value

标值

告警规则

alarm_threshold

告警阈值

告警规则

alarm_updated_at

告警更新时间

告警规则

service

告警规则

ob_cluster_group

OceanBase 集群

告警规则

ob_cluster

OceanBase 集群

告警规则

ob_tenant

OceanBase 数据库

告警规则

host_ip

主机IP

告警规则

app_cluster

应用集

通知消息

app_type

应用类

通知消息

alarm_type

告警

通知消息

alarm_target

告警

通知消息

alarm_scope

通知消息

alarm_level

告警级别

通知消息

alarm_evaluation_interval

告警隔(秒)

通知消息

alarm_duration

续时长(秒)

通知消息

alarm_status

告警状

通知消息

alarm_active_at

告警触发时间

通知消息

alarm_resolved_at

告警消除时间

通知消息

alarm_last_interval

续时长(秒)

通知消息

alarm_name

告警名称

通知消息

value

标值

通知消息

alarm_threshold

告警阈值

通知消息

alarm_updated_at

告警更新时间

通知消息

alarm_summary

告警概述

通知消息

alarm_description

告警

通知消息

alarm_level_color

告警等级对应

通知消息

alarm_id

告警 ID

通知消息

alarm_url

告警在 OCP 站点的访问 URL

通知消息

service

通知消息

ob_cluster_group

OceanBase 集群

通知消息

ob_cluster

OceanBase 集群

通知消息

ob_tenant

OceanBase 数据库

通知消息

host_ip

主机 IP

通知消息

app_cluster

应用集

聚合消息

app_type

应用类

聚合消息

alarm_type

告警

聚合消息

alarm_target

告警

聚合消息

alarm_scope

聚合消息

alarm_level

告警级别

聚合消息

alarm_evaluation_interval

告警隔(秒)

聚合消息

alarm_duration

续时长(秒)

聚合消息

alarm_status

告警状

聚合消息

alarm_active_at

告警触发时间

聚合消息

alarm_resolved_at

告警消除时间

聚合消息

alarm_last_interval

续时长(秒)

聚合消息

alarm_name

告警名称

聚合消息

value

标值

聚合消息

alarm_threshold

告警阈值

聚合消息

alarm_updated_at

告警更新时间

聚合消息

alarm_summary

告警概述

聚合消息

alarm_description

告警

聚合消息

alarm_level_color

告警等级对应

聚合消息

alarm_id

告警 ID

聚合消息

service

聚合消息

ob_cluster_group

OceanBase 集群

聚合消息

ob_cluster

OceanBase 集群

聚合消息

ob_tenant

OceanBase 

聚合消息

host_ip

主机IP

聚合消息

app_cluster

应用集

聚合消息

alarm_group_by

告警聚合分

聚合消息

alarm_count

告警数量

通道配置

app_type

应用类

通道配置

alarm_type

告警

通道配置

alarm_target

告警

通道配置

alarm_scope

通道配置

alarm_level

告警级别

通道配置

alarm_name

告警名称

通道配置

alarm_summary

告警概述

通道配置

alarm_description

告警

通道配置

service

通道配置

ob_cluster_group

OceanBase 集群

通道配置

ob_cluster

OceanBase 集群

通道配置

ob_tenant

OceanBase 数据库

通道配置

host_ip

主机 IP

通道配置

app_cluster

应用集

通道配置

message

消息(由消息模板或聚合消息模板生成)

通道配置

message_json

消息 json 字符串(message 值的 json 格式)

通道配置

recipients_uids

接收人用户 ID 列表,逗号分隔形式

通道配置

at_recipients

@接收人列表

通道配置

recipients_json_array

接收人列表 json ,用于钉钉群消息 @接收人