告警自定义说明

目录


告警管理系统提供了告警的命令行发送工具(cloud alarm),开发者可以调用这个命令发送自己的告警。

1. 使用限制

(1)目前使用命令工具cloud_alarm发送告警的功能只适用于部署在CVM服务器的应用。
部署在CEE服务器的应用的自定义告警功能正在开发中,敬请期待。
(2)每个应用每天上报的自定义告警数不能超过10条,超过10条的告警接收不到。
(3)告警的接收,需要首先在管理中心的告警管理页面添加告警接收人和告警接收方式。添加方式详见告警接收人配置

2. 命令说明

自定义告警命令行如下:

DC_PATH=/usr/local/services/CloudDCAgent_L5-1.0/alarm
$DC_PATH/cloud_alarm appId content [-t timestamp] [-g groupName] [-o objName] [-c gbk]


命令说明如下:
$DC_PATH:命令cloud_alarm 所在的目录。
cloud_alarm:命令工具。

命令参数说明如下:

命令参数 是否必须 描述
appid 必须 应用的唯一标识,可以通过AppID查找APP基本信息。在调用OpenAPI的时候表明应用身份。

AppID在创建应用时分配,查看方式详见应用管理#2. 查看应用属性

content 必须 指定告警的内容。最长不超过128字节。

content为命令的第二个参数。

-t timestamp 指定告警发生的时间。

“timestamp”为整型,格式为UNIX时间戳。

-g groupName 指定告警分组的名称。

(用于告警的收敛,即为了防止短时间发送大量告警,对相同类型的告警进行合并,减少告警的数据。后续会支持告警收敛配置策略。)
“groupName”为字符串,可包含英文、数字、下划线,最长不超过64字节。

-o objName 指定告警对象的名称。

(用于告警的收敛,即为了防止短时间发送大量告警,对相同类型的告警进行合并,减少告警的数据。后续会支持告警收敛配置策略。)
“objName”为字符串,可包含英文、数字、下划线,最长不超过64字节。

-c gbk 告警内容默认支持utf-8格式,如果告警内容是gbk编码的,需使用该参数指定告警内容为gbk编码。

3. 使用示例

使用命令工具自定义告警示例如下(示例中的[YourAppid]需要填写应用的真实APPID):

$DC_PATH/cloud_alarm  [YourAppid] “this is a content”
$DC_PATH/cloud_alarm  [YourAppid] “this is another content”  -t 1345429622
$DC_PATH/cloud_alarm  [YourAppid] “这是一个utf8的告警”
$DC_PATH/cloud_alarm  [YourAppid] “这是一个gbk的告警”  -c gbk

4. 使用场景

1. 当程序中出现致命的错误时,可以在程序中调用命令发出告警。
如在php脚本中,连接后端的DB出现了故障,在程序中通过system函数调用命令将告警发出,如下所示:

$link = mysql_connect('192.168.0.2', 'mysql_user', 'mysql_password');
if (!$link) {
   $alarmContent = "登录程序login.php连接数据库失败";
   $cmd = "/usr/local/services/CloudDCAgent_L5-1.0/alarm/cloud_alarm 1234 $alarmContent";
   system($cmd);
   die('Could not connect: ' . mysql_error());
  }  


2. 当进程监控shell脚本发现自己的进程不存在的时候,可以在shell脚本中调用命令发送告警,如下所示:

DC_PATH=/usr/local/services/CloudDCAgent_L5-1.0/alarm
cnt=$(ps –ef |grep gameServer | grep –v | wc –l)
if (($cnt == 0))
then
   $DC_PATH/cloud_alarm 1234 “the process ‘gameServer’ died. ” –o 10.6.36.2
fi


3. 开发者自己对收集来的数据进行分析的时候,如流量掉底、在线人数下降、收入异常等情况,也可以通过调用cloud_alarm发送告警。

以上信息是否解决您的问题?

Copyright © 1998 - 2017 Tencent. All Rights Reserved.

腾讯公司 版权所有

有问必答 返回顶部