腾讯云可观测平台服务提供了完整的监控数据采集获取,数据计算聚合,可视化数据展示,告警判定收敛,及告警分发与通道触达等能力。
现腾讯云可观测平台自定义消息将告警通道能力产品化独立开放,面向业务监控告警场景,为自有服务和自建监控系统提供告警分发与通道能力。助力客户快速构建打通告警消息推送渠道。
自定义消息面向业务告警场景提供了以下功能:
腾讯云可观测平台自定义消息以消息策略为告警信息接收与分发推送中枢,消息策略有全局唯一 ID 标识。告警信息通过提供对应消息策略 ID 实现信息分发至各消息策略,消息策略再根据订阅关系和告警渠道完成告警消息触达接收人。
腾讯云可观测平台自定义消息支持两种调用方式为客户提供告警通道服务。
创建、配置、编辑和删除消息策略。
调用 API 与使用监控组件命令行工具发送信息至自定义消息服务。
注意:cagent_tools 仅适用于腾讯云中使用系统镜像创建的云服务器。
cagent_tools
结果如下图:
3. 调用命令指定策略 ID 和内容推送告警内容。执行以下命令:
cagent_tools alarm ‘$告警内容’ cm-xxxxxxxx(策略ID)
注意:
- 中文告警内容目前仅支持 utf-8 编码格式。
- 告警内容最大长度为256字节, 超出部分会截断。
- 成功发送告警信息,命令行提示"send alarm OK!",进程执行返回码为0;若发送告警信息失败,命令行提示相应错误,进程执行返回码为非0。
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
cagent_tools
结果如下:
3. 调用命令指定策略 ID 和内容推送告警内容,执行以下命令:
cagent_tools alarm "$告警内容" cm-xxxxxxxx(策略ID)
4. 附使用案例。
@echo off
set service_name=StargateSvc
sc query %service_name% > nul
if not %errorlevel% == 0 (
cagent_tools alarm "service %service_name% didn't exist" cm-xxxxxxxx(policyId)
)
注意:
- 中文告警内容目前支持 UTF-8 和 GBK 编码格式。
- 告警内容显示最大长度为256 字节, 超出部分会截断。
- 成功发送告警信息,命令行提示"send alarm OK!",进程执行返回码为0;若发送告警信息失败,命令行提示相应错误,进程执行返回码为非0。
本页内容是否解决了您的问题?