自定义消息

最近更新时间: 2019-11-30 16:00:30

监控服务提供了完整的监控数据采集获取,数据计算聚合,可视化数据展示,告警判定收敛,及告警分发与通道触达等能力。

现云监控自定义消息将告警通道能力产品化独立开放,面向业务监控告警场景,为自有服务和自建监控系统提供告警分发与通道能力。助力客户快速构建打通告警消息推送渠道。

1.功能

自定义消息面向业务告警场景提供了以下功能:

• 告警分发:通过配置管理不同的消息策略,将从属不同模块和资源的告警推送至对应消息策略,实现告警信息的分发。

• 告警订阅:消息策略可配置接收组实现对应告警信息的订阅。

• 告警渠道:支持对消息策略配置告警渠道,免配置的接收组内接收人使用对应渠道推送告警信息。

• 告警历史查看检索:对应消息策略可以查看历史推送的告警信息,并支持对告警内容关键字进行搜索。

2.场景

• 自定义业务告警推送:自建监控系统,告警通过特定告警渠道推送至对应接收人

• 服务重要信息及时触达:特定服务状态与异常发生时及时推送开发者,无需监控、日志系统对接与告警策略配置。

3.原理与调用方式

云监控自定义消息以消息策略为告警信息接收与分发推送中枢,消息策略有全局唯一ID标识。告警信息通过提供对应消息策略ID实现信息分发至各消息策略,消息策略再根据起订阅关系和告警渠道完成告警消息触达接收人。

云监控自定义消息支持两种调用方式为客户提供告警通道服务。

• API:使用发送自定义消息内容api,传递指定消息策略ID与告警内容,将告警信息推送至对应消息策略。查看自定义消息发送调用API。

• 监控组件:在已安装云监控监控组件监控组件的CVM中,可直接使用提供的命令行发送工具【cagent_tools】,调用相应命令指定策略ID和内容,并在告警时发送相关内容。

4.操作指南

消息策略创建与管理

创建、配置、编辑和删除消息策略。

1) 登录控制台,单击导航条【云监控】,进入云监控控制台。

2) 单击左侧导航栏中【我的告警】-【自定义消息】 进入自定义消息页面。

3)(可选)单击【新建消息策略】按钮,填写消息策略名称,选择消息接收组和勾选对应告警渠道。单击【完成】按钮完成策略创建。

4)(可选)单击特定消息策略操作栏【编辑】按钮,对策略名称,消息接收组和告警渠道进行修改。单击【完成】按钮完成策略修改。

4)(可选)单击特定消息策略操作栏【删除】按钮,单击二次确认弹窗里的【确定】按钮完成策略删除。

告警信息调用推送

调用API与使用监控组件命令行工具发送信息至自定义消息服务。

1) 通过登陆登录【控制台】自定义消息页面 获取对应告警分发目的策略的策略ID。

2)(可选)【方式一】通过调用发送自定义消息内容api,传递指定消息策略ID与告警内容至对应消息策略。查看自定义消息发送调用API。

3)(可选)【方式二】通过使用监控组件提供的命令行发送工具【cagent_tools】,调用命令指定策略ID和内容,推送告警信息至对应消息策略。

注:

cagent_tools 仅适用于中使用系统镜像创建的云服务器。

示例 linux系统使用cagent_tools

1) 安装 Linux 监控组件,安装方法见安装监控控件。

2) 查看工具帮助

直接执行以下命令,查看帮助信息:

cagent_tools

结果如下图:

3) 调用命令指定策略ID和内容推送告警内容

按以下命令行执行:

cagent_tools alarm ‘$告警内容’ cm-xxxxxxxx(策略ID)

注:

• 中文告警内容目前仅支持 utf-8 编码格式。0。

• 告警内容最大长度为 256 字节, 超出部分会截断。

• 成功发送告警信息,命令行提示"send alarm OK!",进程执行返回码为 0;若发送告警信息失败,命令行提示相应错误,进程执行返回码为非

4) 附使用案例

PHP示例:

$link = mysql_connect('192.168.0.2', 'mysql_user', 'mysql_password');
if (!$link) {
 //alarm content
  $alarmContent = " Connection failed ";
  $cmd = “cagent_tools alarm $alarmContent cm-xxxxxxxx(policyId)”; 
system($cmd);
die('Could not connect: ' . mysql_error());
}
Shell示例:
#!/bin/sh
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:$PATH
CAGENT_CMD = /usr/bin/cagent_tools
cnt=$(ps -ef | grep mysqld | grep -v grep | wc -l)
if [ $cnt -eq 0 ] ; then
# alarm content 
    cagent_tools alarm "the process mysqld died." cm-xxxxxxxx(policyId)
fi

告警历史查看与检索

查看与检索告警历史内容。

1) 登录控制台,单击导航条【云监控】,进入云监控控制台。

2) 单击左侧导航栏中【我的告警】-【自定义消息】 进入自定义消息页面。

3) 单击对应策略近24小时触发告警数字,打开悬浮窗展示策略所发送所有告警信息内容,时间与调用方式。

4)(可选)在右上侧搜索框内输入告警消息内容关键字或者调用cagent_toolsCVM的内网ip,检索对应的告警记录。